9403b3d7a3
Modules shared API: prevent unloading of used modules.
2018-12-20 17:57:43 +01:00
6bb8cdaebe
Modules shared API: unregister APIs function.
2018-12-20 17:57:40 +01:00
27f6e9bb9b
Modules shared API: initial core functions.
...
Based on ideas and code in PR #5560 by @MeirShpilraien.
2018-12-20 17:57:35 +01:00
850b64c116
Revert shared APIs to modify the design.
2018-12-20 17:56:38 +01:00
ab37289fa6
added module ability to register api to be used by other modules
2018-12-20 17:55:18 +01:00
503fd229e4
Cluster Manager: enable --cluster-replace also for 'fix' command.
2018-12-19 17:29:25 +01:00
cc29590188
Fixed memory leak in clusterManagerCompareKeysValues.
2018-12-18 18:45:10 +01:00
143bfa1e6e
Cluster Manager: compare key values after BUSYKEY error (migration).
...
If a key exists in the target node during a migration (BUSYKEY),
the value of the key on both nodes (source and target) will be compared.
If the key has the same value on both keys, the migration will be
automatically retried with the REPLACE argument in order to override
the target's key.
If the key has different values, the behaviour will depend on such
cases:
- In case of 'fix' command, the migration will stop and the user
will be warned to manually check the key(s).
- In other cases (ie. reshard), if the user launched the command
with the --cluster-replace option, the migration will be
retried with the REPLACE argument, elsewhere the migration will
stop and the user will be warned.
2018-12-18 17:45:35 +01:00
ed88f77d6d
Check server.verbosity in RM_LogRaw
2018-12-13 13:57:38 +01:00
d935cfcb89
Cluster Manager: avoid using reply error messages to check slot status.
...
Slot assignment status is now checked by using CLUSTER SLOTS.
Furthermore, one memory leak has been fixed.
2018-12-12 13:34:43 +01:00
129f2d2746
freeMemoryIfNeeded() small refactoring.
...
Related to issue #5686 and PR #5689 .
2018-12-12 11:37:15 +01:00
7ae184bfea
Merge pull request #5689 from soloestoy/donot-evict-when-AOF-loading
...
evict: don't care about mem if loading
2018-12-12 11:29:10 +01:00
03e2bb0cfd
Crashing is too much in addReplyErrorLength().
...
See #5663 .
2018-12-11 17:50:18 +01:00
b9cd89d108
evict: don't care about mem if loading
...
When loading data, we call processEventsWhileBlocked
to process events and execute commands.
But if we are loading AOF it's dangerous, because
processCommand would call freeMemoryIfNeeded to evict,
and that will break data consistency, see issue #5686 .
2018-12-12 00:25:58 +08:00
0110e46f6e
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2018-12-11 13:30:04 +01:00
a31ca8d753
stringmatchlen() fuzz test added.
...
Verified to be able to trigger at least #5632 . Does not report other
issues.
2018-12-11 13:29:30 +01:00
c710d4afdc
Fix stringmatchlen() read past buffer bug.
...
See #5632 .
2018-12-11 13:18:52 +01:00
f77edf4234
Merge pull request #5665 from louiszhw/unstable
...
fix comments fault discription
2018-12-11 13:03:09 +01:00
e8529d1b1e
Merge pull request #4264 from lsytj0413/unstable
...
fix a typo: craeted -> created
2018-12-11 13:02:28 +01:00
6100be7d82
fix typo
2018-12-11 19:53:54 +08:00
1530c0a7dd
multi: ignore multiState's cmd_flags when loading AOF
2018-12-11 19:47:36 +08:00
274531396c
Reject EXEC containing write commands against RO replica.
...
Thanks to @soloestoy for discovering this issue in #5667 .
This is an alternative fix in order to avoid both cycling the clients
and also disconnecting clients just having valid read-only transactions
pending.
2018-12-11 11:39:21 +01:00
27ddb2ba3a
Cluster Manager:
...
- Multiple owners checking in 'fix'/'check' commands is now
optional (using --cluster-search-multiple-owners).
- Updated help.
2018-12-10 18:01:18 +01:00
0c1336caf4
Cluster Manager:
...
- FixOpenSlot now correctly updates in-memory cluster configuration.
- Improved output messages.
2018-12-10 17:43:58 +01:00
1a56fc913e
Cluster Manager: 'fix' command now handles open slots with migrating state
...
in one node and importing state in multiple nodes.
2018-12-10 17:43:58 +01:00
d5f7703367
Cluster Manager: setting new slot owner is now handled atomically
...
in 'fix' command.
2018-12-10 17:43:58 +01:00
eaac9f9e93
Cluster Manager: code cleanup.
2018-12-10 17:43:58 +01:00
5bf13eaaf8
Cluster Manager: check/fix commands now handle multiple owners even if
...
all slots are covered and not open.
2018-12-10 17:39:54 +01:00
5bfd8ae253
Merge pull request #5626 from soloestoy/remove-useless-code
...
remove useless tryObjectEncoding in debug assert
2018-12-07 17:09:56 +01:00
03629ba0b6
Merge pull request #5633 from oranagra/frag_bytes_signed
...
fix #5580 , display fragmentation and rss overhead bytes as signed
2018-12-07 17:09:10 +01:00
cdab4c3e09
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2018-12-07 17:07:14 +01:00
7e0cc2bb91
Remove no longer relevant comment in processCommand().
2018-12-07 17:06:55 +01:00
c6341ce373
Merge pull request #5673 from soloestoy/check-current-client-after-freememory
...
networking: current_client should not be NULL when trim qb_pos
2018-12-07 17:03:48 +01:00
5a0b7212c9
DEBUG DIGEST-VALUE implemented.
2018-12-07 16:41:54 +01:00
e9400e8efd
DEBUG DIGEST refactoring: extract function to digest a value.
2018-12-07 16:30:33 +01:00
28c4281495
networking: current_client should not be NULL when trim qb_pos
2018-12-07 19:14:33 +08:00
74f942cfa5
redis-cli reshard/rebalance: ability to force replacement on existing keys
2018-12-07 14:14:11 +03:00
9f87ef9399
Merge pull request #5460 from krallin/env-password
...
cli: pass auth through REDISCLI_AUTH
2018-12-07 11:30:07 +01:00
75c181ee2b
Merge pull request #5664 from yongman/fix-rediscli-output-format
...
Fix cluster call reply format readable
2018-12-07 11:28:18 +01:00
6aa9606995
fix a typo: craeted -> created
2018-12-06 11:08:59 +08:00
b1e35d3244
fix comments fault discription
2018-12-05 17:15:02 +08:00
dfe81b33fe
Fix cluster call reply format readable
2018-12-04 17:36:42 +08:00
e2c1f80b46
Fixed a serverPanic when sending an invalid command to a monitor client
2018-12-04 07:17:17 +00:00
b587c54c24
fix #5580 , display fragmentation and rss overhead bytes as signed
...
these metrics become negative when RSS is smaller than the used_memory.
This can easily happen when the program allocated a lot of memory and haven't
written to it yet, in which case the kernel doesn't allocate any pages to the process
2018-12-02 15:29:20 +02:00
0da171b3a6
remove useless tryObjectEncoding in debug assert
2018-11-30 12:05:46 +08:00
4c544394eb
Merge pull request #5562 from soloestoy/memory-usage-more-accurate
...
MEMORY command: make USAGE more accurate
2018-11-28 18:16:04 +01:00
04a5189b50
Merge pull request #5594 from yongman/fix-rediscli-fixcoverage
...
Fix choose a random master node for slot assignment
2018-11-28 18:13:04 +01:00
d56c631343
MEMORY command: make USAGE more accurate
...
In MEMORY USAGE command, we count the key argv[2] into usage,
but the argument in command may contains free spaces because of
sdsMakeRoomFor. But the key in db never contains free spaces
because we use sdsdup when dbAdd, so using the real key to
count the usage is more accurate.
2018-11-29 01:01:51 +08:00
d403208d51
Merge pull request #5572 from Weiliang-Li/patch3-util
...
fix comment typo in util.c
2018-11-28 17:14:21 +01:00
ef00633759
Merge pull request #5597 from lamby/clarify-socket-creation-error-message
...
Clarify the "Creating Server TCP listening socket" error message
2018-11-28 17:06:51 +01:00