Releases: naver/arcus-memcached
Releases · naver/arcus-memcached
Arcus Server 1.14.0
🐣 New Features
🔧 Enhancements
- Enhance arcus_zk_watcher log messages.
- Set the update flag only when
ZOO_CONNECTED_STATE
. #735 - Reduce
add_iov()
work for TCP connections. #737 - Refactor the method of building UDP headers.
- Limit a value length from exceeding INT_MAX in binary protocol.
- Enhance log message when new respones before pipe error reset.
- Fix a clang static analyzer issue.
🐛 Bug Fixes
- Modify mismatched error types when
get_item_info()
failed. - Fix the wrong
write_and_free
error handling in binary protocol. - Fix problems about not released items and an assertion in UDP.
- Wait till the previous cmdlog flush thread ends.
- Correct wrong actions in
process_mop_prepare_nread()
.
📝 Documentation
- Remove old
bop smget
documentation. - Correct small memory allocator threshold.
- Create Issue/PR templates.
- Update the description of
cmdlog
,lqdetect
,dump
commands. - Add
mop upsert
document.
✅ Testing
- Add a distributed packet test about long key in UDP.
⬆️ Dependency Upgrades
- Update Docker base image from
centos:7
torockylinux:8
.
Changelog
Arcus Server 1.13.5
🐣 New Features
- Add
ready
command Add ready command to verify that the cache server can receive requests.
In Zookeeper clustering, the cache node becomes ready state after creating its cache_list znode. #707
🔧 Enhancements
- Fix compile warnings on RHEL8 and Ubuntu.
- Add Dockerfile.
- Changed the MAX_ZK_TO value from 300 to 2000 secs.
- Use
<latest-release>-unknown
version when git describe fails. - Add zk_version to
stats zookeeper
response. - Summarize rejected connection log message occured frequently.
- Modify mismatches between log level and verbose.
- Check dependencies in the prefix path before the default path. #699
- Compare core version and engine version when create_instance().
🐛 Bug Fixes
- Set
arcus_conf.zk_timeout
to the negotiated timeout with ZK server. - Terminate the process if any address already in use. #665
- Convert string of exptime to int64_t in ASCII protocol. #711
- Fix bop mget/smget parsing logics. #722 #724 #725
- Do not use
out_string()
in binary protocol. - Fix a memory leak possible in UDP and binary protocol.
📝 Documentation
- Fix typo and remove whitespace.
- Edit maxbkeyrange document.
- Add texts for dependencies installation.
- Restructure markdown documentation directory.
✅ Testing
- Use Github Actions instead of Travis for CI test.
- Make possible to test
t/issue_67.t
even in root user. - Exclude all Makefiles from whitespace test.
⬆️ Dependency Upgrades
- Modify to have dependency libraries(libevent and zookeeper-client-c) and add dependency libraries install script.
Arcus Server 1.13.4
2022-11-28 [version 1.13.4]
* [FEATURE] Added "stats prefixlist" command.
* [FEATURE] Added "scan prefix" command.
* [FEATURE] Added "scan key" command.
* [FIX] Increase the refcount when allocate a hash_item.
* [FIX] Get valid connect string from dynamic reconfig.
* [FIX] checked correctly whether new nodes are added in
cache_list change.
* [FIX] the swallow processing when 2 line command has noreply.
* [FIX] thread state transition in single-line cmd pipelining.
* [FIX] expand array size of rcbuf to prevent the string from
being truncated.
* [FIX] clear pipe_state at the end of the pipelining to avoid
swallowing the next command.
* [FIX] fixed -Wformat-security compile error.
* [FIX] uninitialized opcost variable when lqdetect bop count.
* [FIX] wrong bkey range check in lqdetect_make_bkeystring().
* [FIX] fix a persistence code bug in config command.
* [FIX] wait til cmdlog flush thread terminate in cmdlog_final().
* [FIX] fixed the range argument overflow in long query detection.
* [FIX] missing to set logger in lqdetect.
* [FIX] handled memory allocation failure for connection object.
* [FIX] the compilation errors in CentOS 8.
* [ENHANCE] Add some stats to default stats command for monitoring.
* [ENHANCE] optimized my znode existence checking in arcus_zk.
* [INTERNAL] Not to use already used port.
* [INTERNAL] sm_retry_ms setting for starting scrub stale operation
* [INTERNAL] diversified retry_ms setting when zoo_wget_children() failed.
* [INTERNAL] changed the boolean sm_retry to the integer sm_retry_ms.
* [INTERNAL] consider the increased maximum key length in lqdetect.
* [INTERNAL] reduced the max key length. 32000 => 16000.
* [INTERNAL] changed the initial size of assoc hash table. 128K => 64K
* [INTERNAL] No longer expand the hash table if it is fully expanded.
* [INTERNAL] removed child stats from "stats prefixes" response.
* [INTERNAL] replaced event_init() to event_base_new().
* [TEST] Changed port number to avoid "Address already in use" error.
* [TEST] added pipeline test case of swallowing normal data issue.
* [DOC] added automatic scrub feature explanation.
* [CLEANUP] refactored a lot of codes and docs.
Arcus Server 1.13.3
2021-10-26 [version 1.13.3]
* [FIX] wrong parsing of delay option in flush_prefix command.
Arcus Server 1.13.2
2021-06-28 [version 1.13.2]
* [FEATURE] supported zk_reconfig auto enable feature.
* [FEATURE] added stats zookeeper command.
* [FEATURE] added zk reconfig stats.
* [FEATURE] add flush prefix message compact feature
* [FIX] resolve "No more memory" error occurrence.
* [FIX] print checkpoint file size stat in 64bit.
* [FIX] initialized the eresult structure before ACTION_BEFORE_XXX().
* [CLEANUP] separate heartbeat implementation into arcus_hb files.
Arcus Server 1.13.1
2021-03-15 [version 1.13.1]
* [FEATURE] support nested prefix. (not yet enabled)
* [FEATURE] added "stats persistence" command.
* [FEATURE] added config command for changing the persistence settings.
* [FEATURE] support zookeeper dynamic reconfiguration. (Not default)
* [IMPROVE] implemented slow hash table expansion.
* [FIX] resolve compilation in the latest linux version.
* [FIX] expire immediately if the given time is in past.
* [FIX] flushed the log records remaining in buffer in async mode.
* [DOC] added description for persistence stats.
* [DOC] added description for unreadable attribute.
* [CLEANUP] refactored arcus_zk and cluster_config modules.
Arcus Server 1.13.0
2020-12-16 [version 1.13.0]
* [FEATURE] added mgets command
* [FEATURE] added persistence function in default engine. (beta)
* [FEATURE] added default_engine.conf file to set engine settings.
* [IMPROVE] make possible notifying io completion multiple times.
* [IMPROVE] reduced the count of calling the number_of_pending().
* [IMPROVE] do not increase the refcount when allocate an hash_item.
* [IMPROVE] optimized the do_item_replace() function.
* [FIX] set item_count to -2 only ENGINE_ENOMEM in item_scan_getnext().
* [FIX] reset elem_count of erst_array in item_scan_release().
* [FIX] changed the use_cas checking in an existing hash item.
* [FIX] do the blocked io even if preparing coll get response fails.
* [FIX] set rltotal to 0 when read in data to single buffer.
* [TEST] disabled tests about the max item size more than 1mb.
* [CLEANUP] added redistribution logs when expand the hash table.
* [CLEANUP] set the engine related settings by reloading engine config.
* [CLEANUP] added the item apply functions.
* [CLEANUP] separated the item module into multiple files.
* [CLEANUP] refactored many parts in source code.
Arcus Server 1.12.2
2020-09-04 [version 1.12.2]
* [FEATURE] support item size exceeding 1MB by removing asserts on that.
* [FEATURE] remove dual space in the pipe header response string.
* [FIX] prevent memory out-of-range while printing out key on log.
* [FIX] set to CLIENT_ERROR error when E2BIG error occurs.
* [FIX] fix miscalculation of snprintf string size
* [FIX] clear azk_count during zookeeper rejoin process
* [FIX] call the missed release_independent_stats() when shutdown.
* [CLEANUP] added a new item_scan facility.
* [CLEANUP] separated the prefix module from the assoc module.
* [CLEANUP] used the new item_scan facility when dump items.
* [CLEANUP] set max_element_bytes config in engine.
* [CLEANUP] do logging when hash collision occurs.
* [TEST] add pipe overflow test.
* [TEST] augment the mop get tests.
* [DOC] modify the format for use in ARCUS documentation system.
* [DOC] add detailed descrption for kv response
* [DOC] add description about config command
* [OTHER] do extensive code refactoring.
Arcus Server 1.12.1
2020-03-30 [version 1.12.1]
* [FIX] Fixed memory overwrite when tokernize strings in memory blocks.
* [FIX] Added ENGINE_ENOMEM error handling where it is missed.
* [DOC] Provided the more specific explanation about stats command.
* [DOC] Added a compilation FAQ page.
* [TEST] Added tests for verifying binary bkey OUT_OF_RANGE response.
Arcus Server 1.12.0
2020-03-16 [version 1.12.0]
* [FEATURE] Changed max_element_bytes(4KB=>16KB) and set configurable.
* [FIX] Added the error handling of retry when an auto scrub fails.
* [INTERNAL] Added CLOG_BTREE_ELEM_DELETE_LOGICAL macro.
* [CLEANUP] Fixed improper type specifiers and wrong response string.
* [CLEANUP] Fixed condition to decrease bucket refcount when scan ends.
* [CLEANUP] Fixed some mistakes on code comments.
* [DOC] Removed hyphen in chapter titles.
* [DOC] Removed time option in delete command.