Releases: Incubaid/arakoon
Arakoon 1.6.4
Arakoon 1.6.4 is a maintenance release which fixes an issue in the Pylabs extension code.
From now on, the injectAsHead
call returns the exit code of the process handling the call (ARAKOON-435).
Arakoon 1.6.3
Arakoon 1.6.3 is a 1.6 maintenance release which fixes ARAKOON-430
Arakoon 1.6.2
Arakoon 1.6.2 is a 1.6 maintenance release which fixes ARAKOON-426 and a few other more minor issues
Arakoon 1.6.1
Arakoon 1.6.1 fixes some issues discovered in version 1.6.0, and provides some more error reporting, debugging & file location configuration options.
New exit codes
- Exit code 48 indicates the end of the tlog was reached unexpectedly. This usually signifies the Arakoon process died without being able to flush its buffers. The Tokyo Cabinet database may or may not be corrupted.
- Exit code 49 indicates a checksum error while reading a tlog, which hints at a filesystem-level corruption.
Previously in these situations Arakoon would erroneously truncate its tlog and then, depending on how much was truncated, report the situation as "Store ahead of tlog" (exit code 40).
Introduced in #125.
New head_dir
option
A new configuration option head_dir
was added. This is the location where the head.db
snapshot will be stored. If not specified it defaults to tlf_dir
(which itself defaults to tlog_dir
). This was introduced in #123 and resolves ARAKOON-414.
Dumping crash logger at runtime & bump log level during shutdown
For debugging & investigation purposes, the content of the Arakoon crash logger can be dumped at runtime by sending SIGUSR2
to a node process. When using the extension stop
method, this is done automatically before sending SIGKILL
to a node process (which happens in case a node doesn't quit within 10 seconds after sending SIGTERM
).
Next to this, when a node process receives a SIGTERM
or SIGINT
signal in order to shutdown, the log level of all sections is raised to debug level in order to retain as much information as possible about what happens during shutdown.
Introduced in #127, #128 & #131. In #133 a regression causing the crash log not to be dumped when a 'normal' failure happened was fixed.
These fixes are related to ARAKOON-416, "Arakoon node stop doesn't properly close tlogs - continued", in order to debug nodes not shutting down within reasonable time.
In order to ensure a fast shutdown some more changes were made:
- Stop tlog compression when closing the tlog instead of waiting for all compression jobs to finish and pick up outstanding compression jobs at startup (#130, #134)
- Don't commit the changes batched up in memory to the store (#129)
- Close the listening sockets sooner when finalizing the server thread (#129)
Various fixes
- #122 fixes ARAKOON-413, "Arakoon node refuses to start even after manually closing the tlog"
- #124 fixes ARAKOON-415, "getStorageUtilization API not updated to check tlf_dir"
- #126 fixes ARAKOON-417, "Need an exitcode for 'invalid metadata' after poweroutage" by validating the tlog before opening the store
- #135 fixes ARAKOON-420 "Node shuts down after fatal error: slave_wait_for_accept only registered for FromNode" & ARAKOON-421 "Metastore stops with exception in fsm thread: Multi_paxos.PaxosFatal('wait_for_promises: don't want FromClient')"
Arakoon 1.6.0
Highlights of this release & some performance metrics can be found on our blog, see http://blog.incubaid.com/2013/07/08/arakoon-1-6-0-is-out/.