8595 Commits

Author SHA1 Message Date
antirez
a4e44726d0 Client side caching: hook inside call() for tracking. 2019-07-03 12:42:16 +02:00
antirez
b826cf89f1 Client side caching: CLIENT TRACKING subcommand. 2019-07-03 11:58:20 +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
antirez
a152f483cd Client side caching: add new file and description. 2019-06-29 09:09:38 -04:00
John Sully
9983a59895 Fix additional warnings
Former-commit-id: 1531cfb7eea1824fb40da596b3446baa4312355c
2019-06-27 16:29:36 -04:00
John Sully
f5f4815041 Fix mac build breaks
Former-commit-id: 16a89f21dc0beb23b7eb8f2e378d076da918c0d6
2019-06-27 15:04:09 -04:00
John Sully
dbc8272acf Fix libcxxabi clang compile failure in travis, as well as bool issue due to old clang
Former-commit-id: 79e5160e376cfedc690d351d49c3327d5f48c580
2019-06-18 00:42:01 -04:00
John Sully
61015908ab Bump travis compiler version
Former-commit-id: 510e966dc0cae510f6687e8d5e35c8576ce62cef
2019-06-18 00:42:01 -04:00
John Sully
d4d6e7756d Fix Travis CI issue
Former-commit-id: 8238d3207e484e5c9515d00ee7d2247168c03612
2019-06-17 23:56:23 -04:00
John Sully
d65ce6fbbc Fix issues with relaxed memory model architectures
Former-commit-id: e37bc4ad40e852b67ee14e5aa87fd2f398f00eed
2019-06-17 23:00:12 -04:00
John Sully
db5af7990d Remove unnecessary recursive lock
Former-commit-id: 0f78b8b91729374f76f562049e16c0556da00959
2019-06-17 23:00:12 -04:00
John Sully
a849655efd missing file :)
Former-commit-id: 19061fe04f22dc2dcb4547a4c74eccfb89cae785
2019-06-17 23:00:12 -04:00
John Sully
d5b47e6997 Fix test failures due to assert
Former-commit-id: 9c901eb65f98008f0962c5edc33aadc15ec6f619
2019-06-17 23:00:12 -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
John Sully
9a050ffb42 Remove an unnecessary lock that eats performance
Former-commit-id: 8eb4e355b934e394608b082c7d1973152238fa1f
2019-06-17 23:00:12 -04:00
John Sully
049ca9bf58 Even the next up thread should sleep in the futex
Former-commit-id: 8b76b01bfe710603bcdc101da6eb27afcee7e1b1
2019-06-17 23:00:12 -04:00
John Sully
dd7cbbe730 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
bf7eb02d3e Refactored yesno configs so there was less duplication 2019-06-13 12:18:25 -07:00
Angus Pearson
49edda41b9 Spelling cannonical -> canonical 2019-06-13 17:49:33 +01:00
swilly22
7077d14afe 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
7fc6f7f607 Enable load balancing of UNIX sockets across threads
Former-commit-id: 46d6caa47c57fa13055615dfc2376b0962468b81
2019-06-11 01:34:36 -04: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
Salvatore Sanfilippo
2af8ebe147 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
67a4bcac1b Fixed some spelling issues in ACL codepath including user facing error 2019-06-07 13:25:22 -07:00
Salvatore Sanfilippo
214555b02e 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
ec45f5b395 Redis Benchmark: prevent CONFIG failure from exiting program 2019-06-05 16:34:55 +02:00
John Sully
193522b54e Fix crash adding duplicate replica. Just send an error instead
Former-commit-id: 97b65ce19c09188acd0d662aad8d774a55531437
2019-06-02 15:50:50 -04:00
John Sully
460e36a6e7 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
4bbaf621a1 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
2679450489 Implement MOTD feature in keydb-cli
Former-commit-id: a6c56416fc1bf09f1ecbae45195290209aa93c89
2019-05-21 15:12:12 -04:00
John Sully
b35e5f3cd0 Update README.md
Former-commit-id: cd3c482d5e36bc82fcef653e8020f68e2ac21938
2019-05-21 00:04:12 -04: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
b7fff89e3e The unstable branch doesn't have a version #
Former-commit-id: d7f21f02b30c3f9092dbf9aec75481baf45c3311
2019-05-20 16:12:26 -04:00
John Sully
7d40b9b7d5 Fix double unlock
Former-commit-id: 87dc8ce9b3e376e4a6264aee1d2787b9f8d6437f
2019-05-20 15:52:04 -04:00
John Sully
fa828d8c92 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
a3706352d0 Protocol regression from RESP3 work
Former-commit-id: 8c56dbf971aced9e18d170dfffb0c074b545f718
2019-05-20 10:57:37 -04:00
Qix
36ad4c5907 cast void data pointer to const char * to fix gcc
Former-commit-id: a78169e9e043aea83c3f8b8fbb14e605575f8575
2019-05-19 16:24:39 -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
7074a7615e Fix build break on some compilers
Former-commit-id: c57d8760bd9f824555366d1685b12e959ef36f4c
2019-05-18 20:41:05 -04:00
John Sully
a3556e7cef 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
7ccf4f2dcf Print nicer error messages for uncaught exceptions
Former-commit-id: 23b0268a7fc1f7116e96905502895a445d2caf76
2019-05-18 20:24:29 -04:00
John Sully
2dccb832bf Fix: Active replication falls behind under high load
Former-commit-id: 3d0de946bb73a34f96cd773e85c102c2743e6480
2019-05-18 20:23:20 -04:00
Salvatore Sanfilippo
7a0a7ec8d2 Merge pull request #6100 from chrizel/typo-fixes
Typo fixes in CONTRIBUTING
2019-05-15 17:48:40 +02:00
Christian Zeller
525fc336ef Typo fixes in CONTRIBUTING 2019-05-15 16:10:48 +02:00
antirez
6e4635e8fd Update CONTRIBUTING with present info. 2019-05-15 12:46:01 +02:00
antirez
9eea57cc31 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
3f4f7aff1a Merge pull request #6029 from chendq8/clientpause
fix cluster failover time out
2019-05-15 12:03:19 +02:00
antirez
78978eb5e1 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