John Sully
262b9a5d92
Initial implementation of the CRON command
...
Former-commit-id: 3204a39ada15ec33ac7926dc8b8f0e1875b99acb
2020-01-21 19:50:28 -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
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
ce6a682173
Launch the pro binary with --enable-pro
...
Former-commit-id: ab365ce3da864bbcd0d8a9c77ba55dad365ffdff
2019-12-17 23:52:19 -05:00
John Sully
3668715ba3
Fix issue #83
...
Former-commit-id: 3028a890ef11cd99b2c7538de0f480d2466eb150
2019-11-21 20:05:16 -05:00
John Sully
633b7398e1
Fix issue #107 , active replicas do their own expires
...
Former-commit-id: 8e4f323439df29a5e8c0de9db7a848291721fd07
2019-11-20 19:44:31 -05:00
John Sully
a098681bbf
Cluster multithreading fixes
...
Former-commit-id: 3dd78a6101df0a980e520dcb55d80651bfc5a3a7
2019-11-14 20:14:24 -05:00
John Sully
8f015eaebb
Remove the DB lock, its unnecessary
...
Former-commit-id: 631f863dd89cd642e2023beabf8b31cdc84bbdff
2019-10-24 20:18:48 -04:00
John Sully
03769b5c17
Remove race conditions
...
Former-commit-id: 5a8cb77d0df7f319809ff965a72fe46925f49289
2019-10-22 23:26:37 -04:00
John Sully
1c1260d71f
Optimize deadlock detection, fix callstack for ASM, and annotate locks
...
Note: This change moves our assembly code to use the GNU Assembler because NASM seems to be incapable of emitting the necessary debug information for callstack unwinding to work.
Former-commit-id: 600fc241cfe79b9b32ac6010c6ea0c66747f0f15
2019-10-22 21:34:51 -04:00
John Sully
eaabfd2038
Fix crash adding expire to key with a subkey expire already set
...
Former-commit-id: 18a3768e07eb8c4feb4a666d95a19d97267ac381
2019-10-16 12:26:48 -04:00
John Sully
6b2c838e8b
Implement the lastmodified query for the OBJECT command
...
Former-commit-id: 3a3b59a0543148956797ce4ad9d08095051517b9
2019-10-13 14:12:09 -04:00
John Sully
0e82cb44e5
Implement the EXPIREMEMBERAT command
...
Former-commit-id: 203e341bf4427723903d8d3de03af2f0ef043a3f
2019-10-13 13:15:13 -04:00
John Sully
c61b6cc8fd
Update more slave instances to use replica (Issue #75 )
...
Former-commit-id: 252725d50fc9d4ff2b6e9246a36c38176d61beae
2019-10-13 12:29:20 -04:00
John Sully
d4e4b4f4d1
Update a few uses of slave to use the new replica terminology (Issue #75 )
...
Former-commit-id: c15633ea9e784ef0e12e4015a75245661a8cf1b7
2019-10-13 12:12:05 -04:00
John Sully
2d0cd2c1b2
Implement TTL and PERSIST commands for subkeys. Also ensure expiremember replaces any old subkey expiries
...
Former-commit-id: 16f96efbe7c6c27f2a79f5b472447407f905df15
2019-10-13 12:03:25 -04:00
John Sully
9fb26516d6
Fix issue #88 - don't let seperate KeyDB processes listen on the same port
...
Former-commit-id: 4631119179df5cff638e9b8c51b030cef89a6c02
2019-10-13 10:02:21 -04:00
John Sully
b6b6bb0488
Implement left and right shift BITOP operators
...
Former-commit-id: ba365298ed37a76f0a8630e0ec6c86393293aebe
2019-09-28 00:10:46 -04:00
John Sully
9f3cbd580e
Fix multi master bugs: 1. we fail to create the temp file. 2. We use a master RDB as our backup even though we merged databases (and therefore it is not representitive)
...
Former-commit-id: e776474f68a2824bb7d4082c41991a9a9f3a9c9d
2019-09-26 20:35:51 -04:00
John Sully
2912b22403
KEYS now only blocks one database
...
Former-commit-id: 18d42a5c353f76533a0ccc4ded24ed089cedacc8
2019-09-12 18:51:10 -04:00
John Sully
b98eed9945
Fix race condition in PUB/SUB and other async reply commands where the client can be freed before our handler is executed on the client thread. When this occurs the client pointer is dangling
...
Former-commit-id: 46a78c69e718f0aeb5e62f33c59458b15b8d9bc6
2019-08-26 20:18:52 -04:00
John Sully
2181eca5de
Fix crash setting expire on a key with an existing subkey expiration
...
Former-commit-id: 4858fd893c8e638b0efdcd3ab2c6dc188a6dc6bd
2019-07-29 17:09:51 -04:00
John Sully
f3aa422a3f
RREPLAY failures should be logged
...
Former-commit-id: 08b6a04055e950e53f043391ec9f9a09f654b1ee
2019-07-24 22:49:30 -04:00
John Sully
f88592451d
Plumb support for sub expires to all expire related code
...
Former-commit-id: 184abac6942a9a6aa8783741b50b23210afddcc5
2019-07-23 18:53:59 -04:00
John Sully
2a2225d150
Initial prototype of EXPIREMEMBER command
...
Former-commit-id: 0b3d74ea67d616a6869cbd66198c8dd7ffa72eb7
2019-07-23 18:53:58 -04:00
John Sully
d58b2575e5
Support TTL stats with the new expire datastructure
...
Former-commit-id: 271df3dad4f55f20177a8a9a065778f4943835f1
2019-07-23 18:30:10 -04:00
John Sully
27cb5dba75
New expire datastructure and algorithm. Allows us to expire in sublinear time
...
Former-commit-id: 3880d2616c882e19169180dc10268564347b0279
2019-07-23 18:30:10 -04:00
John Sully
15f5c7ccf7
Merge commit '722446510faf0debf0d309708b2ed4fe4d939319' into unstable
...
Former-commit-id: 821c12c482d20b15dfb5a6eeab52e167997627d8
2019-07-19 00:32:43 -04:00
John Sully
4088de0ed2
Merge commit '677e95e2f5ee903682ce44a7bfd9558a22577926' into unstable
...
Former-commit-id: 4602f8c391409e9dd59f1fbee6a5ef011b219ca1
2019-07-19 00:01:56 -04:00
John Sully
e642441354
Fix compile errors from merges
...
Former-commit-id: 27a927fe0011536c6539d7c2a79ccfdaf78cee22
2019-07-18 23:35:51 -04:00
Angus Pearson
7b615e7274
Add char* typeNameCanonicalize(robj*) to remove duplicate code between SCAN and TYPE commands,
...
and to keep OBJ_* enum to string canonicalization in one place.
Former-commit-id: 3cdc6e8d846e88cf4e250b2643662bde2a9317c5
2019-07-18 23:31:31 -04:00
John Sully
e41ab66722
Resolve race on neterr variable
...
Former-commit-id: 1512274f4c51dc4e8f4e3d11df2f35e051c0c079
2019-07-18 17:11:28 -04:00
John Sully
aa560582b4
Make object refcounts atomic, technically it doesn't need to be currently but the semantics are complicated and error prone. This is much safer with little performance impact
...
Former-commit-id: e310d33c121550f69b1c06d101db0c3f944a7fb0
2019-07-18 15:49:12 -04:00
John Sully
bdc901f01c
Implement test mode to make finding bugs easier
...
Former-commit-id: 971f69fe1ff9cce50492a47f306b312457e50b9f
2019-07-15 14:55:18 -04:00
John Sully
e78ed8cc64
Fix more locking deadlocks
...
Former-commit-id: 3081b6f98b5e7a9f3ef7cfe040236070398b081c
2019-07-12 23:51:45 -04:00
John Sully
8f1e7d9d5b
Fix deadlock with client and ae locks
...
Former-commit-id: 8630339e43c1de1cd723bdfdca8ab5924e2cb8b0
2019-07-12 20:46:50 -04:00
John Sully
2a1d7890f6
Fix compile errors on GCC v5
...
Former-commit-id: 1f08a0efb33511ddc75c2acc62199bfcd0860137
2019-07-11 20:20:01 -04:00
John Sully
361b7655ef
Fix active replication offset synchronization accounting, and enable the wait command
...
Former-commit-id: a5784ef09e71a9a45780a8f3dbab875b1f1fe1a5
2019-07-11 17:00:23 -04:00
Salvatore Sanfilippo
722446510f
Merge pull request #6116 from AngusP/scan-types
...
SCAN: New Feature `SCAN cursor [TYPE type]` modifier suggested in issue #6107
2019-07-08 12:53:34 +02:00
Angus Pearson
6eb52e200c
Change typeNameCanonicalize -> getObjectTypeName, and other style changes
2019-07-08 11:04:37 +01:00
antirez
6b29f2d83d
Client side caching: RESP2 support.
2019-07-05 12:24:28 +02:00
antirez
46edb55de9
Client side caching: implement trackingInvalidateKey().
2019-07-03 19:16:20 +02:00
antirez
506764b3f8
Client side caching: hook inside call() for tracking.
2019-07-03 12:42:16 +02:00
antirez
c29f3bcf2e
Client side caching: enable tracking mode.
2019-06-30 06:19:08 -04:00
antirez
45d64f229e
Client side caching: fields and flags for tracking mode.
2019-06-29 20:08:41 -04:00
John Sully
a9837e9d95
Fix Travis CI issue
...
Former-commit-id: 8238d3207e484e5c9515d00ee7d2247168c03612
2019-06-17 23:56:23 -04:00
John Sully
9ca83cc9fd
convert the pending write list to a vector for better performance and less cache thrashing
...
Former-commit-id: ae33ff3a6ef6d47bab63cf8362055c1ed210dbad
2019-06-17 23:00:12 -04:00
John Sully
913fe8eb78
Move more code out of the GIL
...
Former-commit-id: 59dbd625c143c1a890d4387f7a32c997f0d64f5f
2019-06-17 23:00:12 -04:00
Angus Pearson
38cd5fd9f6
Spelling cannonical -> canonical
2019-06-13 17:49:33 +01:00