antirez
17b4ac3f8c
Threaded IO: logging should be safe in I/O threads.
...
Potentially it is possible that we get interleaved writes, even if
serverLog() makes sure to write into a buffer and then use printf(), so
even this should be ok. However in general POSIX guarantees that writing
to the same file pointer object from multiple threads is safe. Anyway
currently we *reopen* the file at each call, but for the standard output
logging.
The logging functions actually also access global configuration while
performing the log (for instance in order to check the log level, the
log filename and so forth), however dunring the I/O threads execution
we cannot alter such shared state in any way.
2019-05-06 18:02:51 +02:00
antirez
4e10311fe5
Threaded IO: process read queue before stopping threads.
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
1c3b585e78
Threaded IO: read side WIP 2.
2019-05-06 18:02:51 +02:00
antirez
7bae8afef8
Threaded IO: read side WIP.
2019-05-06 18:02:51 +02:00
antirez
793134d0e6
Threaded IO: hide more debugging printfs under conditional.
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
antirez
79626ca340
Threaded IO: use main thread if num of threads is 1.
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
444b5f2af5
Threaded IO: 3rd version: use the mutex only to stop the thread.
2019-05-06 18:02:51 +02:00
antirez
df0a28f661
Threaded IO: second attempt without signaling conditions.
2019-05-06 18:02:51 +02:00
antirez
c1cb2ae695
Threaded IO: allow to disable debug printf.
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
liaotonglang
e374c6eb55
delete sdsTest() from REDIS_TEST
...
sdsTest() defined in sds.c dit not match the call in server.c.
remove it from REDIS_TEST, since test-sds defined in Makefile.
2019-05-06 19:24:00 +08:00
WuYunlong
0bf3acce38
Do not active expire keys in the background when the switch is off.
2019-05-06 11:46:07 +08:00
Yossi Gottlieb
7653918c7a
Preserve client->id for blocked clients.
2019-05-05 20:32:53 +03:00
Oran Agra
c76bb465f2
make replication tests more stable on slow machines
...
solving few replication related tests race conditions which fail on slow machines
bugfix in slave buffers test: since the test is executed twice, each time with
a different commands count, the threshold for the delta can't be a constant.
2019-05-05 08:25:01 +03:00
Salvatore Sanfilippo
111ab16557
Merge pull request #6051 from vattezhang/unstable
...
fix: benchmark auth fails when server have requirepass
2019-05-02 09:48:02 +02:00
zhaozhao.zz
7ff5c6011d
aof: enhance AOF_FSYNC_EVERYSEC, more details in #5985
2019-04-29 14:38:28 +08:00
Salvatore Sanfilippo
179c89c6a4
Merge pull request #5971 from devnexen/unstable
...
build fix
2019-04-26 17:32:21 +02:00
Salvatore Sanfilippo
73c5902548
Merge pull request #6002 from yongman/fix-memleak-in-bitfield
...
Fix memleak in bitfieldCommand
2019-04-26 17:31:42 +02:00
Salvatore Sanfilippo
30e8a7fec4
Merge pull request #6013 from rouzier/fix/stream_iterator_init
...
Fix stream interator start and end key initialize
2019-04-26 17:25:20 +02:00
Salvatore Sanfilippo
801404871e
Merge pull request #6039 from git-hulk/fix/benchmark-coredump-in-arguments
...
FIX: coredump in redis-benchmark
2019-04-26 17:17:55 +02:00
abhay
b19e3e0e4c
removed obsolete warning as per - https://github.com/antirez/redis/issues/5291
2019-04-26 17:03:16 +02:00
vattezhang
42bccb59c5
fix: benchmark auth fails when server have requirepass
2019-04-26 19:47:07 +08:00
vattezhang
03c7e580d7
update
2019-04-26 18:50:51 +08:00
vattezhang
dd038a522f
Merge github.com:antirez/redis into unstable
2019-04-26 18:47:11 +08:00
git-hulk
7bda78088d
FIX: core dump in redis-benchmark when the -r
is the last arg
2019-04-24 20:05:35 +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
a3228b0875
additional fix to rreplay forward compat
...
Former-commit-id: c61cf57db5d9d274d5fb8806a9716056e06eb47d
2019-04-20 01:36:23 -04:00
John Sully
ea83004d18
Make rreplay forward compatible with extra future args
...
Former-commit-id: ef3690f2db48b80e3ffb5dbfc7d538c3bec23ee2
2019-04-20 01:15:01 -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
3b09f197d5
Fix use uninitialized
...
Former-commit-id: 88e593bf967487835eaadf700abb3761e34306cb
2019-04-19 23:41:40 -04:00
John Sully
c07aa5f3fe
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
676334758d
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
7933223b2a
RREPLAY PERF: The UUID stack is unnecessary, RREPLAY itself can detect the cycle and call cancel()
...
Former-commit-id: b276d803d49339eb30879a3d170ebc480d9430bd
2019-04-19 19:36:47 -04:00
John Sully
daed37e6c4
Detect cycles in mesh networks with multi master
...
Former-commit-id: da51ac430b43628f5cb5c1f0f005d937ed32660b
2019-04-19 19:31:11 -04:00
John Sully
a8d89641cf
Fix crash near boot when adding replicas and dumping database
...
Former-commit-id: 01eb0a3c7f01d381ffb66c3fec0214d07e8594de
2019-04-19 17:08:54 -04:00
John Sully
bb07727a0d
Replication fake connection should inhereit the user and permission of the real connection
...
Former-commit-id: dc2b3cf4f8965c329ea23d78c33592c99f16b109
2019-04-18 22:07:35 -04:00
chendianqiang
1e29403134
stop ping when client pause
2019-04-17 21:20:10 +08: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
98c30dfac1
Fix module linking and crashing issues
...
Former-commit-id: 1c953a4d5b332a0758d77d378c0caffa4d9bcfe4
2019-04-16 13:34:22 -04:00
Itamar Haber
346355edc1
Uses addReplyBulkCString
...
Signed-off-by: Itamar Haber <itamar@redislabs.com>
2019-04-16 17:38:33 +03:00
Itamar Haber
1b3f0c047a
Adds RedisModule_ReplyWithCString
...
Signed-off-by: Itamar Haber <itamar@redislabs.com>
2019-04-16 17:15:23 +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
antirez
8b3da54796
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2019-04-15 16:50:48 +02:00
antirez
d21b3b9d9e
Test: disable module testing for now.
2019-04-15 16:50:26 +02:00