* add docker build
* fix the working dir in Dockerfile
* add release publish docker image
* address intentation and use default release
* migrate keydb_modstatsd to keydb-internal
* rm
* add submodule cpp-statsd-client
* include trigger keydb_modstatsd Makefile in modules Makefile
* update
* have clean also trigger keydb_modstatsd clean
* move cpp-statsd-client to deps
* checkout to a06a5b9359f31d946fe163b9038586982971ae49
* update relative path in compilation
* remove submodule instead use the source
* include building keydb statsd module
* fix check in Dockerfile docker-entrypoint.sh
* fix
* fix the comment caused stuck docker build
* use commit hash as tag template
* fix
* test tag
* Revert "test tag"
This reverts commit 9cbc57137d57aab4fdd5a9283bae07391b3c7f8b.
* make docker build independent
* add new build to ci
* emit system free metrics with '/proc/meminfo'
* have emit system free memory within metrics_time_taken_us and also add metric time taken for it
* Remove Expireset (#217)
Major refactor to place expiry information directly in the object struct.
* update MemFree to MemAvailable in keydb statsd
* add metric emit for non-empty primary with less than 2 connected replicas
* address comments
* Multiply CPU percent metric by 100
* Fix memory leaks
* Fix slow to free when low lock contention
* fix nodename metricsname
* fix unnecessary replace
* Make propagating before freeing module context optional (#225)
* don't propogate on module context free for rdb load
* default in wrong place
* Flash expiration (#197)
Design Doc: https://docs.google.com/document/d/1NmnYGnHLdZp-KOUCUatX5iXpF-L3YK4VUc9Lm3Tqxpo/edit?usp=sharing
* Emit more aggregate metrics in modstatsd (#223)
* Permit keys of differing slots as long as they are served by this cluster and we are not migrating
* Fix over pessimistic checks that prevent replicas from serving mget
* Fix logic bug
* async rehash is preventing rehashing during RDB load after a db flush. Ensure it can't interefere after a flush
* make async rehash configurable
* only use internal locks when multithreaded (#205)
* Fix crossslot error migrating batches of keys
* Fix bug where we erroneously answer queries belonging to another shard
* fix mac compile
* enable level_compaction_dynamic_level_bytes after flush, and flush expires for FLASH (#229)
* enable level_compaction_dynamic_level_bytes after flush, and flush expires
* update debug reload for flash
* update debug reload for flash complete
* missing forward declare
* commit existing changes then track changes for debug reload
* missing args
* commitChanges is conditional
Co-authored-by: John Sully <jsully@snapchat.com>
---------
Co-authored-by: zliang <zliang@snapchat.com>
Co-authored-by: John Sully <jsully@snapchat.com>
Co-authored-by: Alex Cope <acope@snapchat.com>
Co-authored-by: John Sully <john@csquare.ca>
* Introduce a new API's: RM_GetContextFlagsAll, and
RM_GetKeyspaceNotificationFlagsAll that will return the
full flags mask of each feature. The module writer can
check base on this value if the Flags he needs are
supported or not.
* For each flag, introduce a new value on redismodule.h,
this value represents the LAST value and should be there
as a reminder to update it when a new value is added,
also it will be used in the code to calculate the full
flags mask (assuming flags are incrementally increasing).
In addition, stated that the module writer should not use
the LAST flag directly and he should use the GetFlagAll API's.
* Introduce a new API: RM_IsSubEventSupported, that returns for a given
event and subevent, whether or not the subevent supported.
* Introduce a new macro RMAPI_FUNC_SUPPORTED(func) that returns whether
or not a function API is supported by comparing it to NULL.
* Introduce a new API: int RM_GetServerVersion();, that will return the
current Redis version in the format 0x00MMmmpp; e.g. 0x00060008;
* Changed unstable version from 999.999.999 to 255.255.255
Co-authored-by: Oran Agra <oran@redislabs.com>
Co-authored-by: Yossi Gottlieb <yossigo@gmail.com>
(cherry picked from commit adc3183cd2b54238424895e4298548df4526f8c3)