7860 Commits

Author SHA1 Message Date
John Sully
b3dd59db5c Additional asserts ensuring the client is creating on the correct thread
Former-commit-id: 937702ea1dd0a4331dd7c66ee9f5c2c3f2354d10
2019-11-20 17:00:40 -05:00
Maxim Ivanov
ca70f5f070 Prune leftover TODO comment
Is it sufficient... ? -- Yes it is. In standalone mode, we say READY=1
at the comment point; however in replicated mode, we delay sending
READY=1 until the replication sync completes.
2019-11-20 19:45:25 +02:00
Madelyn Olson
faeed15627 Refactored renaming types in config 2019-11-20 09:22:38 -08:00
Salvatore Sanfilippo
15664acd87 Merge pull request #6559 from oranagra/active_defrag_tunables
Adjustments for active defrag defaults
2019-11-20 10:08:08 +01:00
John Sully
8ce03ed34a Add missing files
Former-commit-id: 8fa2951e21c5c75a0bb4dc3ef50891123166b76a
2019-11-19 23:03:20 -05:00
John Sully
065ee57c8d Run KEYS async
Former-commit-id: 214a54a815ff66ef4a1526da90296787240ecdf9
2019-11-19 22:12:52 -05:00
John Sully
408a28bd64 Multiple threads should be able to get the same snapshot provided its not too old
Former-commit-id: 054331098ee18dfb1887fd2b0a67688ef894823e
2019-11-19 17:40:35 -05:00
John Sully
80f9b812ca Ensure iterating the keyspace still works during background save
Former-commit-id: 23d7a8a293f253262801bc6ce88ad85e4e38f59a
2019-11-19 15:47:06 -05:00
Johannes Truschnigg
413cb62865 Auto-detect and link libsystemd at compile-time
This adds Makefile/build-system support for USE_SYSTEMD=(yes|no|*). This
variable's value determines whether or not libsystemd will be linked at
build-time.

If USE_SYSTEMD is set to "yes", make will use PKG_CONFIG to check for
libsystemd's presence, and fail the build early if it isn't
installed/detected properly.

If USE_SYSTEM is set to "no", libsystemd will *not* be linked, even if
support for it is available on the system redis is being built on.

For any other value that USE_SYSTEM might assume (e.g. "auto"),
PKG_CONFIG will try to determine libsystemd's presence, and set up the
build process to link against it, if it was indicated as being
installed/available.

This approach has a number of repercussions of its own, most importantly
the following: If you build redis on a system that actually has systemd
support, but no libsystemd-dev package(s) installed, you'll end up
*without* support for systemd notification/status reporting support in
redis-server. This changes established runtime behaviour.

I'm not sure if the build system and/or the server binary should
indicate this. I'm also wondering if not actually having
systemd-notify-support, but requesting it via the server's config,
should result in a fatal error now.
2019-11-19 18:55:44 +02:00
Johannes Truschnigg
fb25e68f91 Use libsystemd's sd_notify for communicating redis status to systemd
Instead of replicating a subset of libsystemd's sd_notify(3) internally,
use the dynamic library provided by systemd to communicate with the
service manager.

When systemd supervision was auto-detected or configured, communicate
the actual server status (i.e. "Loading dataset", "Waiting for
master<->replica sync") to systemd, instead of declaring readiness right
after initializing the server process.
2019-11-19 18:55:44 +02:00
Salvatore Sanfilippo
bf67482a88 Merge branch 'unstable' into module-long-double 2019-11-19 12:15:45 +01:00
Salvatore Sanfilippo
cdae22b9b2 Merge pull request #6557 from oranagra/rm_lru_lfu_revized
rename RN_SetLRUOrLFU -> RM_SetLRU and RN_SetLFU
2019-11-19 11:58:07 +01:00
antirez
b5e76fc58e Simplify PR #6551 implementation. 2019-11-19 11:56:02 +01:00
Salvatore Sanfilippo
c9fd7dba1e Merge pull request #6551 from pvalsecc/sentinel_kill_pubsub
Redis sentinel kill pubsub client connections as well
2019-11-19 11:53:10 +01:00
Salvatore Sanfilippo
6df8d3975f Merge pull request #6571 from wangzhione/patch-2
Update adlist.h
2019-11-19 11:42:46 +01:00
Salvatore Sanfilippo
9d7315b5a7 Merge pull request #6597 from yossigo/rm-call-extended-errors
Improve RM_Call() errno classification.
2019-11-19 11:41:32 +01:00
Salvatore Sanfilippo
6c08d0faf1 Merge pull request #6134 from zhouyuan/fix_aof
aof: fix assignment for aof_fsync_offset
2019-11-19 11:40:34 +01:00
antirez
0f0e8b10c6 Rename var to fixed_time_expire now that is more general. 2019-11-19 11:28:04 +01:00
antirez
63c25b90f4 Fix patch provided in #6554. 2019-11-19 11:23:43 +01:00
Salvatore Sanfilippo
27d2b17b36 Merge pull request #6554 from soloestoy/unblock-as-call
expires & blocking: handle ready keys as call()
2019-11-19 11:14:05 +01:00
Yossi Gottlieb
3d4a44bd0b Improve RM_Call() errno classification.
RM_Call() will now use EBADF and ENONET in addition to EINVAL in order
to provide more information about errors (i.e. when return value is
NULL).
2019-11-19 12:10:48 +02:00
antirez
508d320052 Merge branch 'unstable' of github.com:/antirez/redis into unstable 2019-11-19 11:10:35 +01:00
Salvatore Sanfilippo
ed51330a12 Merge branch 'unstable' into scan_module_impl 2019-11-19 11:08:02 +01:00
antirez
6b6eb37a8d Remove additional space from comment. 2019-11-19 11:05:55 +01:00
Salvatore Sanfilippo
5ac93593c1 Merge pull request #6577 from oranagra/module_doc
module docs, missing LOADING flag
2019-11-19 11:02:58 +01:00
Salvatore Sanfilippo
55f744b694 Merge pull request #4076 from yossigo/add_mt_replacevalue
Add RM_ModuleTypeReplaceValue.
2019-11-19 11:00:01 +01:00
Salvatore Sanfilippo
36460f5680 Merge pull request #3383 from yossigo/datatype_load_save
Redis Module API calls to allow re-use of data type RDB save/load.
2019-11-19 10:55:42 +01:00
Salvatore Sanfilippo
1769399f48 Merge pull request #6579 from oranagra/rm_reply_string_opt
Slightly more efficient RM_ReplyWithEmptyString
2019-11-19 10:54:00 +01:00
Salvatore Sanfilippo
48724d1701 Merge pull request #6574 from guybe7/fix_xadd_empty_id
XADD with ID 0-0 stores an empty key
2019-11-19 10:50:45 +01:00
喜欢兰花山丘
270a013db5 Update mkreleasehdr.sh
fix date +%s errata
2019-11-19 17:23:47 +08:00
Daniel Dai
d4aa06002c fix move command 2019-11-19 00:02:45 -05:00
John Sully
a60925c949 Final design of forkless background save. expires NYI
Former-commit-id: e2dc24b441bf52b181c820c853e0bc7524254f3f
2019-11-18 19:47:12 -05:00
John Sully
a9f20f0a38 Merge branch 'unstable' into advanced_db
Former-commit-id: 7530d93cd5c4a9fc4e6466abcf96edbdd8daea9e
2019-11-18 15:22:17 -05:00
antirez
2772453296 Expire cycle: set a buckets limit as well. 2019-11-18 17:47:19 +01:00
antirez
833b43ceff Expire cycle: fix parameters computation. 2019-11-18 11:43:42 +01:00
antirez
c7d07138c7 Expire cycle: make expire effort configurable. 2019-11-18 11:33:44 +01:00
antirez
d4f31e0d5f Expire cycle: introduce configurable effort. 2019-11-18 11:30:05 +01:00
John Sully
d46d4cd9ef Fix failure to wakeup from futex sleep due to fastlock_unlock reading the wrong offset in the asm version. Also fix false sharing in spinlock
Former-commit-id: 4c8603815cf525c75dcc360fddeab9ca6fe70ae6
2019-11-17 16:06:49 -05:00
John Sully
831fa24a18 Revert "Debug sleep should apply to all threads"
This reverts commit a2d4f4969fbc544ce75de5b96b94f79ce929fb7d [formerly 41b678814b2c2ff93935b57e630028aaf2e9ae62].


Former-commit-id: 3ae75c2d2bd952d0a075b9ba257a08f962fe0739
2019-11-17 15:39:47 -05:00
John Sully
22253da5c9 Improve perf of reading cluster bitfield
Former-commit-id: 9371c005aa7ffc2060b1b787e4268bc25336ca15
2019-11-17 14:52:12 -05:00
antirez
eecf9c87c0 Expire cycle: tollerate less stale keys, expire cycle CPU in INFO. 2019-11-15 11:29:34 +01:00
antirez
545109470a Expire cycle: scan hash table buckets directly. 2019-11-15 10:53:19 +01:00
John Sully
8c6f775cf7 Cluster multithreading fixes
Former-commit-id: 3dd78a6101df0a980e520dcb55d80651bfc5a3a7
2019-11-14 20:14:24 -05:00
John Sully
a2d4f4969f Debug sleep should apply to all threads
Former-commit-id: 41b678814b2c2ff93935b57e630028aaf2e9ae62
2019-11-14 19:57:29 -05:00
John Sully
7dac41ed72 killing clients should take effect ASAP
Former-commit-id: d0ccb074d5451cd457fe88efeb007cdb9746cb7f
2019-11-14 19:49:32 -05:00
John Sully
b5ba20fe1b Improve AE Assert message
Former-commit-id: cb0fc7cca2406cf24fc238d6b6e1247c60d86704
2019-11-14 19:34:13 -05:00
antirez
688dbb4ae3 Expire cycle: introduce the new state needed for the new algo. 2019-11-14 18:28:01 +01:00
antirez
df7f6bf4c2 Rax library updated. 2019-11-14 12:48:54 +01:00
Oran Agra
10a834b48e Slightly more efficient RM_ReplyWithEmptyString
trimming talk about RESP protocol from API docs (should be independent to that anyway)
2019-11-14 09:46:46 +02:00
Oran Agra
c657b24c83 module docs, missing LOADING flag 2019-11-14 09:09:10 +02:00