8595 Commits

Author SHA1 Message Date
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
John Sully
862a87a8ae Fix warnings on newer compilers
Former-commit-id: 33e0b3e1c0ddc0e56a00100e202b89eeff9cff61
2019-08-14 01:03:24 -04:00
benschermel
4c3ecad178 update readme (#71)
* update readme

* KeyDB must acknowledge its Redis origin and that while we have different opinions we are greatful to Antirez and Redis for the work they've done in this space.

* Update README.md


Former-commit-id: 4e9bfcf84bb6a7ed47d2eaf478fc933abfb48a2d
2019-08-06 19:25:13 -04:00
John Sully
b3de6fcf26 Optimize the new expire code
Former-commit-id: 75c6b4c64a9c9f39654c16b1f5ff5a003d24afbc
2019-08-02 21:31:05 -04:00
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
945a7b69f1 Fix crash in RediSearch
Former-commit-id: cbe5c04a0f3b0b1886f6c88c0a2401e0e6501b3b
2019-07-29 15:08:41 -04:00
John Sully
e3b97286ca RREPLAY failures should be logged
Former-commit-id: 08b6a04055e950e53f043391ec9f9a09f654b1ee
2019-07-24 22:49:30 -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
8c46a1fba2 Merge pull request #65 from JohnSully/subexpire
EXPIREMEMBER Command Implementation

Former-commit-id: d6b45a56e782238fc3467a7fb43ff167f0891e07
2019-07-23 19:06:57 -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
a3dbe03a66 Merge pull request #50 from JohnSully/expire
New Expire Datastructure which is faster and more memory efficient.  This allows us to process expiries in sublinear time.

Former-commit-id: d45edc493d111d4be81f2ce24e3022c8fffb3e2f
2019-07-23 18:40:48 -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