Commit Graph

8791 Commits

Author SHA1 Message Date
818a4e0f70 Fixed some linux warnings 2019-11-22 05:49:52 +00:00
519822bcf9 Added a flag for strings that are stored as NULL 2019-11-21 21:31:53 -08:00
73841e8c49 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
097c4a6536 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
b93945585a 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
64c2508ee3 Merge branch 'unstable' into rm_get_server_info 2019-11-21 10:06:15 +01:00
f1f259de5b Merge pull request #6547 from guybe7/module_api_streams
Support streams in general module API functions
2019-11-21 10:03:50 +01:00
da47d52c79 Recomment PR #6346. 2019-11-21 10:01:49 +01:00
fef1e63c70 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
70469b76d6 Merge branch 'unstable' into expose_zmalloc_capabilities 2019-11-21 09:57:19 +01:00
bfd8c1fdd2 macro fix
macro fix
2019-11-20 20:39:04 -05:00
c7b68d10ea 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
803d765d49 Refactored renaming types in config 2019-11-20 09:22:38 -08:00
c697edf4f4 Merge pull request #6559 from oranagra/active_defrag_tunables
Adjustments for active defrag defaults
2019-11-20 10:08:08 +01:00
808394b77d Merge pull request #6603 from daidaotong/typofix
fix typo in scripting.acl
2019-11-20 10:06:33 +01:00
99b5696390 fix typo 2019-11-19 20:14:59 -05:00
129d14e143 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
ec5681f0f1 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
5bbc112fb1 Provide example systemd service unit files for redis-server 2019-11-19 18:55:44 +02:00
641c64ada1 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
ed2269762b 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
45025713a8 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
e7144fbed8 Merge branch 'unstable' into module-long-double 2019-11-19 12:15:45 +01:00
e916058f0b 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
fe5aea38c3 Simplify PR #6551 implementation. 2019-11-19 11:56:02 +01:00
065872e001 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
446f24e66d Merge branch 'unstable' of github.com:/antirez/redis into unstable 2019-11-19 11:52:40 +01:00
b311a368e0 Merge pull request #6558 from oranagra/module_testrdb_leak
fix leak in module api rdb test
2019-11-19 11:49:43 +01:00
936e01e5bb Fix stream test after addition of 0-0 ID test. 2019-11-19 11:49:05 +01:00
2151b82be9 Merge pull request #6571 from wangzhione/patch-2
Update adlist.h
2019-11-19 11:42:46 +01:00
06a24b9cfa Merge pull request #6597 from yossigo/rm-call-extended-errors
Improve RM_Call() errno classification.
2019-11-19 11:41:32 +01:00
8e95064408 Merge pull request #6134 from zhouyuan/fix_aof
aof: fix assignment for aof_fsync_offset
2019-11-19 11:40:34 +01:00
397a8b57cc Merge pull request #6513 from oranagra/test_assertions
test infra: improve prints on failed assertions
2019-11-19 11:34:11 +01:00
ce03d68332 Rename var to fixed_time_expire now that is more general. 2019-11-19 11:28:04 +01:00
b42466b925 Fix patch provided in #6554. 2019-11-19 11:23:43 +01:00
6a9851c7f8 Merge pull request #6554 from soloestoy/unblock-as-call
expires & blocking: handle ready keys as call()
2019-11-19 11:14:05 +01:00
2d1e893b3e 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
77ad9aaafe Merge branch 'unstable' of github.com:/antirez/redis into unstable 2019-11-19 11:10:35 +01:00
2f41c8d518 Merge pull request #6512 from MeirShpilraien/scan_module_impl
Added scan implementation to module api.
2019-11-19 11:08:15 +01:00
656e40eed2 Merge branch 'unstable' into scan_module_impl 2019-11-19 11:08:02 +01:00
5b80a41cad Remove additional space from comment. 2019-11-19 11:05:55 +01:00
1530a3cfc6 Merge pull request #6577 from oranagra/module_doc
module docs, missing LOADING flag
2019-11-19 11:02:58 +01:00
32a8301073 Merge pull request #4076 from yossigo/add_mt_replacevalue
Add RM_ModuleTypeReplaceValue.
2019-11-19 11:00:01 +01:00
3d89210477 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
a7122f4518 Merge pull request #6579 from oranagra/rm_reply_string_opt
Slightly more efficient RM_ReplyWithEmptyString
2019-11-19 10:54:00 +01:00
70016f7861 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
64a78f5ba3 Merge pull request #6596 from wangzhione/patch-5
Update mkreleasehdr.sh
2019-11-19 10:48:32 +01:00
7c95e89ec3 Update mkreleasehdr.sh
fix date +%s errata
2019-11-19 17:23:47 +08:00
4ece8bd7a7 fix move command 2019-11-19 00:02:45 -05:00
3243252cb0 Expire cycle: document expire effort in redis.conf. 2019-11-18 18:11:38 +01:00