8631 Commits

Author SHA1 Message Date
John Sully
831fa24a18 Revert "Debug sleep should apply to all threads"
This reverts commit a2d4f4969fbc544ce75de5b96b94f79ce929fb7d [formerly 41b678814b2c2ff93935b57e630028aaf2e9ae62].


Former-commit-id: 3ae75c2d2bd952d0a075b9ba257a08f962fe0739
2019-11-17 15:39:47 -05:00
John Sully
22253da5c9 Improve perf of reading cluster bitfield
Former-commit-id: 9371c005aa7ffc2060b1b787e4268bc25336ca15
2019-11-17 14:52:12 -05:00
John Sully
29b52ca5ce Merge branch 'unstable' of https://github.com/JohnSully/KeyDB into unstable
Former-commit-id: 16bd6b3f5d6f8d45c7a7202bd34974b31da2fdec
2019-11-14 21:21:46 -05:00
John Sully
8c6f775cf7 Cluster multithreading fixes
Former-commit-id: 3dd78a6101df0a980e520dcb55d80651bfc5a3a7
2019-11-14 20:14:24 -05:00
John Sully
a2d4f4969f Debug sleep should apply to all threads
Former-commit-id: 41b678814b2c2ff93935b57e630028aaf2e9ae62
2019-11-14 19:57:29 -05:00
John Sully
7dac41ed72 killing clients should take effect ASAP
Former-commit-id: d0ccb074d5451cd457fe88efeb007cdb9746cb7f
2019-11-14 19:49:32 -05:00
John Sully
b5ba20fe1b Improve AE Assert message
Former-commit-id: cb0fc7cca2406cf24fc238d6b6e1247c60d86704
2019-11-14 19:34:13 -05:00
John Sully
21bffec0d7 Fix test failure with tcl8.5 (test only issue)
Former-commit-id: 5e40ea6ee7f0f34a9e11fdd7518d81383dd73c41
2019-11-04 17:31:29 -08:00
John Sully
a55fe8a3ba Fix potential race in pubsub
Former-commit-id: 427c5999f167256dc3a6a0f49ad28313f700a155
2019-10-25 02:50:30 -04:00
John Sully
949270801e Signals can happen on any thread, so look for the signal handler not the command on the callstack
Former-commit-id: f1d2b2945007f8811528b197480e255c6b35559c
2019-10-24 23:30:08 -04:00
John Sully
70fba8e707 Two fixes: 1) Remove race conditions by not locking clients when async writing. 2) Don't derefence dangling pointers in lambda
Former-commit-id: cb93752aff4c67d4475e9ed17833335716c45744
2019-10-24 23:07:02 -04:00
John Sully
c8f1efddaa Sanitizers work with GCC too
Former-commit-id: 549cad378d9faccae0c47917d000c0cad3561351
2019-10-24 23:05:39 -04:00
John Sully
7bdc24a86d Remove the DB lock, its unnecessary
Former-commit-id: 631f863dd89cd642e2023beabf8b31cdc84bbdff
2019-10-24 20:18:48 -04:00
John Sully
b39e6c9497 Remove unlocked KEYS command support, we will do this with snapshotting
Former-commit-id: 4396682c07d4df3fdca01d1299ad171e310a9fc7
2019-10-24 20:18:11 -04:00
John Sully
8d2dc7ab52 Build break, ensure C99 compatibility
Former-commit-id: ca4ee4e3e4e28e2a186ac782ab0052c56a798ed2
2019-10-23 13:38:07 -04:00
John Sully
391b2f311e Fix build break in TravisCI
Former-commit-id: 2da09e07321e114faa04f84ef7a50908ecac5eea
2019-10-23 13:31:39 -04:00
John Sully
8d0b21c403 If a replica is about to be closed, don't wait on its lock (potential deadlock)
Former-commit-id: 4986dc6da9855ba14d760a89f13ec40c8bea4baf
2019-10-23 13:20:23 -04:00
John Sully
8b44d86c7c processEventsWhileBlocked needs to release the lock in a safe way
Former-commit-id: 1a70af2ae13962db038b0635cc29488019323538
2019-10-23 13:19:57 -04:00
John Sully
60c35d6ea7 Remove race conditions
Former-commit-id: 5a8cb77d0df7f319809ff965a72fe46925f49289
2019-10-22 23:26:37 -04:00
John Sully
b1190c24a8 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
8aea7f8586 Implement deadlock detection
Former-commit-id: fa797408d9c5d5f12053641144fe1a8b24f66185
2019-10-22 00:43:32 -04:00
john@csquare.ca
d4bb51d52c Fix: ExpireMember does not update MVCC timestamp
Former-commit-id: f5210a8fb0704336e9734076b52a862698820f3a
2019-10-16 12:38:15 -04:00
John Sully
d8a02c8a65 expiremember should return the same results as expire
Former-commit-id: 8f1295c00f27b6c89785236c5199c1623773940d
2019-10-16 12:27:04 -04:00
John Sully
4dc728c1ce Fix crash adding expire to key with a subkey expire already set
Former-commit-id: 18a3768e07eb8c4feb4a666d95a19d97267ac381
2019-10-16 12:26:48 -04:00
eric-weaver
2a472c06f3 add missing dependency
Former-commit-id: 95e3dbc1048ba99af1b64f97b681ed1e67e2431a
2019-10-13 21:30:06 +02:00
Segmond
c1e0188e53 Update README.md
Typo, focuses spelled as focusses

Former-commit-id: 40355eac3e46c6e4bb35f5cbc315a05beff291bf
2019-10-13 21:29:15 +02:00
John Sully
2980e06c9f Implement the lastmodified query for the OBJECT command
Former-commit-id: 3a3b59a0543148956797ce4ad9d08095051517b9
2019-10-13 14:12:09 -04:00
John Sully
2fc9bb0c8d You are not allowed to set a subkey expire if the subkey does not exist
Former-commit-id: 12e17cfd6e9cc1e470f26c88b58ce5831d10358f
2019-10-13 14:11:43 -04:00
John Sully
ac243ae4bf Implement the EXPIREMEMBERAT command
Former-commit-id: 203e341bf4427723903d8d3de03af2f0ef043a3f
2019-10-13 13:15:13 -04:00
John Sully
650085d61a Add millisecond support for EXPIREMEMBER command
Former-commit-id: 6e6cd84ad7dc9e5763ab36668cbbf8ca6743f8d9
2019-10-13 12:57:50 -04:00
John Sully
e57d2e24c9 Update more slave instances to use replica (Issue #75)
Former-commit-id: 252725d50fc9d4ff2b6e9246a36c38176d61beae
2019-10-13 12:29:20 -04:00
John Sully
05d7536b02 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
6080010db0 Fix an intermittent crash when replicationCron happens before slavesdb is update
Former-commit-id: 27c9ae667e515819d5be06722722ed6ff43a3205
2019-10-13 12:04:54 -04:00
John Sully
0a00341a80 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
3670376457 Merge branch 'unstable' of https://github.com/JohnSully/redis2 into unstable
Former-commit-id: 5787e7adc7d092efb30c83f3899e8ee6c2e7f285
2019-10-13 10:03:01 -04:00
John Sully
dba52de8ca 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
Edgard Lorraine Messias
d34f7746ed Fixed "Provides" name in chkconfig info
Former-commit-id: cedea7e4005ecf540c5383a7a9da04f8fabfe648
2019-10-01 13:44:58 -04:00
John Sully
b11d3c4b82 Expire DEL command place holder
Former-commit-id: 64aa4b80e62fac75d5b5598515585c425472c537
2019-09-30 00:01:23 -04:00
John Sully
c18bba8535 Fuzz mode is now an argument not based on the exe name
Former-commit-id: 551a3cb1aa1c5799ec351dd2bef97adf0517b954
2019-09-30 00:00:29 -04:00
John Sully
311b3502ae finish up the RDB fuzz
Former-commit-id: 0942188b0a263d4b7de013458e5a65dc2d3b206a
2019-09-28 17:38:46 -04:00
John Sully
3a8d13760a Fix double free in RDB load
Former-commit-id: 070c4818715b56645855abb72af47c846fc63027
2019-09-28 17:38:26 -04:00
John Sully
b01cf73999 RDB fuzz test cases
Former-commit-id: 6df4d294220ed914c592f3bd195ae921d6a84cde
2019-09-28 17:04:08 -04:00
John Sully
4db6193052 RREPLAY command now takes a DB argument
Former-commit-id: 6e1e5bd08b59f8ad4653621a6c01fcf3a76f0692
2019-09-28 14:59:44 -04:00
John Sully
4cac0ca35a Implement left and right shift BITOP operators
Former-commit-id: ba365298ed37a76f0a8630e0ec6c86393293aebe
2019-09-28 00:10:46 -04:00
John Sully
cdfcc42b6d Fix leaking stale RDBs during multimaster sync
Former-commit-id: e1c96209510b374e644e5d7e7b6a009ed0f27c32
2019-09-27 13:17:29 -04:00
John Sully
4f19c5de9f 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
c75e700a86 Fix issue where AOF events are posted to the wrong event loop and not properly cleaned up
Former-commit-id: 55324aa56a249ccbc73ffe92cac1740bfcc82ebd
2019-09-19 15:39:52 -04:00
John Sully
bd4ed482c4 KEYS now only blocks one database
Former-commit-id: 18d42a5c353f76533a0ccc4ded24ed089cedacc8
2019-09-12 18:51:10 -04:00
John Sully
e45268930a Fix issue where Active Replicas were commiting data to the wrong database under load
Former-commit-id: ac595ebe371480a924d542aa62733854eb7c527a
2019-09-06 13:30:28 -04:00
John Sully
a21a7a8ee9 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