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
Itamar Haber
971d9ee0aa
Adds a "Modules" section to INFO
...
Fixes #6012 .
As long as "INFO is broken", this should be adequate IMO. Once we rework
`INFO`, perhaps into RESP3, this implementation should be revisited.
2019-04-16 22:16:12 +03: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
John Sully
846cad0637
Merge branch 'unstable' into wip-multimaster
...
Former-commit-id: 4326d22380e4e4d9491c4b7cd050b26ec49663b3
2019-04-03 00:12:13 -04:00
John Sully
22c8d9f70b
Merge branch 'unstable' of https://github.com/antirez/redis into unstable
...
Former-commit-id: 3745bbd95b16d7134c86143f458d7f31168c7d33
2019-04-03 00:00:38 -04:00
John Sully
6d05a34ddd
Tests are passing! YAY!
...
Former-commit-id: e300f753c58fc542267536cd90c1a6b970d83539
2019-04-02 21:36:04 -04:00
John Sully
5d3c28a902
It compiles and doesn't crash immediately!
...
Former-commit-id: efaeca588717ca7cd44aa3502672d158acd94a6d
2019-04-02 16:47:05 -04:00
John Sully
9c27743340
Implement database merging for Active Replicas
...
Former-commit-id: 91e6368de0f0ecb7e4db497ce286a15336d4ec34
2019-03-28 15:12:43 -04:00
John Sully
ccb9cb8b01
Active Replica Support
...
Former-commit-id: a7aa2b074049a130761bc0a98d47130b6a0ff817
2019-03-24 15:39:10 -04:00
Oran Agra
48d14e5aa7
slave corrupts replication stream when module blocked client uses large reply (or POSTPONED_ARRAY)
...
when redis appends the blocked client reply list to the real client, it didn't
bother to check if it is in fact the master client. so a slave executing that
module command will send replies to the master, causing the master to send the
slave error responses, which will mess up the replication offset
(slave will advance it's replication offset, and the master does not)
2019-03-24 14:17:37 +02:00
Salvatore Sanfilippo
d415aa89c0
Merge pull request #5944 from yossigo/command-filtering
...
Command Filtering API
2019-03-22 17:43:49 +01:00
Salvatore Sanfilippo
e19f00f8b2
Merge pull request #5945 from dvirsky/miss_notification
...
Added keyspace miss notifications support
2019-03-22 17:41:00 +01:00
John Sully
f11840f6b2
Merge branch 'unstable' of https://github.com/antirez/redis into unstable
...
Former-commit-id: 9322d604eea7b48df3feff47ce2c04f82291228f
2019-03-21 20:15:59 -04:00
Dvir Volk
51a54dfde3
remove extra linebreak
2019-03-21 12:48:37 +02:00
Dvir Volk
50befc42ad
added special flag for keyspace miss notifications
2019-03-21 11:47:14 +02:00
John Sully
fbe1a6c52a
Add debugging stats to the INFO command
...
Former-commit-id: ac80a5c6a6676f45ac7d460a9cfb02fef8b48d78
2019-03-19 22:04:33 -04:00
Yossi Gottlieb
bb6e8ba682
Initial command filter experiment.
2019-03-18 13:50:34 +02:00
Yossi Gottlieb
dd405d4026
Add RedisModule_GetKeyNameFromIO().
2019-03-15 10:23:27 +02:00
John Sully
92dc1bed13
Hack to prevent build errors on some machines due to missing throw()
...
Former-commit-id: a9e525c81e62f99e083fdddc5c62d11e5e46a5f4
2019-03-15 05:28:20 +00:00
John Sully
aa76a89a9a
Merge branch 'unstable' of https://github.com/antirez/redis into unstable
...
Former-commit-id: be3cb1ad3386f382ed7506dbfd1adb810e327007
2019-03-14 14:22:27 -04:00
Salvatore Sanfilippo
06339c7f54
Merge pull request #5834 from guybe7/trim_module_sds
...
Trim SDS free space of retained module strings
2019-03-14 12:41:31 +01:00
antirez
4e3f2ab269
Merge branch 'sharedapi' into unstable
2019-03-14 11:24:48 +01:00
John Sully
6702b89166
Merge branch 'unstable' of https://github.com/antirez/redis into unstable
...
Lots of fixes and improvements from upstream.
Former-commit-id: 261cf24efc8bedec7ee76a8897b9a800a4d663e2
2019-03-13 18:08:22 -04:00
John Sully
38fd0476d5
Merge branch 'unstable' into RELEASE_0_9
...
Former-commit-id: 0bc586933ff91fd07128d5419b06303f05d16f2e
2019-03-07 19:13:33 -05:00
John Sully
25c2050c3a
Module threading fixes
...
Former-commit-id: 2785a8b4d40b09caea5e209ab49fc5f1484981a8
2019-03-07 19:13:01 -05:00
Yuan Zhou
e5149be9de
server.h: remove dead code
...
hashTypeTryObjectEncoding() is not used now
2019-03-07 18:38:27 +08:00
John Sully
d1c93ee8e1
port server.c to server.cpp
...
Former-commit-id: 09e6a4fee09b1a61e6d2ac83a2c8fec9978474ec
2019-03-06 16:29:30 -05:00
John Sully
a8dacb0046
Merge branch 'unstable' of https://github.com/antirez/redis into unstable
...
We want that awesome multithreaded benchmark
Former-commit-id: 07594d4f958892f9270a18bc182728e4dfbf8144
2019-03-02 18:07:18 -05:00
Salvatore Sanfilippo
e2a7df2d6c
Merge pull request #5877 from vattezhang/unstable_sentinel_cmd
...
fix: fix sentinel command table and new flags format
2019-02-27 15:45:03 +01:00
vattezhang
034741f7e8
fix: fix sentinel command table and new flags format
2019-02-27 21:35:58 +08:00
John Sully
8db15e9666
Thread affinity feature (default disabled)
...
Former-commit-id: 9b1e95809ce57fea84f30b8d5fb68ee00bd46ceb
2019-02-26 15:14:35 -05:00
John Sully
be82e98799
writes shouldn't be under the global lock
...
Former-commit-id: bcfd9327cb4fcf5e1fca9477862919817ddc5ab8
2019-02-26 00:19:38 -05:00
antirez
8b01d81fd4
Merge branch 'gopher' into unstable
2019-02-25 18:16:58 +01:00
antirez
505815da4b
RESP3: allow HELLO to be used with version = 2.
2019-02-25 16:41:00 +01:00
John Sully
30e8a859c0
Prevent mixed up client replies, and deadlocks
2019-02-22 01:24:16 -05:00
John Sully
8cd2cdca3d
Merge branch 'unstable' of https://github.com/antirez/redis into Multithread
2019-02-21 18:17:12 -05:00
antirez
c8b67fea44
Gopher: initial request handling.
2019-02-21 23:13:08 +01:00