10639 Commits

Author SHA1 Message Date
John Sully
37ff25cecf Fix Issue #107
Former-commit-id: 98a928147ff55a4b7299f9c51637684eed307c41
2019-12-01 18:17:33 -05:00
John Sully
0860489563 Fix deadlock in spinlock (mfence) also spin for less time before sleeping
Former-commit-id: 8a9045c028128ad1ceaaa7a482ae4d241592d164
2019-11-30 00:51:58 -05:00
John Sully
dd5acf2c0d Fastlock should yield in ARM
Former-commit-id: 6c65a11b8d841517f372ea9962b8dbc127390943
2019-11-28 14:26:43 -05:00
John Sully
3668715ba3 Fix issue #83
Former-commit-id: 3028a890ef11cd99b2c7538de0f480d2466eb150
2019-11-21 20:05:16 -05:00
John Sully
88dcedc6e9 Add missing dependency to dockerfile
Former-commit-id: 39c6fbddb1dc6738c3ea7cbc2bd5d5bc7fb46ccf
2019-11-20 20:35:14 -05:00
John Sully
338d172733 Merge branch 'unstable' of https://github.com/JohnSully/KeyDB into unstable
Former-commit-id: 704cb4e9295800009ba4e918391e37d975e4e424
2019-11-20 19:44:43 -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
f136492c45 Additional asserts ensuring the client is creating on the correct thread
Former-commit-id: 937702ea1dd0a4331dd7c66ee9f5c2c3f2354d10
2019-11-20 17:00:40 -05:00
John Sully
852206db90 Update issue templates
Former-commit-id: 3ea56ffb38efd4fbfbb096481668be69cc61b15f
2019-11-20 16:25:33 -05:00
John Sully
465b35ec52 Update issue templates
Former-commit-id: becd3fc5a34d9c7d665531290c017f13d1b03c16
2019-11-20 16:24:23 -05:00
John Sully
72bbf16c2f Fix failure to wakeup from futex sleep due to fastlock_unlock reading the wrong offset in the asm version. Also fix false sharing in spinlock
Former-commit-id: 4c8603815cf525c75dcc360fddeab9ca6fe70ae6
2019-11-17 16:06:49 -05:00
John Sully
a27c1c9f0a Revert "Debug sleep should apply to all threads"
This reverts commit b8cc7e2b9c9223de33c1d6513decb80261998461 [formerly 41b678814b2c2ff93935b57e630028aaf2e9ae62].


Former-commit-id: 3ae75c2d2bd952d0a075b9ba257a08f962fe0739
2019-11-17 15:39:47 -05:00
John Sully
baffeff5c7 Improve perf of reading cluster bitfield
Former-commit-id: 9371c005aa7ffc2060b1b787e4268bc25336ca15
2019-11-17 14:52:12 -05:00
John Sully
c34fee9ed4 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
a098681bbf Cluster multithreading fixes
Former-commit-id: 3dd78a6101df0a980e520dcb55d80651bfc5a3a7
2019-11-14 20:14:24 -05:00
John Sully
b8cc7e2b9c Debug sleep should apply to all threads
Former-commit-id: 41b678814b2c2ff93935b57e630028aaf2e9ae62
2019-11-14 19:57:29 -05:00
John Sully
93844525ea killing clients should take effect ASAP
Former-commit-id: d0ccb074d5451cd457fe88efeb007cdb9746cb7f
2019-11-14 19:49:32 -05:00
John Sully
451c6e81f4 Improve AE Assert message
Former-commit-id: cb0fc7cca2406cf24fc238d6b6e1247c60d86704
2019-11-14 19:34:13 -05:00
John Sully
75b22fafc2 Fix test failure with tcl8.5 (test only issue)
Former-commit-id: 5e40ea6ee7f0f34a9e11fdd7518d81383dd73c41
2019-11-04 17:31:29 -08:00
John Sully
2194d91476 Fix potential race in pubsub
Former-commit-id: 427c5999f167256dc3a6a0f49ad28313f700a155
2019-10-25 02:50:30 -04:00
John Sully
df8a20a744 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
bd9ea70609 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
1e952f28c2 Sanitizers work with GCC too
Former-commit-id: 549cad378d9faccae0c47917d000c0cad3561351
2019-10-24 23:05:39 -04:00
John Sully
8f015eaebb Remove the DB lock, its unnecessary
Former-commit-id: 631f863dd89cd642e2023beabf8b31cdc84bbdff
2019-10-24 20:18:48 -04:00
John Sully
7a50cebac4 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
86c1f7aaf7 Build break, ensure C99 compatibility
Former-commit-id: ca4ee4e3e4e28e2a186ac782ab0052c56a798ed2
2019-10-23 13:38:07 -04:00
John Sully
b14b11c87c Fix build break in TravisCI
Former-commit-id: 2da09e07321e114faa04f84ef7a50908ecac5eea
2019-10-23 13:31:39 -04:00
John Sully
5f930a4f79 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
6dc17bbe1f processEventsWhileBlocked needs to release the lock in a safe way
Former-commit-id: 1a70af2ae13962db038b0635cc29488019323538
2019-10-23 13:19:57 -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
b84d9671ec Implement deadlock detection
Former-commit-id: fa797408d9c5d5f12053641144fe1a8b24f66185
2019-10-22 00:43:32 -04:00
john@csquare.ca
10561c2e57 Fix: ExpireMember does not update MVCC timestamp
Former-commit-id: f5210a8fb0704336e9734076b52a862698820f3a
2019-10-16 12:38:15 -04:00
John Sully
ac14b6ac7d expiremember should return the same results as expire
Former-commit-id: 8f1295c00f27b6c89785236c5199c1623773940d
2019-10-16 12:27:04 -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
eric-weaver
dab8343cde add missing dependency
Former-commit-id: 95e3dbc1048ba99af1b64f97b681ed1e67e2431a
2019-10-13 21:30:06 +02:00
Segmond
8c7c25a9fb Update README.md
Typo, focuses spelled as focusses

Former-commit-id: 40355eac3e46c6e4bb35f5cbc315a05beff291bf
2019-10-13 21:29:15 +02: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
6310847d61 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
0e82cb44e5 Implement the EXPIREMEMBERAT command
Former-commit-id: 203e341bf4427723903d8d3de03af2f0ef043a3f
2019-10-13 13:15:13 -04:00
John Sully
7b3f093dd6 Add millisecond support for EXPIREMEMBER command
Former-commit-id: 6e6cd84ad7dc9e5763ab36668cbbf8ca6743f8d9
2019-10-13 12:57:50 -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
fc97c22819 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
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
f66063aa90 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
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
Edgard Lorraine Messias
d5236c1c76 Fixed "Provides" name in chkconfig info
Former-commit-id: cedea7e4005ecf540c5383a7a9da04f8fabfe648
2019-10-01 13:44:58 -04:00
John Sully
5ca2fe61e1 Expire DEL command place holder
Former-commit-id: 64aa4b80e62fac75d5b5598515585c425472c537
2019-09-30 00:01:23 -04:00
John Sully
61cc53d604 Fuzz mode is now an argument not based on the exe name
Former-commit-id: 551a3cb1aa1c5799ec351dd2bef97adf0517b954
2019-09-30 00:00:29 -04:00