9310 Commits

Author SHA1 Message Date
yz1509
28622cc532 avoid sentinel changes promoted_slave to be its own replica. 2020-01-08 12:31:25 +01:00
John Sully
174a8b886d pro launch should respect KEYDB_PRO_DIRECTORY
Former-commit-id: d5f8df59977194ee0cfce798364eb5620435e6f3
2020-01-06 14:24:37 -05:00
John Sully
7f6389a9d0 Add license key lib for aarch64
Former-commit-id: 8b804d91e3dc810b6d8cc585dd3747ba962ead18
2020-01-06 19:16:48 +00:00
John Sully
4a6748d29f Merge branch 'unstable' of https://github.com/JohnSully/KeyDB into unstable
Former-commit-id: dd70f5efd732c1b771030a6254fc1a4e9fc45356
2020-01-06 12:04:00 -05:00
John Sully
64c07168d7 Merge branch 'keydbpro' of https://github.com/JohnSully/KeyDB-Pro into keydbpro
Former-commit-id: 3d63d38aae762c60a22154109827ebfd46aae2a5
2020-01-05 20:19:55 -05:00
John Sully
5907dccdae Add new flags to example configuration file
Former-commit-id: bb38628f0ef4f417db968154cc37d103f11b4c63
2020-01-05 20:19:28 -05:00
John Sully
78924a295e Enforce seperate license keys for connected replicas
Former-commit-id: bc005cb50b1010a2bc9170e261cd93dba849c35f
2020-01-04 17:15:06 -05:00
John Sully
2109d8972e Additional flash tests
Former-commit-id: 3f9b1a35821cb3a3bf82aabb180c13a9eddf4e93
2020-01-03 17:11:23 -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
e49ec97f98 subkey expire testes
Former-commit-id: 0cf3af6857c192bd03656c28b5a0a2bb11416b8c
2020-01-03 16:50:13 -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
bbbe030e78 Merge branch 'unstable' into keydbpro
Former-commit-id: 7ddcbb8ec0c842bd4a79b6e14ebd33616174e793
2019-12-27 18:17:36 -05:00
John Sully
55cddbe82f Fix some static analysis warnings
Former-commit-id: 42a8f22c21706f9ddcaa63ceafc5ad817c1fe876
2019-12-27 18:17:22 -05:00
John Sully
55361c65d8 Merge branch 'keydbpro' of https://github.com/JohnSully/KeyDB-Pro into keydbpro
Former-commit-id: b52725163ec6ea128102880be33c43437693cc9e
2019-12-27 17:46:51 -05:00
John Sully
df3b99bf62 Ignore dependency files
Former-commit-id: f18d973adcf38483400edac85e9258c37aa4e8e5
2019-12-27 17:46:16 -05:00
John Sully
8f20fc7f33 Ignore dependency files
Former-commit-id: 6e06e0dfc7cd572d93cce99c4b8b8b0b59e95e60
2019-12-27 17:45:56 -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
bb6aa59883 recommended rocksdb tuning
Former-commit-id: 2a634365f901968f9758d2d362f211b8e0fddc2a
2019-12-24 02:22:47 -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
cded9874a0 More testing
Former-commit-id: 564d94f0653315ce05495a8d83ff8577a365c11b
2019-12-23 22:14:43 -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
bd4d372d45 Key count is innacurate after overwrite
Former-commit-id: 180c5a8e401415cede36548ab8d01f3e4ff8fb7f
2019-12-22 19:41:36 -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
8ef2ec84de Merge remote-tracking branch 'nonfree/tests' into keydbpro
Former-commit-id: 180b059c05290aa403197bca819ec092c5ab326d
2019-12-22 17:31:05 -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
a0a33f7607 tests should use the new binary name
Former-commit-id: b4ee3c4ea57041d7c87ec228994ff5397bb6139f
2019-12-19 17:13:51 -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