John Sully
074cb1edc1
Sentinel doesn't need a license key
...
Former-commit-id: bc2d8c18255214b873bf45d8db8af3727ebc4723
2020-07-11 22:13:07 +00:00
John Sully
06a8e2aa2a
Fix failure to replicate with non-pro server when license key is set
...
Former-commit-id: a69beef7d92223c8dcebb9c39ca2409183571e57
2020-07-11 22:09:27 +00:00
John Sully
3af243a447
Support missing Redis 6 config options
...
Former-commit-id: f111c234152fd47d21c8c95029bcb191641182a7
2020-07-11 21:39:20 +00:00
John Sully
4b58160c61
Support missing Redis 6 config options
...
Former-commit-id: d467701c6cd8ebe2937c6fda816a706a6b17182a
2020-07-11 21:38:17 +00:00
John Sully
d67265de66
Implement storage key cache, and writeback memory model
...
Former-commit-id: 732bd9c153459f1174475ad67de36c399ddbe359
2020-07-11 21:23:48 +00:00
John Sully
6912b10aed
Eliminate eviction loops. And don't OOM so often with storage providers set
...
Former-commit-id: 6e61cd33b4366f008b07aae88f49fd0ac9cbcaec
2020-07-11 06:51:08 +00:00
John Sully
a3cf9ce109
Eliminate eviction loops. And don't OOM so often with storage providers set
...
Former-commit-id: 189674aea74c483bf0869050ecf7bf2b0b49f34e
2020-07-11 04:23:35 +00:00
John Sully
8256661b7a
Bump version
...
Former-commit-id: ee5a281ed0012aca359b9448df5236bef719f4a7
2020-07-10 04:13:42 +00:00
John Sully
2cc88a96ab
Merge branch 'keydbpro' into PRO_RELEASE_6
...
Former-commit-id: 243dcb3853cc965109cb24a940229db7844cdd11
2020-07-10 04:11:57 +00:00
John Sully
dab9d8d90b
Merge branch 'mvcc_scan' into keydbpro
...
Former-commit-id: f0a3f491b61a9bb7ee4ab86098958cb161b75f59
2020-07-10 03:44:20 +00:00
John Sully
2192c97d35
MVCC scan support filtering by type on the async thread
...
Former-commit-id: 14f8c0ff686b93976eead5fa6bf526c2eecb5ae0
2020-07-10 03:43:56 +00:00
John Sully
3692771457
Fix issue where SCAN misses elements while snapshot is in flight
...
Former-commit-id: ce005d748ebf0e116d674a96f74d698d17394010
2020-07-10 01:43:51 +00:00
John Sully
1fef6c42b7
Disable MVCC GET, the overhead is not worth it
...
Former-commit-id: 8c7e1001e98be0d0e6fe0079fc9406d5d65366ff
2020-07-10 01:43:32 +00:00
John Sully
4ec5c3eb31
Fix issue where we fail to return all data
...
Former-commit-id: 7341c9ed14d13386a045afd6deda9c0db422cd5f
2020-07-10 00:18:10 +00:00
John Sully
2db9eef2b1
Graceful shutdown running async jobs
...
Former-commit-id: 2ce5b94741d384b2dfd6d3b347fa1582cd45df8f
2020-07-10 00:17:39 +00:00
John Sully
993359e1bb
Fix race in db iterators in scan
...
Former-commit-id: a6444870660c0d3f52cd7b1dc0b80223f0d58e70
2020-07-09 22:29:27 +00:00
John Sully
bce5cb098b
Do actual filtering on the async thread
...
Former-commit-id: 64b17139b7b5ff55bb52f27dc6f91cb81adde031
2020-07-09 21:58:06 +00:00
John Sully
29e4973d7b
Initial scan implementation (not tested)
...
Former-commit-id: 0f3911d56e6878d91b6e3cacc7d637934ffe6099
2020-07-09 12:57:35 -04:00
John Sully
ffc3aefc41
Latency fixes
...
Former-commit-id: 6857c4c2085d3b0902d7b2ece66b3fe8828dd805
2020-07-01 21:59:38 -04:00
Muhammad Zahalqa
f024fe30f4
replace memcpy with cctor on objects
...
Former-commit-id: 52897f8f9a882bcdbd1e8ede6bdf24e7435f5ce8
2020-06-24 23:20:59 -04:00
Muhammad Zahalqa
ec28161271
unique lock used with cv.wait already owns mutex
...
Former-commit-id: 8bc70e9840222d11507af30a6db27210b16650a2
2020-06-24 23:18:53 -04:00
Muhammad Zahalqa
63bb6cb419
Fix bug in condition_variabe.wait usage
...
consition variable wait should always be called with a locked mutex.
This code break the pre-conditions of using wait.
Former-commit-id: 5b81303f04580010f043e518a109b43971a63054
2020-06-24 23:18:53 -04:00
Muhammad Zahalqa
e25ec37484
fixes for robj_sharedptr
...
1. fix cases where null pointer might be accessed
2. make assignmnet op safe
3. make operator bool explicit (safe bool idiom)
4. make comparison operators symetric
fix robj_sharedptr use in rdb.cpp
Former-commit-id: ede524c0647c0875f1071978f26ff785c8d1183e
2020-06-24 23:18:27 -04:00
Muhammad Zahalqa
c4cd846388
aeCommand objects no need for memset and missing init of some memebers.
...
Former-commit-id: aeed09c34620e465b57f1d83553d259c4f6d892f
2020-06-24 23:15:29 -04:00
benschermel
cd8b82db55
Merge branch 'keydbpro' into PRO_RELEASE_6
...
Former-commit-id: 6e9ec7ae3ca49a6054f012e567eb74307227c330
2020-06-24 00:34:35 -04:00
benschermel
9c2769804e
update deb changelog
...
Former-commit-id: 85fe16238fdb692067f77f631b0589366823ba34
2020-06-24 00:32:10 -04:00
Ben Schermel
4d6b7c278b
bump version after merge
...
Former-commit-id: 59279d36e9337ca89518c4d1edef6c26911ea190
2020-06-16 14:17:20 -04:00
Ben Schermel
e0d2a1cff6
Merge branch 'keydbpro' into PRO_RELEASE_6
...
Former-commit-id: cf7ed118553af55a27c3a57c121bc26e18e0ab7e
2020-06-16 14:16:03 -04:00
Ben Schermel
38f5ed20a0
Merge branch 'PRO_RELEASE_6' of https://github.com/JohnSully/KeyDB-Pro into PRO_RELEASE_6
...
Former-commit-id: ff7ec3ec39d692ed59c945ace5c9a4ec140f5e52
2020-06-16 14:15:51 -04:00
John Sully
e81a4a159a
Fix crash in async delete when storage provider is not set and key doesn't actually exist
...
Former-commit-id: 4a4828390118ab52851d8bf229c4ae853100053c
2020-06-15 19:47:06 -04:00
Ben Schermel
9e9064782d
Merge branch 'keydbpro' into PRO_RELEASE_6
...
Former-commit-id: 97280cec291bca779739e008b9467fbb40a19a5f
2020-06-10 17:35:21 -04:00
Ben Schermel
b301f19c7e
Merge branch 'keydbpro' into PRO_RELEASE_6
...
Former-commit-id: f70e34b999ba842617ed39b88a7f5bb453d570c5
2020-06-10 17:27:34 -04:00
John Sully
ab9e3f1d2a
Fix failure to find expire during rehash
...
Former-commit-id: b66269865cb71a5e1dd33588b012206da2765824
2020-06-10 12:48:54 -04:00
John Sully
15e2b066f3
Bump version
...
Former-commit-id: c7b16835b1c52e9d8a4859a5b6e42ea5f6a31df2
2020-06-09 21:03:11 -04:00
John Sully
10908dc384
Merge branch 'keydbpro' into PRO_RELEASE_6
...
Former-commit-id: 9d8d3a54fdb9eaad0a7cfc3d938fa35d2819fa93
2020-06-09 21:02:55 -04:00
John Sully
29faa06028
Fix assert false alarm when freeTombstoneObjects is called
...
Former-commit-id: e21a011072505cfa0a37afefb94f7270e80625c5
2020-06-09 20:59:09 -04:00
John Sully
ec01cc23b1
Fix lock inversion
...
Former-commit-id: 430cf88623fce8f0675ea19f73d98f6cafe9070f
2020-06-09 20:58:03 -04:00
John Sully
324e8e01f2
COW pointer is not thread safe so we need a global expire lock
...
Former-commit-id: ac12eef75301564d920e622a08e4f586486fd395
2020-06-09 19:58:42 -04:00
John Sully
725fa84a06
keys command should look at the snapshots expire datastructure
...
Former-commit-id: 70563afab48e607e127c07d637660d94d1eede6d
2020-06-09 18:57:36 -04:00
John Sully
49fecbe1d4
Implement replicaof remove as requested in issue #192
...
Former-commit-id: 70b80aa5fad6c2191c2142ce49626b81d0950fa8
2020-06-09 12:43:58 -04:00
antirez
ce8f107a5e
Redis 6.0.5.
2020-06-09 12:19:30 +02:00
antirez
93e76ba456
Adapt EVAL+busy script test to new behavior.
2020-06-09 12:19:30 +02:00
antirez
e819e3ee26
Temporary fix for #7353 issue about EVAL during -BUSY.
2020-06-09 11:53:01 +02:00
xhe
5fae6590a1
return the correct proto version
...
HELLO should return the current proto version, while the code hardcoded
3
2020-06-09 11:53:01 +02:00
Oran Agra
640a4479b0
Don't queue commands in an already aborted MULTI state
2020-06-09 11:53:01 +02:00
Oran Agra
881d2c4663
Avoid rejecting WATCH / UNWATCH, like MULTI/EXEC/DISCARD
...
Much like MULTI/EXEC/DISCARD, the WATCH and UNWATCH are not actually
operating on the database or server state, but instead operate on the
client state. the client may send them all in one long pipeline and check
all the responses only at the end, so failing them may lead to a
mismatch between the client state on the server and the one on the
client end, and execute the wrong commands (ones that were meant to be
discarded)
the watched keys are not actually stored in the client struct, but they
are in fact part of the client state. for instance, they're not cleared
or moved in SWAPDB or FLUSHDB.
2020-06-09 11:53:01 +02:00
zhaozhao.zz
d496ce7271
AOF: append origin SET if no expire option
2020-06-09 11:53:01 +02:00
Oran Agra
216b5a1aae
fix disconnectSlaves, to try to free each slave.
...
the recent change in that loop (iteration rather than waiting for it to
be empty) was intended to avoid an endless loop in case some slave would
refuse to be freed.
but the lookup of the first client remained, which would have caused it
to try the first one again and again instead of moving on.
2020-06-09 11:53:01 +02:00
zhaozhao.zz
2a8ee55176
donot free protected client in freeClientsInAsyncFreeQueue
...
related #7234
2020-06-09 11:53:01 +02:00
Ben Schermel
18527706b6
fix issues from rebase
...
Former-commit-id: 5d7cc28208bbe7b49eed0d1b1c2bb1c31e65e865
2020-06-09 00:10:58 -04:00