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
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
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
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
add714913b
Implement test mode to make finding bugs easier
...
Former-commit-id: 971f69fe1ff9cce50492a47f306b312457e50b9f
2019-07-15 14:55:18 -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
35e23ca988
Fix compile errors on GCC v5
...
Former-commit-id: 1f08a0efb33511ddc75c2acc62199bfcd0860137
2019-07-11 20:20:01 -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
Salvatore Sanfilippo
9c1932beeb
Merge pull request #6116 from AngusP/scan-types
...
SCAN: New Feature `SCAN cursor [TYPE type]` modifier suggested in issue #6107
2019-07-08 12:53:34 +02:00
Angus Pearson
00c9b4f15d
Change typeNameCanonicalize -> getObjectTypeName, and other style changes
2019-07-08 11:04:37 +01:00
antirez
f3a8b5001d
Client side caching: RESP2 support.
2019-07-05 12:24:28 +02:00
antirez
4b5027845e
Client side caching: implement trackingInvalidateKey().
2019-07-03 19:16:20 +02:00
antirez
a4e44726d0
Client side caching: hook inside call() for tracking.
2019-07-03 12:42:16 +02:00
antirez
b54789d472
Client side caching: enable tracking mode.
2019-06-30 06:19:08 -04:00
antirez
7f9de752de
Client side caching: fields and flags for tracking mode.
2019-06-29 20:08:41 -04:00
John Sully
d4d6e7756d
Fix Travis CI issue
...
Former-commit-id: 8238d3207e484e5c9515d00ee7d2247168c03612
2019-06-17 23:56:23 -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
Angus Pearson
49edda41b9
Spelling cannonical -> canonical
2019-06-13 17:49:33 +01:00
Angus Pearson
5ca48db2e2
Add char* typeNameCanonicalize(robj*) to remove duplicate code between SCAN and TYPE commands,
...
and to keep OBJ_* enum to string canonicalization in one place.
2019-06-10 17:41:44 +01: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
2783649378
Fix build breaks on some older compilers
...
Former-commit-id: 39a60c8120ac4a7c2aad83df00a4fbea07a801cc
2019-05-18 20:58:48 -04:00
John Sully
6371f6e3e4
Fix a few issues from the merge
...
Former-commit-id: aa274960fff095c4c3cd570cdbaaabb9ca005651
2019-05-11 19:26:59 -04:00
John Sully
397e85befb
Merge branch 'unstable' of https://github.com/antirez/redis into MergeRedis
...
Note: some tests failing
Former-commit-id: 86d7276f24f0cf1a0eceb6cd00a6a0ae2a0fa520
2019-05-11 02:20:34 -04:00
Salvatore Sanfilippo
d7dd023bfd
Merge pull request #6053 from soloestoy/enhance-aof-fsync-everysec
...
aof: enhance AOF_FSYNC_EVERYSEC, more details in #5985
2019-05-10 18:06:40 +02:00
John Sully
b57a72fa2c
Fix issue #11
...
Former-commit-id: 6c410af5a89aa9c11df67e04d1cfbde55aa7fe90
2019-05-09 19:14:10 -04:00
John Sully
3d2b9e3ab8
Fix module locking issues
...
Former-commit-id: bf26959b722285f9b8caedb853e712d5b4ce6b3f
2019-05-09 19:00:27 -04:00
antirez
50b09bc408
Threaded IO: ability to disable reads from threaded path.
2019-05-06 18:02:51 +02:00
antirez
1347c13551
Threaded IO: parsing WIP 2: refactoring to parse from thread.
2019-05-06 18:02:51 +02:00
antirez
b9b29641cf
Threaded IO: read side WIP 3.
2019-05-06 18:02:51 +02:00
antirez
7bae8afef8
Threaded IO: read side WIP.
2019-05-06 18:02:51 +02:00
antirez
dc4d13e751
Threaded IO: make num of I/O threads configurable.
2019-05-06 18:02:51 +02:00
Ubuntu
0353d13321
Threaded IO: stop threads when no longer needed + C11 in Makefile.
...
Now threads are stopped even when the connections drop immediately to
zero, not allowing the networking code to detect the condition and stop
the threads. serverCron() will handle that.
2019-05-06 18:02:51 +02:00
antirez
62261aa905
Threaded IO: implement handleClientsWithPendingWritesUsingThreads().
...
This is just an experiment for now, there are a couple of race
conditions, mostly harmless for the performance gain experiment that
this commit represents so far.
The general idea here is to take Redis single threaded and instead
fan-out on expansive kernel calls: write(2) in this case, but the same
concept could be easily implemented for read(2) and protcol parsing.
However just threading writes like in this commit, is enough to evaluate
if the approach is sounding.
2019-05-06 18:02:51 +02:00
zhaozhao.zz
7ff5c6011d
aof: enhance AOF_FSYNC_EVERYSEC, more details in #5985
2019-04-29 14:38:28 +08:00
John Sully
6ae796cb91
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
83adc0eabb
Factor out some normally const globals
...
Former-commit-id: fa2e407873fce7f936943ae1fe162d54d7bedd70
2019-04-21 13:20:45 -04:00
John Sully
fd65ef689a
Tweak mvcc time format so rollovers are not an issue
...
Former-commit-id: 14d01ec7bd6f20aea1ed51a1056d02d99583c6d2
2019-04-20 01:03:08 -04:00
John Sully
d6be236697
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
0e10e4f6f5
Start of MVCC support (and more C++)
...
Former-commit-id: c4621a5ed2a7d8ca5034f2fbe8b71550f290ea64
2019-04-16 23:16:03 -04:00
John Sully
e79d075076
Fix replica authentication failure when masterauth is below replicaof in the config file
...
Former-commit-id: c64ce7aa9c7783425430e08831f1c41346e315a9
2019-04-15 22:31:02 -04:00
John Sully
68bec6f239
Move remaning files dependent on server.h over to C++
...
Former-commit-id: 8c133b605c65212b023d35b3cb71e63b6a4c443a
2019-04-08 01:00:48 -04:00
John Sully
836e0aa80b
Move a bunch of files to C++
...
Former-commit-id: 011948bcef748df33cb18e76dc5ba48d3c5706dc
2019-04-07 16:54:56 -04:00
John Sully
e8baaae47e
Make t_string C++
...
Former-commit-id: 9f95d8b38f837097f5041086e4af6fc8dcb9bd78
2019-04-07 15:24:23 -04:00
John Sully
15caa9f10b
Add RREPLAY command and put the issue of packet storms to rest. Fixes issue #24
...
Former-commit-id: 68d2b648e0cfeac1ec6f7b68255631ba27d83739
2019-04-06 00:14:27 -04:00