9187 Commits

Author SHA1 Message Date
antirez
26c4e8a965 Diskless replica: refactoring of DBs backups. 2019-07-10 11:42:26 +02:00
antirez
23063bf23e Diskless replica: fix mispelled var name. 2019-07-10 09:34:21 +02:00
antirez
65e463d7a1 Diskless replica: a few aesthetic changes to rio.c 2019-07-08 18:39:59 +02:00
antirez
6e9ffa93eb Diskless replica: a few aesthetic changes to replication.c. 2019-07-08 18:32:47 +02:00
Salvatore Sanfilippo
f2e72fdee6 Merge pull request #6193 from oranagra/diskless_slave_refresh3
diskless replication on slave side (don't store rdb to file), plus some other related fixes
2019-07-08 18:10:16 +02:00
Oran Agra
29754ebe22 diskless replication on slave side (don't store rdb to file), plus some other related fixes
The implementation of the diskless replication was currently diskless only on the master side.
The slave side was still storing the received rdb file to the disk before loading it back in and parsing it.

This commit adds two modes to load rdb directly from socket:
1) when-empty
2) using "swapdb"
the third mode of using diskless slave by flushdb is risky and currently not included.

other changes:
--------------
distinguish between aof configuration and state so that we can re-enable aof only when sync eventually
succeeds (and not when exiting from readSyncBulkPayload after a failed attempt)
also a CONFIG GET and INFO during rdb loading would have lied

When loading rdb from the network, don't kill the server on short read (that can be a network error)

Fix rdb check when performed on preamble AOF

tests:
run replication tests for diskless slave too
make replication test a bit more aggressive
Add test for diskless load swapdb
2019-07-08 15:37:48 +03: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
Salvatore Sanfilippo
259a916e14 Merge pull request #6210 from gkorland/patch-3
fix build tracking.c should be tracking.o
2019-07-07 17:49:17 +02:00
Guy Korland
664d7d6e84 fix build tracking.c should be tracking.o
thanks to @rafie
2019-07-07 18:28:15 +03:00
Salvatore Sanfilippo
0990dfa58e Merge pull request #6162 from madolson/dev-unstable-config-refactor
Refactored yesno configs so there is less duplication
2019-07-07 17:13:11 +02:00
Salvatore Sanfilippo
985e5b2c60 Merge pull request #6161 from swilly22/redismodule-loading-ctx-flag
Extend REDISMODULE_CTX_FLAGS to indicate if redis is  loading
2019-07-07 17:01:29 +02:00
John Sully
0c611d8347 lazyfree needs to consume more memory to be detectable
Former-commit-id: 122ec25bf0db0b90e7789b1ab90695ac3f9258b7
2019-07-06 00:53:40 -04:00
John Sully
514640f314 Redis only does this in beforeSleep function - doing extra calls like we do causes test issues
Former-commit-id: d013ad9ebaf3c2bf38121349ed9b98e16439c734
2019-07-06 00:53:20 -04:00
John Sully
725dd6539f Add back user space buffering of RDB save
Former-commit-id: d918ca6fa57a6149b86b4effc787dbdde7350133
2019-07-06 00:36:23 -04:00
John Sully
33f32477da We can use less memory in the client output buffers. Its OK
Former-commit-id: 852819180f6a281449a376b6b79a424af4e63c82
2019-07-05 23:43:01 -04:00
John Sully
95f0357746 Fix additional warning related to new() overloads
Former-commit-id: 218111eb7244643bd13af47b878622c429535288
2019-07-05 23:42:39 -04:00
Salvatore Sanfilippo
3ffea1c914 Merge pull request #6022 from itamarhaber/RedisModule_ReplyWithCString
Adds RedisModule_ReplyWithCString
2019-07-05 20:25:18 +02:00
antirez
f3a8b5001d Client side caching: RESP2 support. 2019-07-05 12:24:28 +02:00
antirez
d6204fe246 Merge branch 'unstable' of github.com:/antirez/redis into unstable 2019-07-04 18:34:53 +02:00
Oran Agra
527c297efb missing per-skiplist overheads in MEMORY USAGE
these had severe impact for small zsets, for instance ones with just one
element that is longer than 64 (causing it not to be ziplist encoded)
2019-07-04 15:20:49 +03:00
antirez
6aeb2627de Client side caching: fix invalidate message len and content. 2019-07-04 14:07:23 +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
b826cf89f1 Client side caching: CLIENT TRACKING subcommand. 2019-07-03 11:58:20 +02:00
Angus Pearson
17e98d8851 RESP3 double representation for -infinity is ,-inf\r\n, not -inf\r\n 2019-07-02 14:28:48 +01: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
zheng.ren01@mljr.com
6441bc0475 fix readme.md,Redis data types should add t_stream.c. 2019-06-25 18:34:35 +08: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