John Sully
1a70e322dd
Fix snapshot consolidation bugs and reduce log noise
...
Former-commit-id: 7f3cb2981529277d3f02dceb2f60e7aa8385847d
2020-01-12 01:22:44 -05:00
John Sully
7a6085742d
Merge branch 'moar_perf' into keydbpro_moarperf
...
Former-commit-id: d0990a465c3c5c29b71f239d84a875af40699281
2020-01-11 22:06:20 -05:00
John Sully
74fcfc0b7f
Avoid crash due to excessive posted functions for AOF rewrite
...
Former-commit-id: aa6409f2e8a37288eb4953fbcf3a82e02545348b
2020-01-11 16:34:09 -05:00
John Sully
1ecc8a3eef
Enforce seperate license keys for connected replicas
...
Former-commit-id: bc005cb50b1010a2bc9170e261cd93dba849c35f
2020-01-04 17:15:06 -05:00
John Sully
29bcaae91d
Add support for storing expirations in FLASH
...
Former-commit-id: 1dca07bd564042fce1b01d275641f35b918ae557
2020-01-03 15:53:36 -05:00
John Sully
5dda897950
Merge keydb community
...
Former-commit-id: b9dcd0997c3dfd3cd2a5908ba540bc4d389104a0
2019-12-27 17:44:48 -05:00
John Sully
fb2d81395d
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
2f46f18c35
Perf remove extra lookup in rocksdb
...
Former-commit-id: 8074472c7a25572a53f1166911920c2cb168c141
2019-12-23 23:32:04 -05:00
John Sully
f8c903475a
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
94ea48978d
Add more test code, and fix bugs uncovered
...
Former-commit-id: 5362fa4b62f89cbc1e92e01c73a45c4e3718708b
2019-12-23 17:17:41 -05:00
John Sully
1b56e36309
Add additional tests
...
Former-commit-id: e7d2c78e776b8262fd54caeb7b6bd210182e9bdb
2019-12-22 19:16:30 -05:00
Petr Vaněk
6eadfd5d34
Rename redis.conf to keydb.conf
...
Former-commit-id: 4b01ad1e30568a5385881accedd8a841c7a7882f
2019-12-21 15:00:24 -05:00
Petr Vaněk
9ff5ae8a7b
Rename default pid file
...
Former-commit-id: 3b60929bdc95f43901799042b302c713b520aee8
2019-12-21 15:00:24 -05:00
John Sully
6a77ceaa4a
Evicted flash no longer keeps the key around
...
Former-commit-id: 908b303d1a8dd032c092f0bc035361a09c0291a5
2019-12-20 17:45:07 -05:00
Salvatore Sanfilippo
d3a9dff6b9
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
f4b8197060
Merge pull request #6052 from jtru/better-systemd-integration-v2
...
Better systemd integration v2
2019-12-19 08:54:22 +01:00
antirez
5b9d3ac6c6
Avoid changing setKey() API after #6679 fix.
2019-12-18 11:58:02 +01:00
zhaozhao.zz
24044f3356
add a new SET option KEEPTTL that doesn't remove expire time
2019-12-18 15:20:36 +08:00
John Sully
ce6a682173
Launch the pro binary with --enable-pro
...
Former-commit-id: ab365ce3da864bbcd0d8a9c77ba55dad365ffdff
2019-12-17 23:52:19 -05:00
John Sully
85f749622d
Implement pro badge and trial timeout
...
Former-commit-id: 9d6a284eb45c8a137c7f59645294b4fa4be389e5
2019-12-17 20:32:53 -05:00
John Sully
4466b2dba4
Perf fixes for expire snapshots
...
Former-commit-id: da805e4442815c89e85ca7b9fc855dd11ef2a6c8
2019-12-17 17:39:04 -05:00
Salvatore Sanfilippo
b7c78b7651
Merge pull request #5916 from madolson/dev-unstable-acl-module-pr
...
Add module APIs for custom authentication
2019-12-17 09:58:26 +01:00
Madelyn Olson
c95a582a74
Add configuration option for allowing reads on cluster down
2019-12-16 23:33:16 -08:00
Madelyn Olson
67aa527b22
Added some documentation and fixed a test
2019-12-17 07:15:04 +00:00
Madelyn Olson
034dcf185c
Add module APIs for custom authentication
2019-12-17 06:59:59 +00:00
John Sully
d95ae909a9
Threading fixes
...
Former-commit-id: 4f1cec6abd72d6e215880f2ce7812e88509cd218
2019-12-16 22:08:18 -05:00
John Sully
b230477df8
snapshots no longer have dangling keys in the expire set
...
Former-commit-id: 939b6b61084fbec7b7bd0ada49f6853e334f87dd
2019-12-16 21:14:16 -05:00
John Sully
e5b5b1f48d
Expireset should do a deep hash
...
Former-commit-id: cdcdf57dd1419ec09eab6579caf5e5ff9a5a242c
2019-12-16 19:06:07 -05:00
John Sully
b7e13da70d
A bunch of bug fixes
...
Former-commit-id: 228339586a19874f869cf45dc3834a270f99768a
2019-12-10 01:01:45 -05:00
John Sully
c55904d9f4
Add support for multiple databases with rocksdb
...
Former-commit-id: cfa3b760b00776876134692d42e25a60fcd8dea9
2019-12-09 20:45:58 -05:00
Oran Agra
5941730c37
Add ULL suffix to CLIENT_TRACKING flag to prevent sign extension
...
the code in:
c->flags &= ~(CLIENT_TRACKING|CLIENT_TRACKING_BROKEN_REDIR);
will do sign extension and turn on all the high 31 bits
no damage so far since we don't have any yet
2019-12-09 10:03:23 +02:00
John Sully
8f8f9b7a46
Flash running well
...
Former-commit-id: 9cf393eb9fb69bcc7550cd8b83e1568b3f360310
2019-12-08 20:06:22 -05:00
John Sully
8851ddfd4a
modify how the database array is stored so swaps are easier
...
Former-commit-id: 48fd6ec5ca69dd505d0e757862c09a898c19cf22
2019-12-08 16:49:59 -05:00
John Sully
3aade2d1e6
Prevent extra copy of key
...
Former-commit-id: 9c3ef97039e59c6b820f71a90f8a9fb4eae8a7b1
2019-12-08 16:02:24 -05:00
John Sully
dcebb3ab11
Optimize remote storage by bulk saving keys after processing operations but before sending responses to clients
...
Former-commit-id: 63a6dc2a29680d5d3f3f245168ca7de5d6bee1eb
2019-12-08 10:56:05 -05:00
John Sully
5f481a206d
Initial RocksDB integration
...
Former-commit-id: 0de9e5b692c02e779e538ddd0a56d10215e501bb
2019-12-06 20:39:32 -05:00
John Sully
ebf90e8a53
Fixup IStorage uses
...
Former-commit-id: 5ea0ce143a79365fb3903c6fc7caeb1c9760b0cc
2019-12-06 17:43:28 -05:00
John Sully
5012176262
Nested snapshot garbage collection. Works but huge fragmentation
...
Former-commit-id: 82b2a3f3dbf8f864d9157655b5422c69845c4019
2019-11-28 19:00:51 -05:00
Oran Agra
18e72c5cc7
Converting more configs to use generic infra, and moving defaults to config.c
...
Changes in behavior:
- Change server.stream_node_max_entries from int64_t to long long, so that it can be used by the generic infra
- standard error reply instead of "repl-backlog-size must be 1 or greater" and such
- tls-port and a few TLS booleans were readable (config get) even when USE_OPENSSL was off (now they aren't)
- syslog-enabled, syslog-ident, cluster-enabled, appendfilename, and supervised didn't have a get (now they do)
- pidfile was initialized to NULL in InitServerConfig but had CONFIG_DEFAULT_PID_FILE in rewriteConfig (so the real default was "", but rewrite would cause it to be set), fixed the rewrite.
- TLS config in server.h was uninitialized (if no tls config args were provided)
Adding test for sanity and coverage
2019-11-28 11:24:57 +02:00
Oran Agra
e0cc3c99d2
Additional config.c refactory and bugfixes
...
- add capability for each config to have a callback to check if value is valid and return error string
will enable converting many of the remaining custom configs into generic ones (reducing the x4 repetition for set,get,config,rewrite)
- add capability for each config to to run some update code after config is changed (only for CONFIG SET)
will also enable converting many of the remaining custom configs into generic ones
- add capability to move default values from server.h and server.c to config.c
will reduce many excess lines in server.h and server.c (plus, no need to rebuild the entire code base when a default change 8-))
other behavior changes:
- fix bug in bool config get (always returning 'yes')
- fix a bug in modifying jemalloc-bg-thread at runtime (didn't call set_jemalloc_bg_thread, due to bad merge conflict resolution (my fault))
- side effect when a failed attempt to enable activedefrag at runtime, we now respond with -ERR and not with -DISABLED
2019-11-26 16:52:28 +02:00
John Sully
27f7c2af00
Ensure size() count is accurate, and fix find_threadsafe which didn't check children
...
Former-commit-id: ffa44b636afd4fe907c79fe7deebac3d1e091ee9
2019-11-25 17:50:40 -05:00
Salvatore Sanfilippo
d39afb687d
Merge pull request #6563 from devnexen/fbsd_build_fix2
...
Add missing header
2019-11-25 09:45:29 +01:00
John Sully
4346bcd7dc
Restrict the snapshot API
...
Former-commit-id: cbafb88f267a9480cdbde6a88e9e1992e8a85971
2019-11-24 17:53:06 -05:00
John Sully
a1f29681aa
Get rid of key only iterate, the threadsafe is just as fast and key only users can ignore the robj
...
Former-commit-id: 29689a5ed6141c5b2019d41ccd4036e6ddd1a121
2019-11-24 15:45:17 -05:00
John Sully
dc47a20da3
Fix multithreading data races
...
Former-commit-id: 80f6e5818fd575cb08a5f620c35eed1cd862eb57
2019-11-24 13:44:43 -05:00
John Sully
b0278f5609
Add support for nesting snapshots
...
Former-commit-id: 5e6c37f388233cc3f2d204ad17ac2897d3333a21
2019-11-23 19:02:50 -05:00
John Sully
252db8939b
Add support for nested snapshots
...
Former-commit-id: 43456c7807152062d59b2a90597b6204f637f5cd
2019-11-22 20:53:36 -05:00
zhaozhao.zz
6b056d29f3
block: propagate BRPOPLPUSH as RPOPLPUSH when unblock
2019-11-22 16:38:49 +08:00
zhaozhao.zz
37a10cef02
Propagation: wrap commands in also_propagate array with MULIT/EXEC
...
Random command like SPOP with count is replicated as
some SREM operations, and store them in also_propagate
array to propagate after the call, but this would break
atomicity.
To keep the command's atomicity, wrap also_propagate
array with MULTI/EXEC.
2019-11-22 15:42:49 +08:00
John Sully
5e692ff15a
Merge branch 'unstable' into advanced_db
...
Former-commit-id: 00ad497fb3f409dbfcaa62fa9ea5d793263eb13d
2019-11-21 20:21:48 -05:00