Skip to content

Releases: naver/arcus-memcached

Arcus Server 1.14.0

11 Jul 05:38
1.14.0
Compare
Choose a tag to compare

🐣 New Features

  • Remove an unused command bget. #749
  • Add shutdown command. #752
  • Add mop upsert command. #772

🔧 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 to rockylinux:8.

Changelog

1.13.5...1.14.0

Arcus Server 1.13.5

17 Jan 03:22
Compare
Choose a tag to compare

🐣 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

28 Nov 01:24
Compare
Choose a tag to compare

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

26 Oct 09:56
Compare
Choose a tag to compare

2021-10-26 [version 1.13.3]

* [FIX] wrong parsing of delay option in flush_prefix command.

Arcus Server 1.13.2

28 Jun 11:16
Compare
Choose a tag to compare

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

15 Mar 01:48
Compare
Choose a tag to compare

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

16 Dec 08:28
Compare
Choose a tag to compare

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

04 Sep 06:12
Compare
Choose a tag to compare

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

30 Mar 05:04
Compare
Choose a tag to compare

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

16 Mar 06:44
Compare
Choose a tag to compare

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.