9628 Commits

Author SHA1 Message Date
John Sully
4e7027264f Bump version
Former-commit-id: ee5a281ed0012aca359b9448df5236bef719f4a7
2020-07-10 04:13:42 +00:00
John Sully
52123f9529 Merge branch 'keydbpro' into PRO_RELEASE_6
Former-commit-id: 243dcb3853cc965109cb24a940229db7844cdd11
2020-07-10 04:11:57 +00:00
John Sully
f03b75b005 MVCC scan support filtering by type on the async thread
Former-commit-id: 14f8c0ff686b93976eead5fa6bf526c2eecb5ae0
2020-07-10 03:43:56 +00:00
John Sully
34482220af 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
3a9d008798 Disable MVCC GET, the overhead is not worth it
Former-commit-id: 8c7e1001e98be0d0e6fe0079fc9406d5d65366ff
2020-07-10 01:43:32 +00:00
John Sully
31fa3fc9f2 Fix issue where we fail to return all data
Former-commit-id: 7341c9ed14d13386a045afd6deda9c0db422cd5f
2020-07-10 00:18:10 +00:00
John Sully
6ca9dde027 Graceful shutdown running async jobs
Former-commit-id: 2ce5b94741d384b2dfd6d3b347fa1582cd45df8f
2020-07-10 00:17:39 +00:00
John Sully
7bd0edb970 Fix race in db iterators in scan
Former-commit-id: a6444870660c0d3f52cd7b1dc0b80223f0d58e70
2020-07-09 22:29:27 +00:00
John Sully
ecea6ffe67 Do actual filtering on the async thread
Former-commit-id: 64b17139b7b5ff55bb52f27dc6f91cb81adde031
2020-07-09 21:58:06 +00:00
John Sully
d3b72484e4 Initial scan implementation (not tested)
Former-commit-id: 0f3911d56e6878d91b6e3cacc7d637934ffe6099
2020-07-09 12:57:35 -04:00
John Sully
10585e4b3b Latency fixes
Former-commit-id: 6857c4c2085d3b0902d7b2ece66b3fe8828dd805
2020-07-01 21:59:38 -04:00
Muhammad Zahalqa
d28ef47458 replace memcpy with cctor on objects
Former-commit-id: 52897f8f9a882bcdbd1e8ede6bdf24e7435f5ce8
2020-06-24 23:20:59 -04:00
Muhammad Zahalqa
792bc57fdf unique lock used with cv.wait already owns mutex
Former-commit-id: 8bc70e9840222d11507af30a6db27210b16650a2
2020-06-24 23:18:53 -04:00
Muhammad Zahalqa
d4dfac4b6a 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
ca929bb9c1 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
98abc0e47e aeCommand objects no need for memset and missing init of some memebers.
Former-commit-id: aeed09c34620e465b57f1d83553d259c4f6d892f
2020-06-24 23:15:29 -04:00
Ben Schermel
b68d267578 bump version after merge
Former-commit-id: 59279d36e9337ca89518c4d1edef6c26911ea190
2020-06-16 14:17:20 -04:00
Ben Schermel
ab407d5654 Merge branch 'keydbpro' into PRO_RELEASE_6
Former-commit-id: cf7ed118553af55a27c3a57c121bc26e18e0ab7e
2020-06-16 14:16:03 -04:00
John Sully
9797d4a8f2 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
antirez
0cae0900cf help.h updated. 2020-06-12 12:16:24 +02:00
antirez
e0022d8cfe LPOS: tests + crash fix. 2020-06-12 12:08:06 +02:00
antirez
495327c020 LPOS: update to latest proposal.
See https://gist.github.com/antirez/3591c5096bc79cad8b5a992e08304f48
2020-06-12 12:08:06 +02:00
antirez
afb8b3c030 LPOS: implement the final design. 2020-06-12 12:08:06 +02:00
Paul Spooren
31c9cd8604 LRANK: Add command (the command will be renamed LPOS).
The `LRANK` command returns the index (position) of a given element
within a list. Using the `direction` argument it is possible to specify
going from head to tail (acending, 1) or from tail to head (decending,
-1). Only the first found index is returend. The complexity is O(N).

When using lists as a queue it can be of interest at what position a
given element is, for instance to monitor a job processing through a
work queue. This came up within the Python `rq` project which is based
on Redis[0].

[0]: https://github.com/rq/rq/issues/1197

Signed-off-by: Paul Spooren <mail@aparcar.org>
2020-06-12 12:08:06 +02:00
Ben Schermel
c4bbf07aba Merge branch 'keydbpro' into PRO_RELEASE_6
Former-commit-id: f70e34b999ba842617ed39b88a7f5bb453d570c5
2020-06-10 17:27:34 -04:00
John Sully
4e609863b6 Fix failure to find expire during rehash
Former-commit-id: b66269865cb71a5e1dd33588b012206da2765824
2020-06-10 12:48:54 -04:00
John Sully
151ace0b95 Bump version
Former-commit-id: c7b16835b1c52e9d8a4859a5b6e42ea5f6a31df2
2020-06-09 21:03:11 -04:00
John Sully
01cbc4cc1b Merge branch 'keydbpro' into PRO_RELEASE_6
Former-commit-id: 9d8d3a54fdb9eaad0a7cfc3d938fa35d2819fa93
2020-06-09 21:02:55 -04:00
John Sully
8fc03d6679 Fix assert false alarm when freeTombstoneObjects is called
Former-commit-id: e21a011072505cfa0a37afefb94f7270e80625c5
2020-06-09 20:59:09 -04:00
John Sully
ed2d611b6d Fix lock inversion
Former-commit-id: 430cf88623fce8f0675ea19f73d98f6cafe9070f
2020-06-09 20:58:03 -04:00
John Sully
c83fe382ff 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
292d5b6545 keys command should look at the snapshots expire datastructure
Former-commit-id: 70563afab48e607e127c07d637660d94d1eede6d
2020-06-09 18:57:36 -04:00
John Sully
e9aead580d Implement replicaof remove as requested in issue #192
Former-commit-id: 70b80aa5fad6c2191c2142ce49626b81d0950fa8
2020-06-09 12:43:58 -04:00
antirez
51efb7fe25 Redis 6.0.5. 2020-06-09 12:19:30 +02:00
antirez
ee8dd01bbc Temporary fix for #7353 issue about EVAL during -BUSY. 2020-06-09 11:53:01 +02:00
xhe
a4a856d532 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
e2046b3003 Don't queue commands in an already aborted MULTI state 2020-06-09 11:53:01 +02:00
Oran Agra
b35fdf1de1 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
1d7bf208ce AOF: append origin SET if no expire option 2020-06-09 11:53:01 +02:00
Oran Agra
676445ad95 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
4846c0c8af donot free protected client in freeClientsInAsyncFreeQueue
related #7234
2020-06-09 11:53:01 +02:00
John Sully
e06d7d18e1 Merge branch 'unstable' into keydbpro
Former-commit-id: ca3a50537e987bd30aec38265be535d89bb260f3
2020-06-08 16:51:16 -04:00
John Sully
f3e5c33a75 Update gcov for C++
Former-commit-id: e8d4d095cc5268fb35170dd1f2cb56e25c3d2b69
2020-06-08 16:48:44 -04:00
John Sully
66e9afe49c Some valgrind fixes
Former-commit-id: ba974c9810dc30b6b5bd21c4bcc6cc5b219f7ea4
2020-06-07 23:20:10 -04:00
John Sully
a41672672b fix valgrind false error
Former-commit-id: 9817db7eddf06becd151e5fef7cc6808777c49cb
2020-06-07 20:17:47 -04:00
John Sully
cc16e74f8b fix valgrind false error
Former-commit-id: 887d8bdd110e04b30ffb215726e8aade39f0387a
2020-06-07 20:17:32 -04:00
John Sully
2faa1f5771 Merge branch 'keydbpro' into PRO_RELEASE_6
Former-commit-id: 3106f60e0ebdba5db944e704d4b148ea81c806f6
2020-06-07 17:05:00 -04:00
John Sully
a6195bbd43 Fix merge bug
Former-commit-id: cc03c32271997d26ce7f07f96588f126c5939e69
2020-06-07 17:04:46 -04:00
John Sully
eda1bd2082 Bump version
Former-commit-id: 4a3e1f3b9b164ec0f19ca2a67c8003792a5ccc5c
2020-06-07 16:43:07 -04:00
John Sully
9427b52a48 Ensure CRON jobs run in a clean environment
Former-commit-id: b0e14683b2e655dc3aeb2f19b9227fc7fa24cc73
2020-06-07 16:43:07 -04:00