John Sully
78924a295e
Enforce seperate license keys for connected replicas
...
Former-commit-id: bc005cb50b1010a2bc9170e261cd93dba849c35f
2020-01-04 17:15:06 -05:00
John Sully
efdf09be36
Fix crash with subkey expire
...
Former-commit-id: 8e1d416714484ff6ff4242c5d9a24b1458bbfb7b
2020-01-03 17:06:07 -05:00
John Sully
4301cfb8e9
Merge branch 'unstable' into keydbpro
...
Former-commit-id: 76ddbed0708277443660ffab2a2289e120fe87cd
2020-01-03 16:53:40 -05:00
John Sully
ce0fde973a
Add support for storing expirations in FLASH
...
Former-commit-id: 1dca07bd564042fce1b01d275641f35b918ae557
2020-01-03 15:53:36 -05:00
John Sully
6ab3e82e45
Drop severity of master disconnect log when multimaster is enabled
...
Former-commit-id: edb993d52b25c30392c6eb1e60896498f991a223
2020-01-02 15:36:02 -05:00
John Sully
85c8fc72b7
Fix issue where expire is lost when performing a defrag
...
Former-commit-id: aea333bb78fafabbddb340dfd4c232c2e207cfba
2020-01-01 20:41:17 -05:00
John Sully
2e50d383a6
C++ wrapper classes for SDS
...
Former-commit-id: 45817db8c3a86815945359113dcbccfde4257ce5
2020-01-01 19:13:48 -05:00
antirez
d22d40a2eb
Fix active expire division by zero.
...
Likely fix #6723 .
This is what happens AFAIK: we enter the main loop where we expire stuff
until a given percentage of keys is still found to be logically expired.
There are however other potential exit conditions.
However the "sampled" variable is not always incremented inside the
loop, because we may found no valid slot as we scan the hash table, but
just NULLs ad dict entries. So when the do/while loop condition is
triggered at the end, we do (expired*100/sampled), dividing by zero if
we sampled 0 keys.
2020-01-01 18:10:39 +01:00
John Sully
ad0cb8da40
Fix issue #130 due to fastlock timeout reduction
...
Former-commit-id: dbef17c2e16f115733242721e9b5a43f01e7a554
2020-01-01 11:52:00 -05:00
antirez
c2461ba531
Fix duplicated CLIENT SETNAME reply.
...
Happened when we set the name to "" to cancel the name.
Was introduced during the RESP3 refactoring.
See #6036 .
2019-12-29 15:46:31 +01:00
Guy Benoish
444dd1075c
Stream: Handle streamID-related edge cases
...
This commit solves several edge cases that are related to
exhausting the streamID limits: We should correctly calculate
the succeeding streamID instead of blindly incrementing 'seq'
This affects both XREAD and XADD.
Other (unrelated) changes:
Reply with a better error message when trying to add an entry
to a stream that has exhausted last_id
2019-12-29 15:46:31 +01:00
Oran Agra
f866b31a74
config.c adjust config limits and mutable
...
- make lua-replicate-commands mutable (it never was, but i don't see why)
- make tcp-backlog immutable (fix a recent refactory mistake)
- increase the max limit of a few configs to match what they were before
the recent refactory
2019-12-29 15:46:31 +01:00
antirez
1b56a873d5
Inline protocol: handle empty strings well.
...
This bug is from the first version of Redis. Probably the problem here
is that before we used an SDS split function that created empty strings
for additional spaces, like in "SET foo bar".
AFAIK later we replaced it with the curretn sdssplitarg() API that has
no such a problem. As a result, we introduced a bug, where it is no
longer possible to do something like:
SET foo ""
Using the inline protocol. Now it is fixed.
2019-12-29 15:46:31 +01:00
antirez
a640d1bb5c
Fix ip and missing mode in RM_GetClusterNodeInfo().
2019-12-29 15:46:31 +01:00
John Sully
55cddbe82f
Fix some static analysis warnings
...
Former-commit-id: 42a8f22c21706f9ddcaa63ceafc5ad817c1fe876
2019-12-27 18:17:22 -05:00
John Sully
0fd9a4c67a
Merge keydb community
...
Former-commit-id: b9dcd0997c3dfd3cd2a5908ba540bc4d389104a0
2019-12-27 17:44:48 -05:00
John Sully
082e493d32
Make incremental building work with header files
...
Former-commit-id: bf500ab44b82e9a3ad7f341b7d2f7f583fdf336f
2019-12-27 17:34:41 -05:00
John Sully
098684bf8e
Track key count accurately before we've committed to the database. Also use this to optimize DB lookups when all keys are in memory
...
Former-commit-id: 78c07f0276109a085761b7044d4edc63af26d3da
2019-12-24 00:03:38 -05:00
John Sully
7da74195a8
Perf remove extra lookup in rocksdb
...
Former-commit-id: 8074472c7a25572a53f1166911920c2cb168c141
2019-12-23 23:32:04 -05:00
John Sully
054bbe9baa
Fix issue where database size is off when setting key with expire
...
Former-commit-id: 7796918bfb4a98bc056b3b8f4065f1416da8d89a
2019-12-23 22:07:33 -05:00
John Sully
ef62b9b14c
Add missing files
...
Former-commit-id: 4eadf8f0923ee70ffa3af329a4d636d508bfad8d
2019-12-23 19:07:53 -05:00
John Sully
4fd552d8b6
Add more test code, and fix bugs uncovered
...
Former-commit-id: 5362fa4b62f89cbc1e92e01c73a45c4e3718708b
2019-12-23 17:17:41 -05:00
John Sully
59f7bd49c9
Add additional tests
...
Former-commit-id: e7d2c78e776b8262fd54caeb7b6bd210182e9bdb
2019-12-22 19:16:30 -05:00
John Sully
ca3c4474c2
Fix FLASH eviction issue, the algo relies on correct key count
...
Former-commit-id: dc260a7f44fe197b9b0022d044d559be88bf91be
2019-12-22 18:38:10 -05:00
John Sully
1e49dfe8e7
Optimization fails because dbAdd() will ensure the key
...
Former-commit-id: 1448b555c49fb5ba4a573a97681f7843ba02141f
2019-12-22 17:49:54 -05:00
John Sully
7c8dda47cb
Fix issue where DELETE always returns 1 when using FLASH
...
Former-commit-id: 0574db59fdc740255388ae77d2ece8622898bb49
2019-12-22 17:30:15 -05:00
John Sully
e530793e82
Multimaster requires Active Replication
...
Former-commit-id: 4d4eca54336c73848ffa36cb1778b7c853f77f7f
2019-12-21 18:24:02 -05:00
Petr Vaněk
8146f24391
Rename redis.conf to keydb.conf
...
Former-commit-id: 4b01ad1e30568a5385881accedd8a841c7a7882f
2019-12-21 15:00:24 -05:00
Petr Vaněk
8c7a04d747
Rename default pid file
...
Former-commit-id: 3b60929bdc95f43901799042b302c713b520aee8
2019-12-21 15:00:24 -05:00
John Sully
afce86838e
Only override maxmemory settings if everything is default
...
Former-commit-id: 9fb240d49c61f5a69124a17cfc769095cadd3d98
2019-12-20 18:19:24 -05:00
John Sully
448b1093cd
Evicted flash no longer keeps the key around
...
Former-commit-id: 908b303d1a8dd032c092f0bc035361a09c0291a5
2019-12-20 17:45:07 -05:00
John Sully
439362992f
FLASH storage no longer keeps evicted keys in memory
...
Former-commit-id: 65c2b47c895d57231bbd3f451ecf1f6d9871f5f7
2019-12-19 17:30:31 -05:00
John Sully
9f37260413
Fix crash when using rocksdb and jemalloc but scope it to just jemalloc
...
Former-commit-id: 6fa0cfd35fd1158f190db27bfb734ea2f763cb20
2019-12-19 15:44:09 -05:00
antirez
2df099e36b
Redis 6.0 RC1.
2019-12-19 17:27:29 +01:00
Salvatore Sanfilippo
95a43c2178
Merge pull request #6615 from soloestoy/wrap-also-propagate-as-multi
...
Wrap also propagate as multi
2019-12-19 09:24:52 +01:00
Salvatore Sanfilippo
e8c964fc2f
Merge pull request #5780 from soloestoy/lua-multi-more-clear
...
scripting: flag lua_client as CLIENT_MULTI after redis.replicate_command() immediately
2019-12-19 09:06:28 +01:00
Salvatore Sanfilippo
3d344f9467
Merge pull request #6052 from jtru/better-systemd-integration-v2
...
Better systemd integration v2
2019-12-19 08:54:22 +01:00
John Sully
b24479051d
add missing file
...
Former-commit-id: 24e85bc84f58bbfbef973eab64017a08e3f34d7d
2019-12-18 13:38:59 -05:00
antirez
15e2c2b2f1
Modules: rewrite top function doc of AvoidReplicaTraffic().
2019-12-18 17:11:03 +01:00
Salvatore Sanfilippo
f9644f1903
Merge pull request #6497 from oranagra/avoid_replica_traffic
...
Add config and module API for AvoidReplicaTraffic
2019-12-18 17:06:05 +01:00
antirez
b40973731b
Fix GEOHASH negative shifting in a more compatible way.
2019-12-18 12:57:32 +01:00
antirez
e7ddea016d
Revert "Geo: output 10 chars of geohash, not 11."
...
This reverts commit bdca9e882d1619bde19cbad78549f3167ddc3d41.
2019-12-18 12:54:46 +01:00
antirez
75687fcf17
Avoid changing setKey() API after #6679 fix.
2019-12-18 11:58:02 +01:00
zhaozhao.zz
5c56f82bc3
incrbyfloat: fix issue #5256 ttl lost after propagate
2019-12-18 15:44:51 +08:00
zhaozhao.zz
746c23419f
add a new SET option KEEPTTL that doesn't remove expire time
2019-12-18 15:20:36 +08:00
John Sully
9f5d7d44c7
Implement subkey expires for sorted sets
...
Former-commit-id: a45d141597e56b3e0e580d545122af4272692a1e
2019-12-18 00:10:05 -05:00
John Sully
a9967659cd
Implement subkey expire for hashes
...
Former-commit-id: 8cbe254491826f2a461d504b6dabcbbab44d20b3
2019-12-18 00:04:48 -05:00
John Sully
643a0e730f
Launch the pro binary with --enable-pro
...
Former-commit-id: ab365ce3da864bbcd0d8a9c77ba55dad365ffdff
2019-12-17 23:52:19 -05:00
John Sully
d64b9c6bc3
rename binary to keydb-pro-server
...
Former-commit-id: 717dd64fe33b997e8d05ca9ebfb598dbe1605990
2019-12-17 23:43:14 -05:00
John Sully
186189ecae
Ignore enable-pro with no license key. makes it easier to launch a demo from the open source version
...
Former-commit-id: 31ab6bcd6f39f0a4a9e50a5af613b293eecfb4c2
2019-12-17 23:40:59 -05:00