Releases: naver/arcus-c-client
Releases · naver/arcus-c-client
Arcus C Client 1.14.0
🐣 New Features
- Add
mop upsert
method. #292 - Add multiple storage method.
memcached_mset()
memcached_madd()
memcached_mreplace()
memcached_mprepend()
memcached_mpppend()
memcached_mcas()
🐛 Bug Fixes
- Fix buffer size when calling
snprintf()
with leading whitespace and integer value. #304 - Use
__linux__
instead ofTARGET_OS_LINUX
to check if the current OS is Linux. #306 - Use different lock filenames for multiple proxy in a process.
📝 Documentation
- Fix typo.
✅ Testing
- Cancel previous CI in progress when new commits are added. #296
Full Changelog: 1.13.3...1.14.0
Arcus C Client 1.13.3
🔧 Enhancements
- Fix compile warnings on RHEL8 and MacOS.
- Do not use
#pragma once
. - Select smallest host as owner when ketama hash collided. #237
- Add parameter validation in
arcus_proxy_connect()
. - Move io reset from where calls
memcached_vdo()
to where fails inside ofmemcached_vdo()
. #250 - Use
<latest-release>-unknown
version when git describe fails. - Add a limit of count about bop mget/smget commands.
- Import
scanner.l
andparser.yy
from libmemcached-0.53. - Refactor ketama weighted related implementation. #263 #273 #274 #275 #276 #277
- Fix package name and info to 'arcus-c-client'.
🐛 Bug Fixes
- Call
arcus_server_check_for_update()
inmemcached_exist_by_key()
. #241 - Check
mc->connect_timeout
instead ofmc->poll_timeout
inconnect_poll()
. #247 - Remove a duplicate init macro in configure.ac. #267
- Return
hashkit_get_distribution_function()
instead ofhashkit_get_function()
inmemcached_behavior_get_distribution_hash()
.
📝 Documentation
- Add unit test FAQ.
- Fix inconsistencies between code and documentation.
✅ Testing
- Use Github Actions instead of Travis for CI test.
Arcus C Client 1.13.2
2022-02-22 [version 1.13.2]
* [FEATURE] supported the 3 replicas in replication.
* [FIX] return switchover error code when coll get with delete.
* [FIX] fixed wrong aggregate pipe return code in case of failure.
* [FIX] hold the pool lock when update the cache list of master mc.
* [FIX] fixed the cache list update of member mc in proxy mode.
* [ENHANCE] enhanced the cachelist update logic with serverinfo.
* [ENHANCE] Not to close and reopen pool connections
* [ENHANCE] removed the dual pool repopulation when start at first.
* [ENHANCE] optimized the slave comparision in memcached_rgroup_update().
* [ENHANCE] optimized the release processing in memcached_pool.
* [ENHANCE] ensure more concurrency in memcached pool.
* [CLEANUP] fixed the compile warnings.
* [CLEANUP] refactored serveral parts of code.
Arcus C Client 1.13.1
2021-07-06 [version 1.13.1]
* [FEATURE] enable zookeeper multi thread mode.
* [FIX] if MEMCACHED_ERRNO entered in memcached_set_error(),
return instead of assert.
Arcus C Client 1.13.0
2021-01-18 [version 1.13.0]
* [FEATURE] supported mgets command.
* [FIX] check space_separated_keys immediately after memcached_connect().
* [FIX] check mget command support immediately after memcached_connect().
* [INTERNAL] return MEMCACHED_CONNECTION_FAILURE in memcached_fetch_result().
Arcus C Client 1.12.0
2020-12-09 [version 1.12.0]
* [FEATURE] set the max key size to 4000.
* [DOC] changed max element bytes: 4KB => 16KB.
(committed at 20200317 and included in 1.10.4)
* [DOC] fixed the smget result API and structure names.
Arcus C Client 1.11.0
2020-12-07 [version 1.11.0]
* [FEATURE] supported space-separated keys.
* [FEATURE] supported mget command, efficient for getting multiple items.
* [FEATURE] requested version operation when connect to server.
* [FEATURE] increased max key length: 250 => 4K.
* [ENHANCE] do memcached_quit_server() if poll timeout occurs in io_flush.
* [ENHANCE] increased cluster max size for multi key op: 200 => 1000.
* [IMPROVE] reduced string copy when convert eflag/update_filter to string.
* [FIX] set purge recursion flag to false before return.
* [FIX] handled the host failures in the multi key operation.
* [FIX] unset noreply before get operation in noreply_test().
* [FIX] fixed unallocated memory access in mkey fetch.
* [OTHERS] Refactored some code for readabiblity.
Arcus C Client 1.10.5
2020-10-22 [version 1.10.5]
* [FEATURE] bop incr/decr with initial option.
* [FIX] registered "NULL" if hostname lookup fails in do_add_client_info().
* [FIX] added the TYPE_MISMATCH handling in kv response
* [DOC] changed the description of the max item size
* [DOC] refactored the document format and some content.
Arcus C Client 1.10.4
2020-08-04 [version 1.10.4]
* [FEATURE] Added memcached_detail_error_message() API.
* [FEATURE] Immediate reconnect according to error responses.
* [FEATURE] Changed max element bytes. 4KB => 16KB.
* [FEATURE] Returned E2BIG if CLIENT_ERROR object too large.
* [FEATURE] Changed MEMCACHED_SERVER_FAILURE_RETRY_TIMEOUT. 2sec => 1sec.
* [ENHANCE] Enlarged the contents of error messages in detail.
* [ENHANCE] Stored detail error message in error_messages field.
* [ENHANCE] Added arcus ZK manager for processing ZK events.
* [FIX] pipe operation is stopped if switchover is done.
* [FIX] Fixed version check condition.
* [FIX] Fixed several bugs in handling response strings.
* [FIX] Added the key test where needed.
* [FIX] Do client_info and watcher registration only when needed.
* [FIX] Prevent master_mc from being freed while using pool.
* [FIX] Changed to create version using m4 file.
* [FIX] Fixed simple null pointer dereferencing.
* [DOC] Added multi eflag filter description.
* [Test] Added test case for PIPE_ERROR bad error.
* [OTHERS] Refactored the response module for handling responses.
* [OTHERS] Refactored much code for readabiblity.
Arcus C Client 1.10.3
2019-12-17 [version 1.10.3] (revised)
* [FIX] master failover issue by setting serverlist_changed corretly.
* [Fix] enable replication by referencing ZK in multi process mode.
* [Fix] fixed segfault caused by code tag mistake.