10729 Commits

Author SHA1 Message Date
John Sully
871c86717c Fix test failures due to assert
Former-commit-id: 9c901eb65f98008f0962c5edc33aadc15ec6f619
2019-06-17 23:00:12 -04:00
John Sully
9ca83cc9fd 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
913fe8eb78 Move more code out of the GIL
Former-commit-id: 59dbd625c143c1a890d4387f7a32c997f0d64f5f
2019-06-17 23:00:12 -04:00
John Sully
89a44bd7e5 Remove an unnecessary lock that eats performance
Former-commit-id: 8eb4e355b934e394608b082c7d1973152238fa1f
2019-06-17 23:00:12 -04:00
John Sully
0cd9bc48fc Even the next up thread should sleep in the futex
Former-commit-id: 8b76b01bfe710603bcdc101da6eb27afcee7e1b1
2019-06-17 23:00:12 -04:00
John Sully
5573f021c5 Fallback to a futex if we spin for a long time
Former-commit-id: ec57b4b0248bba671e388a2257b1bd65ed8d0f44
2019-06-17 23:00:12 -04:00
Madelyn Olson
dd51fc5a4a Refactored yesno configs so there was less duplication 2019-06-13 12:18:25 -07:00
Angus Pearson
38cd5fd9f6 Spelling cannonical -> canonical 2019-06-13 17:49:33 +01:00
swilly22
f54d95e803 Extend REDISMODULE_CTX_FLAGS to indicate if redis is currently loading from either RDB or AOF 2019-06-12 15:37:19 +03:00
John Sully
c64b6127ea Enable load balancing of UNIX sockets across threads
Former-commit-id: 46d6caa47c57fa13055615dfc2376b0962468b81
2019-06-11 01:34:36 -04:00
Angus Pearson
e2adea2188 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
Salvatore Sanfilippo
0cabe0cfa7
Merge pull request #6149 from madolson/acl-spelling
Fixed some spelling issues in ACL codepath including a user facing error
2019-06-07 22:54:52 +02:00
Madelyn Olson
dd5f437871 Fixed some spelling issues in ACL codepath including user facing error 2019-06-07 13:25:22 -07:00
Salvatore Sanfilippo
de035c9481
Merge pull request #6148 from artix75/redis_bm_dev
Redis Benchmark: prevent CONFIG failure from exiting program
2019-06-05 17:29:50 +02:00
artix
d3ed53f11b Redis Benchmark: prevent CONFIG failure from exiting program 2019-06-05 16:34:55 +02:00
John Sully
88b5a4e25f Fix crash adding duplicate replica. Just send an error instead
Former-commit-id: 97b65ce19c09188acd0d662aad8d774a55531437
2019-06-02 15:50:50 -04:00
John Sully
8c6075b21e Merge branch 'unstable' of https://github.com/JohnSully/redis2 into unstable
Former-commit-id: 55d0ef40b06beb361fe39097b2c731c1918d6b23
2019-06-01 03:23:21 -04:00
Angus Pearson
bf963253ec Implement SCAN cursor [TYPE type] modifier suggested in issue #6107.
Add tests to check basic functionality of this optional keyword, and also tested with
a module (redisgraph). Checked quickly with valgrind, no issues.

Copies name the type name canonicalisation code from `typeCommand`, perhaps this would
be better factored out to prevent the two diverging and both needing to be edited to
add new `OBJ_*` types, but this is a little fiddly with C strings.

The [redis-doc](https://github.com/antirez/redis-doc/blob/master/commands.json) repo
will need to be updated with this new arg if accepted.

A quirk to be aware of here is that the GEO commands are backed by zsets not their own
type, so they're not distinguishable from other zsets.

Additionally, for sparse types this has the same behaviour as `MATCH` in that it may
return many empty results before giving something, even for large `COUNT`s.
2019-05-22 16:39:04 +01:00
John Sully
20d8346846 Implement MOTD feature in keydb-cli
Former-commit-id: a6c56416fc1bf09f1ecbae45195290209aa93c89
2019-05-21 15:12:12 -04:00
John Sully
55cac6609b Update README.md
Former-commit-id: cd3c482d5e36bc82fcef653e8020f68e2ac21938
2019-05-21 00:04:12 -04:00
John Sully
a7afb4c3f7 Fix regressions from RESP3 changes in commit 317f8b9d383f1b7f171aef7ea29f9e05abf0ba83
Former-commit-id: c5cbb77fc7e3b2b5124b9432e144d8c74190c755
2019-05-20 23:39:44 -04:00
John Sully
7ec3b111af The unstable branch doesn't have a version #
Former-commit-id: d7f21f02b30c3f9092dbf9aec75481baf45c3311
2019-05-20 16:12:26 -04:00
John Sully
be60fc72a5 Fix double unlock
Former-commit-id: 87dc8ce9b3e376e4a6264aee1d2787b9f8d6437f
2019-05-20 15:52:04 -04:00
John Sully
680b49045f Merge branch 'unstable' of https://github.com/JohnSully/redis2 into unstable
Former-commit-id: 2e22aa1a9cd9247a51c03afc161cb84a98139438
2019-05-20 10:57:59 -04:00
John Sully
e9b8d4e73a Protocol regression from RESP3 work
Former-commit-id: 8c56dbf971aced9e18d170dfffb0c074b545f718
2019-05-20 10:57:37 -04:00
Qix
9b2adb19dd cast void data pointer to const char * to fix gcc
Former-commit-id: a78169e9e043aea83c3f8b8fbb14e605575f8575
2019-05-19 16:24:39 -04:00
John Sully
e2b3627360 Fix build breaks on some older compilers
Former-commit-id: 39a60c8120ac4a7c2aad83df00a4fbea07a801cc
2019-05-18 20:58:48 -04:00
John Sully
0c359a8245 Fix build break on some compilers
Former-commit-id: c57d8760bd9f824555366d1685b12e959ef36f4c
2019-05-18 20:41:05 -04:00
John Sully
2a61b00a3c Merge branch 'unstable' of https://github.com/JohnSully/redis2 into unstable
Former-commit-id: 3eed2a8780f263e8b889174313506c227f57595c
2019-05-18 20:25:23 -04:00
John Sully
67d94eee12 Print nicer error messages for uncaught exceptions
Former-commit-id: 23b0268a7fc1f7116e96905502895a445d2caf76
2019-05-18 20:24:29 -04:00
John Sully
1d0036882c Fix: Active replication falls behind under high load
Former-commit-id: 3d0de946bb73a34f96cd773e85c102c2743e6480
2019-05-18 20:23:20 -04:00
Salvatore Sanfilippo
fd0ee469ab
Merge pull request #6100 from chrizel/typo-fixes
Typo fixes in CONTRIBUTING
2019-05-15 17:48:40 +02:00
Christian Zeller
7fababd44e
Typo fixes in CONTRIBUTING 2019-05-15 16:10:48 +02:00
antirez
fd9407dfc8 Update CONTRIBUTING with present info. 2019-05-15 12:46:01 +02:00
antirez
074d24df1e Narrow the effects of PR #6029 to the exact state.
CLIENT PAUSE may be used, in other contexts, for a long time making all
the slaves time out. Better for now to be more specific about what
should disable senidng PINGs.

An alternative to that would be to virtually refresh the slave
interactions when clients are paused, however for now I went for this
more conservative solution.
2019-05-15 12:16:43 +02:00
Salvatore Sanfilippo
caf74e507e
Merge pull request #6029 from chendq8/clientpause
fix cluster failover time out
2019-05-15 12:03:19 +02:00
antirez
1a1ba48390 Test: fix slowlog test false positive.
In fast systems "SLOWLOG RESET" is fast enough to don't be logged even
when the time limit is "1" sometimes. Leading to false positives such
as:

[err]: SLOWLOG - can be disabled in tests/unit/slowlog.tcl
Expected '1' to be equal to '0'
2019-05-14 16:55:52 +02:00
antirez
9724ca4e22 Make comment in getClientOutputBufferMemoryUsage() describing the present. 2019-05-13 17:30:06 +02:00
antirez
4f4676a142 Fix test false positive introduced by threaded I/O.
Now clients that are ready to be terminated asynchronously are processed
more often in beforeSleep() instead of being processed in serverCron().
This means that the test will not be able to catch the moment the client
was terminated, also note that the 'omem' figure now changes in big
steps, because of the new client output buffers layout.

So we have to change the test range in order to accomodate for that.
Yet the test is useful enough to be worth taking, even if its precision
is reduced by this commit. Probably if we get more problems, a thing
that makes sense is just to check that the limit is < 200k. That's more
than enough actually.
2019-05-13 17:27:10 +02:00
John Sully
22dc65b35b Update Active Replication wiki links
Former-commit-id: 866b8ead9147e454fe577ec26bb6cf3a502b091f
2019-05-11 21:53:30 -04:00
John Sully
6205dee978 Fix a few issues from the merge
Former-commit-id: aa274960fff095c4c3cd570cdbaaabb9ca005651
2019-05-11 19:26:59 -04:00
John Sully
25a904605a Make lazy free test more reliable
Former-commit-id: 54d6eb851bbea48e858d84bca818cb14c65b6403
2019-05-11 17:57:35 -04:00
John Sully
e48c132d35 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
John Sully
b9b955044b Add byline to logo
Former-commit-id: 09186514381019ce6d07f5d0d78d19e229b00c84
2019-05-10 23:48:14 -04:00
Salvatore Sanfilippo
e633254ccf
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
Salvatore Sanfilippo
34f6d94701
Merge pull request #6074 from trevor211/fixActiveExpire
Do not active expire keys in the background when the switch is off.
2019-05-10 12:39:35 +02:00
Salvatore Sanfilippo
1e9b8d853d
Merge pull request #6080 from soloestoy/fix-makefile
Makefile: 1TD -> STD
2019-05-10 12:37:07 +02:00
Salvatore Sanfilippo
2903c56bda
Merge pull request #6073 from yossigo/fix/blocked-client-id
Preserve client->id for blocked clients.
2019-05-10 12:32:47 +02:00
Salvatore Sanfilippo
6b490e33c4
Merge pull request #6081 from Happy4Code/mod_comments
change the comments there may have a mis type
2019-05-10 12:28:12 +02:00
Salvatore Sanfilippo
891f4a38f6
Merge pull request #6077 from zltl/patch-7
delete sdsTest() from REDIS_TEST in server.c to fix build failed
2019-05-10 12:27:47 +02:00