John Sully
6cb89c9aee
rehash MS does too little work before checking the time
...
Former-commit-id: 3e57b5c961f7dd91ddb24331eba9a3fa39b08fdd
2019-11-29 15:18:37 -05:00
John Sully
5012176262
Nested snapshot garbage collection. Works but huge fragmentation
...
Former-commit-id: 82b2a3f3dbf8f864d9157655b5422c69845c4019
2019-11-28 19:00:51 -05:00
John Sully
27f7c2af00
Ensure size() count is accurate, and fix find_threadsafe which didn't check children
...
Former-commit-id: ffa44b636afd4fe907c79fe7deebac3d1e091ee9
2019-11-25 17:50:40 -05:00
John Sully
1efd066a96
Move snapshot code into its own file
...
Former-commit-id: 4afd0a6ce650cc93a73ea3e4bb632226087dde37
2019-11-24 17:59:02 -05:00
John Sully
4346bcd7dc
Restrict the snapshot API
...
Former-commit-id: cbafb88f267a9480cdbde6a88e9e1992e8a85971
2019-11-24 17:53:06 -05:00
John Sully
a1f29681aa
Get rid of key only iterate, the threadsafe is just as fast and key only users can ignore the robj
...
Former-commit-id: 29689a5ed6141c5b2019d41ccd4036e6ddd1a121
2019-11-24 15:45:17 -05:00
John Sully
1badb64289
Fix crash on shutdown
...
Former-commit-id: 6dc55cc0f838b3c82afb233985429b4e7fc5dfb1
2019-11-24 14:24:41 -05:00
John Sully
dc47a20da3
Fix multithreading data races
...
Former-commit-id: 80f6e5818fd575cb08a5f620c35eed1cd862eb57
2019-11-24 13:44:43 -05:00
John Sully
a7d378659f
Fix warning
...
Former-commit-id: 1318b87013c61f7149127eae8e30caf887a6db7b
2019-11-23 19:19:54 -05:00
John Sully
b0278f5609
Add support for nesting snapshots
...
Former-commit-id: 5e6c37f388233cc3f2d204ad17ac2897d3333a21
2019-11-23 19:02:50 -05:00
John Sully
417388bd7a
Remove pending async writes if we're freeing the client
...
Former-commit-id: 8b5caad51136f1ed29a9e4c01ed984f6e7ff9c4c
2019-11-23 19:01:40 -05:00
John Sully
df6d8170ae
Add support for removing pending writes for clients we're about to free
...
Former-commit-id: 67c1fd322e1a12b1b22707d67713d60c97c34cef
2019-11-23 19:00:27 -05:00
John Sully
252db8939b
Add support for nested snapshots
...
Former-commit-id: 43456c7807152062d59b2a90597b6204f637f5cd
2019-11-22 20:53:36 -05:00
John Sully
fbc7821244
Fix crash when client running async keys disconnects before keys finishes
...
Former-commit-id: dd9233c49d82c89a9d92b7251a56f91c2ee98e77
2019-11-21 20:40:58 -05:00
John Sully
5e692ff15a
Merge branch 'unstable' into advanced_db
...
Former-commit-id: 00ad497fb3f409dbfcaa62fa9ea5d793263eb13d
2019-11-21 20:21:48 -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
e685a4f4a1
Add missing files
...
Former-commit-id: 8fa2951e21c5c75a0bb4dc3ef50891123166b76a
2019-11-19 23:03:20 -05:00
John Sully
59b23ddfac
Clarify license
...
Former-commit-id: d0a7f219cd56edbe70bd8e93f21b39e6cd4836e2
2019-11-19 22:22:16 -05:00
John Sully
036fc9614d
Run KEYS async
...
Former-commit-id: 214a54a815ff66ef4a1526da90296787240ecdf9
2019-11-19 22:12:52 -05:00
John Sully
e25a4e80e7
Multiple threads should be able to get the same snapshot provided its not too old
...
Former-commit-id: 054331098ee18dfb1887fd2b0a67688ef894823e
2019-11-19 17:40:35 -05:00
John Sully
4084c04112
Ensure iterating the keyspace still works during background save
...
Former-commit-id: 23d7a8a293f253262801bc6ce88ad85e4e38f59a
2019-11-19 15:47:06 -05:00
John Sully
b51ece810f
Final design of forkless background save. expires NYI
...
Former-commit-id: e2dc24b441bf52b181c820c853e0bc7524254f3f
2019-11-18 19:47:12 -05:00
John Sully
331f38b94e
Merge branch 'unstable' into advanced_db
...
Former-commit-id: 7530d93cd5c4a9fc4e6466abcf96edbdd8daea9e
2019-11-18 15:22:17 -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