6058 Commits

Author SHA1 Message Date
John Sully
ef6d9c6e1f Fix test failures: Non active replicas are allowed to use shared int values
Former-commit-id: 8536854266d5795c5c2bc11b8b344f20759b55af
2019-07-30 17:11:15 -04:00
John Sully
5525de6148 Acquire the lock for modules that don't acquire it before calling like they are supposed to
Former-commit-id: 6016dd0f8b68ceeeb161a39a0d531a3cc52d78d8
2019-07-30 16:54:25 -04:00
John Sully
89b8ba8d9d Fix HLL corruption
Former-commit-id: 47ef9e5cbd11dad107a68a94dfb51d192e86c84e
2019-07-29 18:08:45 -04:00
John Sully
f8884fed3a 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
8d36bab0e1 Fix crash in RediSearch
Former-commit-id: 6b6e6f6c1ef49f87f794de512489e5fbbfb67ca0
2019-07-29 15:08:57 -04:00
John Sully
945a7b69f1 Fix crash in RediSearch
Former-commit-id: cbe5c04a0f3b0b1886f6c88c0a2401e0e6501b3b
2019-07-29 15:08:41 -04:00
John Sully
ce96c69719 RREPLAY failures should be logged
Former-commit-id: b0a0f03b96b44005e905f5d46985d76d52a712ec
2019-07-24 22:49:55 -04:00
John Sully
e3b97286ca RREPLAY failures should be logged
Former-commit-id: 08b6a04055e950e53f043391ec9f9a09f654b1ee
2019-07-24 22:49:30 -04:00
John Sully
17e6131ca5 Issue #64 RREPLAY isn't binary safe. Add fix and test.
Former-commit-id: f1982ca63dc8dd85b62c1338d7be324595b6ad8e
2019-07-24 22:31:44 -04:00
John Sully
4c49370efe Issue #64 RREPLAY isn't binary safe. Add fix and test.
Former-commit-id: afe66288fe9df6d8247d459e57858430f1ec7a25
2019-07-24 22:31:02 -04:00
John Sully
a0d7eb5a19 We can't set FExpire() on shared objects, issue #66
Former-commit-id: 2794cfced4fdb18c0860e966dde0b46b9584c4dc
2019-07-23 23:39:47 -04:00
John Sully
9ba5270bda Subexpire entries should load/save
Former-commit-id: a55d98043655473ecdd53db2927381635eefc0b8
2019-07-23 18:53:59 -04:00
John Sully
9f42bb5d91 Fix buggy rebase
Former-commit-id: 6037d1f326116e5aae56be9a73a8f9ca68a45bbe
2019-07-23 18:53:59 -04:00
John Sully
4ec97fdb46 Fix merge conflict
Former-commit-id: 0b43b51a2e3a6af11532146fbb7929f3ecf3b036
2019-07-23 18:53:59 -04:00
John Sully
e06c38f1d3 Plumb support for sub expires to all expire related code
Former-commit-id: 184abac6942a9a6aa8783741b50b23210afddcc5
2019-07-23 18:53:59 -04:00
John Sully
95371d60fe Fix crash with traditional expiration
Former-commit-id: 0ba5b2c3d66d3a1a520f223ad2c288c22601bd5a
2019-07-23 18:53:58 -04:00
John Sully
94645b33dd Initial prototype of EXPIREMEMBER command
Former-commit-id: 0b3d74ea67d616a6869cbd66198c8dd7ffa72eb7
2019-07-23 18:53:58 -04:00
John Sully
82a3e942bf New expire datastructure and algorithm. Allows us to expire in sublinear time
Former-commit-id: ea3bd614b8b88b8de0b114f917fbd0de93557c72
2019-07-23 18:49:31 -04:00
John Sully
e04cff2cfe Support TTL stats with the new expire datastructure
Former-commit-id: 271df3dad4f55f20177a8a9a065778f4943835f1
2019-07-23 18:30:10 -04:00
John Sully
8b3d250d8f Implement hash table stats and fixup the hash function based on the results
Former-commit-id: 5a193872f8e002c97b7dc2c4bc3bab8e0478765f
2019-07-23 18:30:10 -04:00
John Sully
e8709ee6b0 Add back missing file lost in rebase
Former-commit-id: b5512d77a1299cf6ff960229cd47776b82eaba4b
2019-07-23 18:30:10 -04:00
John Sully
3ffdccad86 Add back file erroniously deleted in rebase
Former-commit-id: 42bda8eaba71c99c776100b225606c9aced1d2ba
2019-07-23 18:30:10 -04:00
John Sully
fc54e0970f never make last minute changes before commiting
Former-commit-id: 7e5d3f4f160c1c6f91c42b19f95ad17fcb7f1590
2019-07-23 18:30:10 -04:00
John Sully
23c1e89190 Fix a few potential assert crashes
Former-commit-id: 5f3920e491a9632d3b84d9af7800c154f2be0809
2019-07-23 18:30:10 -04:00
John Sully
a060bc7942 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
f094402c33 Any +x bit is acceptable
Former-commit-id: 156e596f9c7a922bc3361652b74b78bbeab0f2dc
2019-07-19 15:26:17 -04:00
John Sully
8d526d9354 Any +x bit is acceptable
Former-commit-id: fc58516cca72fc9db97bc4c388f9fa692d115df4
2019-07-19 01:42:05 -04:00
John Sully
5404d6f6bb Modules must have execute permissions to load
Former-commit-id: a4efcd35af52227a22daf7f882e8e14db3f8bf57
2019-07-19 01:31:10 -04:00
antirez
ebc50797a0 RDB: make sure to abort on LZF encoding error.
Former-commit-id: 27fe1658a2019bcd5d880e844bac21ccef8303f2
2019-07-19 01:03:16 -04:00
antirez
867070eb99 RDB: handle encoding errors with rdbExitReportCorruptRDB().
Without such change, the diskless replicas, when loading RDB files from
the socket will not abort when a broken RDB file gets loaded. This is
potentially unsafe, because right now Redis is not able to guarantee
that encoding errors are safe from the POV of memory corruptions (for
instance the LZF library may not be safe against untrusted data?) so
better to abort when the RDB file we are going to load is corrupted.

Instead I/O errors are still returned to the caller without aborting,
so that in case of short read the diskless replica can try again.


Former-commit-id: 47feb2719ca7fd04e7e108ec1af0f777e536bf8a
2019-07-19 01:02:49 -04:00
John Sully
1c8c4a5db2 Fix bad merge in SCAN KEYS command
Former-commit-id: c21af6b351328ffbdb1d1e2a7eed44f8f929f8b2
2019-07-19 00:43:23 -04:00
John Sully
c178b67ded Merge commit '9c1932beeb6e307c2fbeadcfff8954e517189ae8' into unstable
Former-commit-id: 821c12c482d20b15dfb5a6eeab52e167997627d8
2019-07-19 00:32:43 -04:00
John Sully
33acb40633 Merge commit '985e5b2c608eade2a60e50a6a177f13381c9c8d8' into unstable
Former-commit-id: 4602f8c391409e9dd59f1fbee6a5ef011b219ca1
2019-07-19 00:01:56 -04:00
John Sully
6e461c3cc3 Fix compile errors from merges
Former-commit-id: 27a927fe0011536c6539d7c2a79ccfdaf78cee22
2019-07-18 23:35:51 -04:00
Angus Pearson
12c8823c93 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
Madelyn Olson
a25866ad35 Fixed some spelling issues in ACL codepath including user facing error
Former-commit-id: 50ad880ad55e7761fe2598e09be43947e88740fe
2019-07-18 23:28:36 -04:00
John Sully
11b12219eb Merge commit '214555b02ea448c444fb6a32ecfc5f312fc052b8' into unstable
Former-commit-id: 15bed4bbcc962ec1e8ad5f57653534b721df9a70
2019-07-18 23:26:46 -04:00
John Sully
13fa9bb2be Merge commit '4bbaf621a12f6ec22ec7dad6a2282b7908660497' into unstable
Former-commit-id: 10986ae3a801c13013ec74880dd1f7969c284d01
2019-07-18 23:22:36 -04:00
John Sully
6f3eda55d9 Merge commit '9eea57cc311e62a49358e09af7baebce9da9053f' into unstable
Former-commit-id: ee460301fd160cf3fc82e52cf47d4a5f7503d781
2019-07-18 23:20:46 -04:00
John Sully
79b33481ae Merge commit '3f4f7aff1aa6abf8cad1726941d4c33b3bfbc9b8' into unstable
Former-commit-id: 8ebe2fce3da506639acb37fedf1a2d3e47669572
2019-07-18 23:18:42 -04:00
antirez
b2d03d4221 Make comment in getClientOutputBufferMemoryUsage() describing the present.
Former-commit-id: 35acae360a4c3c67370b03b4835c51b08194ca28
2019-07-18 23:12:39 -04:00
John Sully
40eefe7da7 Release version 5
Former-commit-id: 25e18a7de91d4af651f8f22674846cb0238dd5d3
2019-07-18 20:50:40 -04:00
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
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