John Sully
48787c8a03
Dependencies for forkless RDB saving
...
Former-commit-id: c12be594754ac8079f467e0fa9f8580bd65e3a55
2019-10-17 22:53:50 -04:00
John Sully
6ee58a3b21
Ensure RDB saving only uses data from the persistent data struct, and cleanup inheritance
...
Former-commit-id: fcdda67d87b3076023f459532c75392b72768a51
2019-10-17 17:20:47 -04:00
antirez
7414be69c8
module: fix propagation API bug.
2019-10-17 18:28:34 +02:00
antirez
ea85cda320
Modules: allow to check for AOF loading client.
2019-10-17 18:10:50 +02:00
antirez
34961ddee8
Modules: add new flags to context, replica state + more.
2019-10-17 17:49:33 +02:00
John Sully
c2b5a8802e
Support serializing all types
...
Former-commit-id: dfdd41f15c0567925f02fd5df779f597ab16894d
2019-10-16 14:23:28 -04:00
John Sully
cec6f0e934
Cleanup inheritance
...
Former-commit-id: e8debc83e8271cf8d76c5084923cf6e1ea7af3b4
2019-10-16 13:45:36 -04:00
John Sully
afa487ca54
Merge branch 'unstable' into advanced_db
...
Former-commit-id: 88152a8f4f9b4e3a82d5f1416930d39bfa91eb47
2019-10-16 13:23:19 -04:00
john@csquare.ca
d4bb51d52c
Fix: ExpireMember does not update MVCC timestamp
...
Former-commit-id: f5210a8fb0704336e9734076b52a862698820f3a
2019-10-16 12:38:15 -04:00
John Sully
d8a02c8a65
expiremember should return the same results as expire
...
Former-commit-id: 8f1295c00f27b6c89785236c5199c1623773940d
2019-10-16 12:27:04 -04:00
John Sully
4dc728c1ce
Fix crash adding expire to key with a subkey expire already set
...
Former-commit-id: 18a3768e07eb8c4feb4a666d95a19d97267ac381
2019-10-16 12:26:48 -04:00
Yossi Gottlieb
2255860a22
Fix Makefile merge issue.
2019-10-16 17:31:02 +03:00
Yossi Gottlieb
85d7f38136
Merge remote-tracking branch 'upstream/unstable' into tls
2019-10-16 17:08:07 +03:00
Salvatore Sanfilippo
d3bfd0ed88
Merge pull request #5926 from JimB123/unstable
...
Addition of RedisModule_OnUnload hook
2019-10-16 11:13:12 +02:00
Yossi Gottlieb
e17ac77a82
Code review minor changes (names, comments).
2019-10-15 17:21:51 +03:00
Yossi Gottlieb
3a990ebcb4
Conns: write() 0 retval should not trigger error.
2019-10-15 17:20:58 +03:00
Yossi Gottlieb
d2aee5e4fe
Fix compile warnings when BUILD_TLS=no.
2019-10-15 15:24:32 +03:00
John Sully
2e0a7b7821
Fix clang warnings
...
Former-commit-id: c4f086ae936e1ba5ed97c2f0810ddb6a4de25be6
2019-10-13 15:48:55 -04:00
John Sully
20a5b1bc15
Fix failing travis CI build
...
Former-commit-id: 3f0c1f94ebeb19133f1f62b8b3a82871dbd5f73f
2019-10-13 15:41:53 -04:00
John Sully
a2bd45dbd3
Add the IStorage interface and wire it up
...
Former-commit-id: 898efbfc0c7038818083ea29fdd63cafa47721fb
2019-10-13 15:24:08 -04:00
John Sully
f9f4c719d4
Isolate the persistent parts of the database from the runtime parts
...
Former-commit-id: 8d63f5b560d067a634f2ef671962be8815c9e23c
2019-10-13 15:24:08 -04:00
John Sully
b4a34cd600
Hide the database dict
...
Former-commit-id: 024365521c2b74275839562ba9326b6ea26d3836
2019-10-13 15:13:01 -04:00
John Sully
2980e06c9f
Implement the lastmodified query for the OBJECT command
...
Former-commit-id: 3a3b59a0543148956797ce4ad9d08095051517b9
2019-10-13 14:12:09 -04:00
John Sully
2fc9bb0c8d
You are not allowed to set a subkey expire if the subkey does not exist
...
Former-commit-id: 12e17cfd6e9cc1e470f26c88b58ce5831d10358f
2019-10-13 14:11:43 -04:00
John Sully
ac243ae4bf
Implement the EXPIREMEMBERAT command
...
Former-commit-id: 203e341bf4427723903d8d3de03af2f0ef043a3f
2019-10-13 13:15:13 -04:00
John Sully
650085d61a
Add millisecond support for EXPIREMEMBER command
...
Former-commit-id: 6e6cd84ad7dc9e5763ab36668cbbf8ca6743f8d9
2019-10-13 12:57:50 -04:00
John Sully
e57d2e24c9
Update more slave instances to use replica (Issue #75 )
...
Former-commit-id: 252725d50fc9d4ff2b6e9246a36c38176d61beae
2019-10-13 12:29:20 -04:00
John Sully
05d7536b02
Update a few uses of slave to use the new replica terminology (Issue #75 )
...
Former-commit-id: c15633ea9e784ef0e12e4015a75245661a8cf1b7
2019-10-13 12:12:05 -04:00
John Sully
6080010db0
Fix an intermittent crash when replicationCron happens before slavesdb is update
...
Former-commit-id: 27c9ae667e515819d5be06722722ed6ff43a3205
2019-10-13 12:04:54 -04:00
John Sully
0a00341a80
Implement TTL and PERSIST commands for subkeys. Also ensure expiremember replaces any old subkey expiries
...
Former-commit-id: 16f96efbe7c6c27f2a79f5b472447407f905df15
2019-10-13 12:03:25 -04:00
John Sully
dba52de8ca
Fix issue #88 - don't let seperate KeyDB processes listen on the same port
...
Former-commit-id: 4631119179df5cff638e9b8c51b030cef89a6c02
2019-10-13 10:02:21 -04:00
Salvatore Sanfilippo
15e422686b
Merge pull request #6429 from charsyam/feature/typo-slave
...
[trivial] fix typos salves to slaves in replication.c
2019-10-10 14:56:43 +02:00
Salvatore Sanfilippo
aeaa086f82
Merge pull request #6437 from OMG-By/redis-omg_by
...
there should is AUTH && HELLO non authenticated state.
2019-10-10 14:55:03 +02:00
Salvatore Sanfilippo
67dfdca637
Merge pull request #6443 from guybe7/fix_stream_rax_node_limits
...
Fix usage of server.stream_node_max_*
2019-10-10 14:49:35 +02:00
Salvatore Sanfilippo
0e40efe007
Merge pull request #6145 from oranagra/jemalloc_purge_bg
...
purge jemalloc after flush, and enable background purging thread
2019-10-10 14:48:59 +02:00
antirez
8a73389ef8
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2019-10-10 10:31:43 +02:00
antirez
9aba7564d6
Cluster: fix memory leak of cached master.
...
This is what happened:
1. Instance starts, is a slave in the cluster configuration, but
actually server.masterhost is not set, so technically the instance
is acting like a master.
2. loadDataFromDisk() calls replicationCacheMasterUsingMyself() even if
the instance is a master, in the case it is logically a slave and the
cluster is enabled. So now we have a cached master even if the instance
is practically configured as a master (from the POV of
server.masterhost value and so forth).
3. clusterCron() sees that the instance requires to replicate from its
master, because logically it is a slave, so it calls
replicationSetMaster() that will in turn call
replicationCacheMasterUsingMyself(): before this commit, this call would
overwrite the old cached master, creating a memory leak.
2019-10-10 10:23:34 +02:00
Guy Benoish
33c424b240
Fix usage of server.stream_node_max_*
2019-10-10 09:47:48 +02:00
omg-by
c3562cf134
there should is AUTH && HELLO non authenticated state.
2019-10-10 00:52:26 +08:00
Salvatore Sanfilippo
94b735f763
Merge pull request #6430 from jaamison/jj/unstable
...
stream.h: fix typo
2019-10-08 17:40:47 +02:00
Salvatore Sanfilippo
7472f792bb
Merge pull request #6427 from oranagra/static-analyzer
...
fix issues found by a static analyzer
2019-10-08 17:10:57 +02:00
antirez
bdca9e882d
Geo: output 10 chars of geohash, not 11.
...
This does not limit the actual precision, because the last digit bits were
garbage, and the shift value became even negative in the last iteration.
2019-10-08 17:09:37 +02:00
Yossi Gottlieb
514e5aa8ef
TLS: Improve CA certifiate configuration options.
...
This adds support for explicit configuration of a CA certs directory (in
addition to the previously supported bundle file). For redis-cli, if no
explicit CA configuration is supplied the system-wide default
configuration will be adopted.
2019-10-08 17:58:50 +03:00
Yossi Gottlieb
df08b624bd
TLS: Configuration options.
...
Add configuration options for TLS protocol versions, ciphers/cipher
suites selection, etc.
2019-10-07 21:07:27 +03:00
Oran Agra
8704be6947
TLS: Implement support for write barrier.
2019-10-07 21:06:30 +03:00
Oran Agra
6fd5ff8c98
diskless replication rdb transfer uses pipe, and writes to sockets form the parent process.
...
misc:
- handle SSL_has_pending by iterating though these in beforeSleep, and setting timeout of 0 to aeProcessEvents
- fix issue with epoll signaling EPOLLHUP and EPOLLERR only to the write handlers. (needed to detect the rdb pipe was closed)
- add key-load-delay config for testing
- trim connShutdown which is no longer needed
- rioFdsetWrite -> rioFdWrite - simplified since there's no longer need to write to multiple FDs
- don't detect rdb child exited (don't call wait3) until we detect the pipe is closed
- Cleanup bad optimization from rio.c, add another one
2019-10-07 21:06:30 +03:00
Yossi Gottlieb
10ffeb03e4
TLS: Connections refactoring and TLS support.
...
* Introduce a connection abstraction layer for all socket operations and
integrate it across the code base.
* Provide an optional TLS connections implementation based on OpenSSL.
* Pull a newer version of hiredis with TLS support.
* Tests, redis-cli updates for TLS support.
2019-10-07 21:06:13 +03:00
Jamison Judge
3e9241c541
stream.h: fix typo
2019-10-07 11:01:01 -07:00
antirez
0c3c2ed744
LOLWUT: version 6: change text message & credits.
2019-10-07 19:19:38 +02:00
antirez
bbed7697b2
LOLWUT: version 6: give credits.
2019-10-07 18:57:25 +02:00