antirez
0714581e0c
Mark diskless loads as experimental in redis.conf.
2019-07-25 19:17:58 +02:00
Salvatore Sanfilippo
5591a14c0a
Merge pull request #6248 from oranagra/module-log
...
RM_Log - add support for logging without a context or context without module
2019-07-25 18:48:46 +02:00
John Sully
e7ef6c23c8
RREPLAY failures should be logged
...
Former-commit-id: b0a0f03b96b44005e905f5d46985d76d52a712ec
2019-07-24 22:49:55 -04:00
John Sully
f3aa422a3f
RREPLAY failures should be logged
...
Former-commit-id: 08b6a04055e950e53f043391ec9f9a09f654b1ee
2019-07-24 22:49:30 -04:00
John Sully
5b2ea98292
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
f31b1fd06b
Issue #64 RREPLAY isn't binary safe. Add fix and test.
...
Former-commit-id: afe66288fe9df6d8247d459e57858430f1ec7a25
2019-07-24 22:31:02 -04:00
Oran Agra
e91d9a6fff
Extend modules API to allow modules report to redis INFO
...
this implements #6012
2019-07-24 12:58:15 +03:00
antirez
fde5e737dc
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2019-07-24 11:45:19 +02:00
antirez
e53a26b5d8
Client side caching: document tracking-table-max-fill in redis.conf.
2019-07-24 11:45:10 +02:00
antirez
0b780a5477
Example redis.conf: stay under 80 cols.
2019-07-24 11:38:11 +02:00
antirez
32efd9adf8
Client side caching: config option for table fill rate.
2019-07-24 11:35:01 +02:00
antirez
a67d0411e7
Remove experimental warning from diskless replication.
2019-07-24 11:33:53 +02:00
wubostc
48f4cfb601
Reduce the calling stack
2019-07-24 16:22:26 +08:00
John Sully
2df14dc997
We can't set FExpire() on shared objects, issue #66
...
Former-commit-id: 2794cfced4fdb18c0860e966dde0b46b9584c4dc
2019-07-23 23:39:47 -04:00
John Sully
11364a1147
Merge pull request #65 from JohnSully/subexpire
...
EXPIREMEMBER Command Implementation
Former-commit-id: d6b45a56e782238fc3467a7fb43ff167f0891e07
2019-07-23 19:06:57 -04:00
John Sully
9711895721
Subexpire entries should load/save
...
Former-commit-id: a55d98043655473ecdd53db2927381635eefc0b8
2019-07-23 18:53:59 -04:00
John Sully
010450e68f
Fix buggy rebase
...
Former-commit-id: 6037d1f326116e5aae56be9a73a8f9ca68a45bbe
2019-07-23 18:53:59 -04:00
John Sully
589628823f
Fix merge conflict
...
Former-commit-id: 0b43b51a2e3a6af11532146fbb7929f3ecf3b036
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
d7a1231238
Fix crash with traditional expiration
...
Former-commit-id: 0ba5b2c3d66d3a1a520f223ad2c288c22601bd5a
2019-07-23 18:53:58 -04:00
John Sully
2a2225d150
Initial prototype of EXPIREMEMBER command
...
Former-commit-id: 0b3d74ea67d616a6869cbd66198c8dd7ffa72eb7
2019-07-23 18:53:58 -04:00
John Sully
4568ecf9cd
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
be123c44b9
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
d58b2575e5
Support TTL stats with the new expire datastructure
...
Former-commit-id: 271df3dad4f55f20177a8a9a065778f4943835f1
2019-07-23 18:30:10 -04:00
John Sully
d050d20a9f
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
9420b9c1c2
Add back missing file lost in rebase
...
Former-commit-id: b5512d77a1299cf6ff960229cd47776b82eaba4b
2019-07-23 18:30:10 -04:00
John Sully
741029118e
Add back file erroniously deleted in rebase
...
Former-commit-id: 42bda8eaba71c99c776100b225606c9aced1d2ba
2019-07-23 18:30:10 -04:00
John Sully
db206557e9
never make last minute changes before commiting
...
Former-commit-id: 7e5d3f4f160c1c6f91c42b19f95ad17fcb7f1590
2019-07-23 18:30:10 -04:00
John Sully
82bd5f0ecc
Fix a few potential assert crashes
...
Former-commit-id: 5f3920e491a9632d3b84d9af7800c154f2be0809
2019-07-23 18:30:10 -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
Salvatore Sanfilippo
dbee7ca007
Merge pull request #6265 from madolson/dev-unstable-remove-create-object
...
Removed unnecessary creation of Redis objects
2019-07-23 17:05:10 +02:00
antirez
c98e7717bb
Client side caching: show tracking slots usage in INFO.
2019-07-23 11:02:14 +02:00
antirez
9268493e8d
Client side caching: implement full slot limit function.
2019-07-23 10:57:22 +02:00
Salvatore Sanfilippo
47ce1cebeb
Merge pull request #6267 from soloestoy/opt-claim-trackingtable
...
Client side caching: do not reclaim tracking table if it's empty
2019-07-23 09:43:41 +02:00
zhaozhao.zz
9012e587ca
Client side caching: do not reclaim tracking table if it's empty
2019-07-23 15:25:00 +08:00
Madelyn Olson
7d21754710
Hide HELLO and AUTH from slowlog and monitor
2019-07-22 22:53:15 -07:00
Madelyn Olson
8fe173452a
Removed unecessary creation of Redis objects
2019-07-22 22:52:16 -07:00
Oran Agra
3b6aeea44c
Implement module api for aux data in rdb
...
Other changes:
* fix memory leak in error handling of rdb loading of type OBJ_MODULE
2019-07-22 21:15:33 +03:00
antirez
c41f94d2a3
Client side caching: split invalidation into key / slot.
2019-07-22 18:59:53 +02:00
antirez
09c06698e9
Client side caching: redis-cli ability to enable tracking.
...
This is extremely useful in order to simulate an high load of requests
about different keys, and force Redis to track a lot of informations
about several clients, to simulate real world workloads.
2019-07-22 18:45:47 +02:00
antirez
436d02dd7b
Move signalFlushedDb() into a better place.
...
Now that the call also invalidates client side caching slots, it is
important that after an internal flush operation we both send the
notifications to the clients and, at the same time, are able to reclaim
the memory of the tracking table. This may even fix a few edge cases
related to MULTI/EXEC + WATCH during resync, not sure, but in general
looks more correct.
2019-07-22 12:37:47 +02:00
antirez
7d3992a80a
Client side caching: reclaim the tracking table on FLUSHALL.
2019-07-22 12:33:49 +02:00
antirez
842b44dc46
Client side caching: call the invalidation functions always.
...
Otherwise what happens is that the tracking table will never get garbage
collected if there are no longer clients with tracking enabled.
Now the invalidation function immediately checks if there is any table
allocated, otherwise it returns ASAP, so the overhead when the feature
is not used should be near zero.
2019-07-22 12:29:54 +02:00
antirez
f850201c64
Client side caching: don't hash the key if not needed.
2019-07-22 12:10:51 +02:00
antirez
e00442eb13
Clinet side caching: take count of used caching slots.
2019-07-22 11:47:44 +02:00
chendianqiang
004c26ec28
make memory usage consistent of robj with OBJ_ENCODING_INT
2019-07-22 17:45:30 +08:00
Oran Agra
d7d028a7a7
Allow modules to handle RDB loading errors.
...
This is especially needed in diskless loading, were a short read could have
caused redis to exit. now the module can handle the error and return to the
caller gracefully.
this fixes #5326
2019-07-21 18:19:32 +03:00
John Sully
ff682d7902
Modules must have execute permissions to load
2019-07-19 15:28:31 -04:00
John Sully
2e6f1098e4
Any +x bit is acceptable
...
Former-commit-id: 156e596f9c7a922bc3361652b74b78bbeab0f2dc
2019-07-19 15:26:17 -04:00
antirez
bc5cb168f5
RDB: fix MODULE_AUX loading by continuing to next opcode.
...
Thanks to @JohnSully for noticing this problem.
2019-07-19 11:12:46 +02:00