9418 Commits

Author SHA1 Message Date
Madelyn Olson
d57a2b9ef2 Added a flag for strings that are stored as NULL 2019-11-21 21:31:53 -08:00
zhaozhao.zz
2f6ebb3ebe scripting: a little refactor about EVAL and redis.call()
Change server.lua_client's flag in a more explicit way.
2019-11-22 11:58:03 +08:00
zhaozhao.zz
06a5619e16 scripting: flag lua_client as CLIENT_MULTI after redis.replicate_commands() immediately
To avoid nested MULTI/EXEC, we check the lua_caller's flag,
if we are in the MULTI context we flag the lua_client as
CLIENT_MULTI, but it's not enough we shoud flag lua_client
as CLIENT_MULTI after redis.replicate_commands() immediately
or the first write command after redis.replicate_commands()
cannot know it's in an transaction, I know the missing CLIENT_MULTI
doesn't have any effect now, but it's a real bug and we should fix
it, in case someday we allow some dangerous command like BLPOP.
2019-11-22 11:51:18 +08:00
John Sully
219cd22fd6 Fix crash when client running async keys disconnects before keys finishes
Former-commit-id: dd9233c49d82c89a9d92b7251a56f91c2ee98e77
2019-11-21 20:40:58 -05:00
John Sully
b057c1f8fb Merge branch 'unstable' into advanced_db
Former-commit-id: 00ad497fb3f409dbfcaa62fa9ea5d793263eb13d
2019-11-21 20:21:48 -05:00
John Sully
27c23b0c9b Fix issue #83
Former-commit-id: 3028a890ef11cd99b2c7538de0f480d2466eb150
2019-11-21 20:05:16 -05:00
Salvatore Sanfilippo
28c0f2098f Merge pull request #6530 from oranagra/rm_get_server_info
Add module api for looking into INFO fields
2019-11-21 10:07:23 +01:00
Salvatore Sanfilippo
22c68cc3bf Merge branch 'unstable' into rm_get_server_info 2019-11-21 10:06:15 +01:00
Salvatore Sanfilippo
a62e00420c Merge pull request #6547 from guybe7/module_api_streams
Support streams in general module API functions
2019-11-21 10:03:50 +01:00
antirez
d97625dcf6 Recomment PR #6346. 2019-11-21 10:01:49 +01:00
Salvatore Sanfilippo
26889200e3 Merge pull request #6346 from MeirShpilraien/expose_zmalloc_capabilities
Expose used memory to modules via redismodule api
2019-11-21 09:58:11 +01:00
Salvatore Sanfilippo
e50df1216d Merge branch 'unstable' into expose_zmalloc_capabilities 2019-11-21 09:57:19 +01:00
Daniel Dai
40e3cfb153 macro fix
macro fix
2019-11-20 20:39:04 -05:00
John Sully
04f3a60032 Add missing dependency to dockerfile
Former-commit-id: 39c6fbddb1dc6738c3ea7cbc2bd5d5bc7fb46ccf
2019-11-20 20:35:14 -05:00
John Sully
9ad2ebabd1 Merge branch 'unstable' of https://github.com/JohnSully/KeyDB into unstable
Former-commit-id: 704cb4e9295800009ba4e918391e37d975e4e424
2019-11-20 19:44:43 -05:00
John Sully
051bde5d3d Fix issue #107, active replicas do their own expires
Former-commit-id: 8e4f323439df29a5e8c0de9db7a848291721fd07
2019-11-20 19:44:31 -05:00
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
John Sully
75fe5ea8e8 Update issue templates
Former-commit-id: 3ea56ffb38efd4fbfbb096481668be69cc61b15f
2019-11-20 16:25:33 -05:00
John Sully
773ecdcdd4 Update issue templates
Former-commit-id: becd3fc5a34d9c7d665531290c017f13d1b03c16
2019-11-20 16:24:23 -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
Salvatore Sanfilippo
429fc85194 Merge pull request #6603 from daidaotong/typofix
fix typo in scripting.acl
2019-11-20 10:06:33 +01:00
John Sully
8ce03ed34a Add missing files
Former-commit-id: 8fa2951e21c5c75a0bb4dc3ef50891123166b76a
2019-11-19 23:03:20 -05:00
John Sully
93dae1f03f Clarify license
Former-commit-id: d0a7f219cd56edbe70bd8e93f21b39e6cd4836e2
2019-11-19 22:22:16 -05:00
John Sully
065ee57c8d Run KEYS async
Former-commit-id: 214a54a815ff66ef4a1526da90296787240ecdf9
2019-11-19 22:12:52 -05:00
Daniel Dai
c7adfe68f9 fix typo 2019-11-19 20:14:59 -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
54eb43248b Do not install SysV init-scripts on systemd-enabled hosts
Also, hint at example service unit files if systemd is detected. Thanks
to @mika for spotting a bug in the original iteration of this patch.
2019-11-19 18:55:44 +02:00
Johannes Truschnigg
21012ea68f Provide example systemd service unit files for redis-server 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
Oran Agra
58b256bd46 try to fix an unstable test (module hook for loading progress)
there were two lssues, one is taht BGREWRITEAOF failed since the initial one was still in progress
the solution for this one is to enable appendonly from the server startup so there's no initial aofrw.

the other problem was 0 loading progress events, theory is that on some
platforms a sleep of 1 will cause a much greater delay due to the context
switch, but on other platform it doesn't. in theory a sleep of 100 micro
for 1k keys whould take 100ms, and with hz of 500 we should be gettering
50 events (one every 2ms). in practise it doesn't work like that, so trying
to find a sleep that would be long enough but still not cause the test to take
too long.
2019-11-19 15:01:51 +02:00
Salvatore Sanfilippo
e88da5ba78 Merge pull request #6541 from artix75/module-long-double
Module API: add support for long double conversions and replies
2019-11-19 12:15:53 +01: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
antirez
4501d815c2 Merge branch 'unstable' of github.com:/antirez/redis into unstable 2019-11-19 11:52:40 +01:00
Salvatore Sanfilippo
f339a1a64d Merge pull request #6558 from oranagra/module_testrdb_leak
fix leak in module api rdb test
2019-11-19 11:49:43 +01:00
antirez
fa60228c08 Fix stream test after addition of 0-0 ID test. 2019-11-19 11:49:05 +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
Salvatore Sanfilippo
430855d81c Merge pull request #6513 from oranagra/test_assertions
test infra: improve prints on failed assertions
2019-11-19 11:34:11 +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