8448 Commits

Author SHA1 Message Date
John Sully
cfee6376d2 Active Replicas should always use their own slaveseldb variable when sending/saving rdbs - never those of their masters. This is because the Active Replica is also simultaneously a master
Former-commit-id: bb090b6d20bfc3d5d3ca07270f64bf15fad42681
2019-07-18 20:50:20 -04:00
John Sully
133650ac7d remove unnecessary variables
Former-commit-id: a9c4e3970fd0d00896cb5500b2cc926ec3177bc4
2019-07-18 19:37:49 -04:00
John Sully
594559b45e Fix issue #59 - Test replicaof config variable
Former-commit-id: d5ecc2347a717f6e6f938d81325476a9c3dff9a6
2019-07-18 19:22:49 -04:00
John Sully
5cb7ec841a Add support for sanitizers and fix issues they have found
Former-commit-id: 58971a430dd3e4e8c39c7b5288211bc2ba7699ed
2019-07-18 18:39:42 -04:00
John Sully
bd3cc0bb95 Resolve race on neterr variable
Former-commit-id: 1512274f4c51dc4e8f4e3d11df2f35e051c0c079
2019-07-18 17:11:28 -04:00
John Sully
857f778b38 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
ce595a9287 Suppress initialized data sanitizer warnings
Former-commit-id: ad32ba0343a241c46206ada273b0c0125e9e3101
2019-07-18 15:49:03 -04:00
John Sully
48e44624c3 Another RESP3 regression
Former-commit-id: 4e30a5b4e53a4d1580f8d7cca8a8eac11e36ce4d
2019-07-17 22:57:52 -04:00
John Sully
f71f79af8e Fix Issue #58
Former-commit-id: c8516f3dc484920de4fc52acd72f5104d643ca87
2019-07-17 02:34:02 -04:00
John Sully
5cbb1ed5f9 Shared objects should be marked as such
Former-commit-id: aae0fdc11434fa76a1847eca9292c277b559730a
2019-07-16 18:32:01 -04:00
John Sully
20cfb91f3f Crash when aborting SYNC with a master on a thread other than main
Former-commit-id: a19d0f67b9fffefd9029b9a2ef3358b110302bbf
2019-07-15 14:55:41 -04:00
John Sully
add714913b Implement test mode to make finding bugs easier
Former-commit-id: 971f69fe1ff9cce50492a47f306b312457e50b9f
2019-07-15 14:55:18 -04:00
John Sully
b82cf7f034 Blocked clients can stall when under low load
Former-commit-id: 7468c691ad04829c1fd3ae69f206946e8f38254a
2019-07-13 16:44:11 -04:00
John Sully
0f5b59241f Give the active-rep more time to sync for test reliability
Former-commit-id: 620c2ec1412a3bcea5fecf21238caa065e73f3e9
2019-07-12 23:52:07 -04:00
John Sully
ff0065df91 Fix more locking deadlocks
Former-commit-id: 3081b6f98b5e7a9f3ef7cfe040236070398b081c
2019-07-12 23:51:45 -04:00
John Sully
8cd37fae2c Fix deadlock with client and ae locks
Former-commit-id: 8630339e43c1de1cd723bdfdca8ab5924e2cb8b0
2019-07-12 20:46:50 -04:00
John Sully
3ffe5b5dde Add Active Replication tests
Former-commit-id: 528d10091fda0d2c56674e825c4f70467587955f
2019-07-12 03:54:41 -04:00
John Sully
e29c6d0ac9 FIX: The dabase count configuration is not respected
Former-commit-id: 149c3cf3dd75e8058c7c560d6a7ffbbb95da3898
2019-07-12 02:13:37 -04:00
John Sully
0da2d91659 Update README.md
Former-commit-id: f12c3cf9ddccedbafd7cde05fcabc5f47e5c58a3
2019-07-11 20:29:47 -04:00
John Sully
35e23ca988 Fix compile errors on GCC v5
Former-commit-id: 1f08a0efb33511ddc75c2acc62199bfcd0860137
2019-07-11 20:20:01 -04:00
John Sully
f0e17a7d04 Fix more accounting errors with active replication and the replication offset. Specifically we don't update repl_ack_off as frequently as we do reploff_skipped
Former-commit-id: 6cf85d1d01e56de0bb6e5d34590623cd8dabd32b
2019-07-11 19:20:12 -04:00
John Sully
2bccf7adbf Active Replicas are not slaves
Former-commit-id: b5101a460dba56d6deac5b753d09d47d834eee4a
2019-07-11 18:51:20 -04:00
John Sully
8ba25371a5 Fix active replication offset synchronization accounting, and enable the wait command
Former-commit-id: a5784ef09e71a9a45780a8f3dbab875b1f1fe1a5
2019-07-11 17:00:23 -04:00
John Sully
0c611d8347 lazyfree needs to consume more memory to be detectable
Former-commit-id: 122ec25bf0db0b90e7789b1ab90695ac3f9258b7
2019-07-06 00:53:40 -04:00
John Sully
514640f314 Redis only does this in beforeSleep function - doing extra calls like we do causes test issues
Former-commit-id: d013ad9ebaf3c2bf38121349ed9b98e16439c734
2019-07-06 00:53:20 -04:00
John Sully
725dd6539f Add back user space buffering of RDB save
Former-commit-id: d918ca6fa57a6149b86b4effc787dbdde7350133
2019-07-06 00:36:23 -04:00
John Sully
33f32477da We can use less memory in the client output buffers. Its OK
Former-commit-id: 852819180f6a281449a376b6b79a424af4e63c82
2019-07-05 23:43:01 -04:00
John Sully
95f0357746 Fix additional warning related to new() overloads
Former-commit-id: 218111eb7244643bd13af47b878622c429535288
2019-07-05 23:42:39 -04:00
John Sully
9983a59895 Fix additional warnings
Former-commit-id: 1531cfb7eea1824fb40da596b3446baa4312355c
2019-06-27 16:29:36 -04:00
John Sully
f5f4815041 Fix mac build breaks
Former-commit-id: 16a89f21dc0beb23b7eb8f2e378d076da918c0d6
2019-06-27 15:04:09 -04:00
John Sully
dbc8272acf Fix libcxxabi clang compile failure in travis, as well as bool issue due to old clang
Former-commit-id: 79e5160e376cfedc690d351d49c3327d5f48c580
2019-06-18 00:42:01 -04:00
John Sully
61015908ab Bump travis compiler version
Former-commit-id: 510e966dc0cae510f6687e8d5e35c8576ce62cef
2019-06-18 00:42:01 -04:00
John Sully
d4d6e7756d Fix Travis CI issue
Former-commit-id: 8238d3207e484e5c9515d00ee7d2247168c03612
2019-06-17 23:56:23 -04:00
John Sully
d65ce6fbbc Fix issues with relaxed memory model architectures
Former-commit-id: e37bc4ad40e852b67ee14e5aa87fd2f398f00eed
2019-06-17 23:00:12 -04:00
John Sully
db5af7990d Remove unnecessary recursive lock
Former-commit-id: 0f78b8b91729374f76f562049e16c0556da00959
2019-06-17 23:00:12 -04:00
John Sully
a849655efd missing file :)
Former-commit-id: 19061fe04f22dc2dcb4547a4c74eccfb89cae785
2019-06-17 23:00:12 -04:00
John Sully
d5b47e6997 Fix test failures due to assert
Former-commit-id: 9c901eb65f98008f0962c5edc33aadc15ec6f619
2019-06-17 23:00:12 -04:00
John Sully
9725fadaba 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
924509f52f Move more code out of the GIL
Former-commit-id: 59dbd625c143c1a890d4387f7a32c997f0d64f5f
2019-06-17 23:00:12 -04:00
John Sully
9a050ffb42 Remove an unnecessary lock that eats performance
Former-commit-id: 8eb4e355b934e394608b082c7d1973152238fa1f
2019-06-17 23:00:12 -04:00
John Sully
049ca9bf58 Even the next up thread should sleep in the futex
Former-commit-id: 8b76b01bfe710603bcdc101da6eb27afcee7e1b1
2019-06-17 23:00:12 -04:00
John Sully
dd7cbbe730 Fallback to a futex if we spin for a long time
Former-commit-id: ec57b4b0248bba671e388a2257b1bd65ed8d0f44
2019-06-17 23:00:12 -04:00
John Sully
7fc6f7f607 Enable load balancing of UNIX sockets across threads
Former-commit-id: 46d6caa47c57fa13055615dfc2376b0962468b81
2019-06-11 01:34:36 -04:00
John Sully
193522b54e Fix crash adding duplicate replica. Just send an error instead
Former-commit-id: 97b65ce19c09188acd0d662aad8d774a55531437
2019-06-02 15:50:50 -04:00
John Sully
460e36a6e7 Merge branch 'unstable' of https://github.com/JohnSully/redis2 into unstable
Former-commit-id: 55d0ef40b06beb361fe39097b2c731c1918d6b23
2019-06-01 03:23:21 -04:00
John Sully
2679450489 Implement MOTD feature in keydb-cli
Former-commit-id: a6c56416fc1bf09f1ecbae45195290209aa93c89
2019-05-21 15:12:12 -04:00
John Sully
b35e5f3cd0 Update README.md
Former-commit-id: cd3c482d5e36bc82fcef653e8020f68e2ac21938
2019-05-21 00:04:12 -04:00
John Sully
dd5152f836 Fix regressions from RESP3 changes in commit c8304b099d82dba4da35f4cfaa99595bcdb46d1a
Former-commit-id: c5cbb77fc7e3b2b5124b9432e144d8c74190c755
2019-05-20 23:39:44 -04:00
John Sully
b7fff89e3e The unstable branch doesn't have a version #
Former-commit-id: d7f21f02b30c3f9092dbf9aec75481baf45c3311
2019-05-20 16:12:26 -04:00
John Sully
7d40b9b7d5 Fix double unlock
Former-commit-id: 87dc8ce9b3e376e4a6264aee1d2787b9f8d6437f
2019-05-20 15:52:04 -04:00