John Sully
e87dee8dc7
Add build flag to disable MVCC tstamps
...
Former-commit-id: f17d178d03f44abcdaddd851a313dd3f7ec87ed5
2020-08-10 06:10:24 +00:00
Muhammad Zahalqa
ca929bb9c1
fixes for robj_sharedptr
...
1. fix cases where null pointer might be accessed
2. make assignmnet op safe
3. make operator bool explicit (safe bool idiom)
4. make comparison operators symetric
fix robj_sharedptr use in rdb.cpp
Former-commit-id: ede524c0647c0875f1071978f26ff785c8d1183e
2020-06-24 23:18:27 -04:00
John Sully
0241311e69
Remove debug logs that shouldn't have been checked in
...
Former-commit-id: 31f58311e3de7441d81dd37bd4396be3b64efec5
2020-06-01 16:34:05 -04:00
John Sully
4f7102f46c
Fix for issue #187 we need to properly handle the case where a key with a subkey expirey itself expires during load
...
Former-commit-id: e6a9a6b428b91b6108df24ae6285ea9b582b7b23
2020-06-01 15:33:19 -04:00
John Sully
5d9afccfdd
Diskless replication handler needs to run on the main thread
...
Former-commit-id: 091af6400348b7716f7fe0bc845bf7f16d922815
2020-05-23 15:15:42 -04:00
John Sully
2d783a3cbf
Merge tag '6.0.2' into unstable
...
Redis 6.0.2
Former-commit-id: a010e4a4b2cc2bcad1cb14604b7ebc596c35b05e
2020-05-22 16:45:18 -04:00
John Sully
67b7d512cb
Merge commit 'cb683a84f7a9d530bec629f2b656e7d0842a0f75' into unstable
...
Former-commit-id: 817a11ff110772893eda0675912bbb0cfc1fca74
2020-05-22 15:56:35 -04:00
John Sully
df7ac419d0
Merge commit '3a441c7d95c8757d2ab12ff730cc7ca8899538c9' into unstable
...
Former-commit-id: c52e1fc78c369843e49a22765bed2c53e99d9709
2020-05-22 15:42:50 -04:00
John Sully
1eeb5de69f
Merge commit 'c57d9146f41f4b661d9d2cb48b83b3abc757ba0e' into unstable
...
Former-commit-id: d74871da40dea11bd1a226fbecb0974ff5f8ec8c
2020-05-22 15:36:44 -04:00
John Sully
8f8dea57db
Merge tag '6.0.1' into unstable
...
Redis 6.0.1.
Former-commit-id: c505df8830123904da026be2aacbd92a95a5e37c
2020-05-21 23:41:36 -04:00
John Sully
27eb239f1a
Fix bad merge in CI.yml
...
Former-commit-id: 6311d709c39b3bacaeab77b18033010f1b548f81
2020-05-21 22:09:06 -04:00
John Sully
ad1eac9856
Merge commit 'bec68bff2978de88b23140f41b6a943162333b11' into unstable
...
Former-commit-id: 8ab77465dbb3c0b1f859f24cdbb461937516eb6a
2020-05-21 19:37:42 -04:00
John Sully
3384af024d
Merge commit 'cbcd07777dc569618a34f59e5fd0de53178f4f1d' into unstable
...
Former-commit-id: 49784c8122e827bd9de86bbae4d88c313400e86e
2020-05-21 18:48:49 -04:00
John Sully
24322b9b6d
Merge commit 'eba28e2cea0b2632cf751426ada02adf24f273db' into unstable
...
Former-commit-id: d5b057534a3dbf50f94465332107da2490811946
2020-05-21 17:32:53 -04:00
John Sully
02147b4be0
Merge commit '0f7dfc378ce5ab0524ac28b6142545bc41435386' into redis_6_merge
...
Former-commit-id: cc3ebbe5194e9744fb84ce490e90ac5fbe7f8716
2020-04-14 22:19:29 -04:00
John Sully
07005cc187
Merge commit 'be4bc1a5be26a7fde2fd05acd8187f5f0ed59f25' into redis_6_merge
...
Former-commit-id: 516c8c6e231cdfc87a3db5be401407cb7afa3937
2020-04-14 20:42:48 -04:00
John Sully
12999c17dd
Merge commit 'df83892760d19b1b7e92d76e72daf4834ad2df6c' into redis_6_merge
...
Former-commit-id: cde199a7973ad63317b68f581df607321e12bf46
2020-04-14 19:43:04 -04:00
John Sully
af459476ea
Merge branch 'unstable' into redis_6_merge
...
Former-commit-id: 718aee242dd75abd16a5a6a89353d2a35f37b010
2020-03-25 15:47:12 -04:00
John Sully
7b2b437539
Fix failure to load subkey expires
...
Former-commit-id: 528a43bd6c80f073d928dd18c4f67f37cfd0977a
2020-03-25 01:38:58 -04:00
John Sully
3de971b10c
Fix memory leak in RDB load
...
Former-commit-id: 4e9d2f08b11cc76bb2716514fa6d55f76160fd13
2020-02-16 18:42:14 -05:00
John Sully
2f62f3fbcd
Fix memory leak in RDB load
...
Former-commit-id: 06ad1c15d719a34fed36244b12a593f749bbb8a6
2020-02-16 18:41:50 -05:00
John Sully
958b86ddbb
RDB memory leaks
...
Former-commit-id: 6208118b133c7f4209fd0a55d2a75341407e3e2c
2020-01-30 17:57:10 -05:00
John Sully
8e5fe97525
Merge remote-tracking branch 'redis/6.0' into redis_merge
...
Former-commit-id: ef9a3cadcf94326bf2f163db7698aad9a3c01690
2020-01-27 02:55:48 -05:00
John Sully
262b9a5d92
Initial implementation of the CRON command
...
Former-commit-id: 3204a39ada15ec33ac7926dc8b8f0e1875b99acb
2020-01-21 19:50:28 -05:00
John Sully
da17594170
Fix some static analysis warnings
...
Former-commit-id: 42a8f22c21706f9ddcaa63ceafc5ad817c1fe876
2019-12-27 18:17:22 -05:00
John Sully
3668715ba3
Fix issue #83
...
Former-commit-id: 3028a890ef11cd99b2c7538de0f480d2466eb150
2019-11-21 20:05:16 -05: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
08b353cd55
Fix double free in RDB load
...
Former-commit-id: 070c4818715b56645855abb72af47c846fc63027
2019-09-28 17:38:26 -04:00
John Sully
9f3cbd580e
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
9711895721
Subexpire entries should load/save
...
Former-commit-id: a55d98043655473ecdd53db2927381635eefc0b8
2019-07-23 18:53:59 -04:00
John Sully
f88592451d
Plumb support for sub expires to all expire related code
...
Former-commit-id: 184abac6942a9a6aa8783741b50b23210afddcc5
2019-07-23 18:53:59 -04:00
John Sully
2a2225d150
Initial prototype of EXPIREMEMBER command
...
Former-commit-id: 0b3d74ea67d616a6869cbd66198c8dd7ffa72eb7
2019-07-23 18:53:58 -04:00
John Sully
27cb5dba75
New expire datastructure and algorithm. Allows us to expire in sublinear time
...
Former-commit-id: 3880d2616c882e19169180dc10268564347b0279
2019-07-23 18:30:10 -04:00
antirez
1aa5638b93
RDB: make sure to abort on LZF encoding error.
...
Former-commit-id: 27fe1658a2019bcd5d880e844bac21ccef8303f2
2019-07-19 01:03:16 -04:00
antirez
3e75e77dcd
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
47e7652611
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
2a1d7890f6
Fix compile errors on GCC v5
...
Former-commit-id: 1f08a0efb33511ddc75c2acc62199bfcd0860137
2019-07-11 20:20:01 -04:00
John Sully
a43a383361
Add back user space buffering of RDB save
...
Former-commit-id: d918ca6fa57a6149b86b4effc787dbdde7350133
2019-07-06 00:36:23 -04:00
John Sully
7b87123505
refactor server global into a pointer (so that threadsafe commands can set this to NULL to prove they don't rely on it
...
Former-commit-id: 37b2d046bef12c7ee7cac4883f0b64ddde236d74
2019-04-21 14:01:10 -04:00
John Sully
e2e3acf04c
Factor out some normally const globals
...
Former-commit-id: fa2e407873fce7f936943ae1fe162d54d7bedd70
2019-04-21 13:20:45 -04:00
John Sully
a28120cb9e
Timestamp writes to objects so we can be smarter about merging databases
...
Former-commit-id: 5dc9f70386617b02fab7eee1194f321f6b4b25c5
2019-04-20 00:52:07 -04:00
John Sully
d22f1d9481
Additional MVCC work and fix memory leak loading objects from rdb
...
Former-commit-id: efde2e6be6dc2fc3425a17e2dc146c5b8823730a
2019-04-19 22:54:42 -04:00
John Sully
c32ae00cb8
Add version override command for users that need compatibility with Redis
...
Former-commit-id: 5a78a3bc46335a844490fe00e657d68313680cbe
2019-04-19 19:57:11 -04:00
John Sully
b5e25f876f
Start of MVCC support (and more C++)
...
Former-commit-id: c4621a5ed2a7d8ca5034f2fbe8b71550f290ea64
2019-04-16 23:16:03 -04:00
John Sully
7859e0562f
Move remaning files dependent on server.h over to C++
...
Former-commit-id: 8c133b605c65212b023d35b3cb71e63b6a4c443a
2019-04-08 01:00:48 -04:00