Tags give the ability to mark specific points in history as being important
-
0.12.0
6a9ae200 · ·v0.12.0 (kinetic-protocol 3.0.5) -------------------------------- * `KineticSession` is now supplied as an opaque instance pointer from `KineticClient_CreateSession` * Passed `KineticClientConfig` is now deep copied and can be discarded after session creation. * Updated `KineticClient_Put` to allow storing an object with an empty value with a NULL data pointer supplied. * Added new `KineticAdminClient` API (see `include/kinetic_admin_client.h`) * Reloacted existing admin methods to admin API * `KineticClient_InstantSecureErase` => `KineticAdminClient_InstantErase`/`KineticAdminClient_SecureErase` * `KineticClient_GetLog` => `KineticAdminClient_GetLog`/`KineticAdminClient_GetDeviceSpecificLog` * `KineticClient_FreeDeviceInfo` => `KineticAdminClient_LogInfo` * Updated `kinetic-c-util` to support new Admin API. Still need to add support for printing info returned from `KineticAdminClient_GetLog` * Changed `kinetic-c-util` API to use `getopt_long` for operations in addition to parameters and added usage info via `--help`/`-?` option. * Fixed potential memory leak when logging protocol buffers. * Fixed potential imbalance in concurrent operations semaphore. * Status code changes * Changed * `KINETIC_STATUS_HMAC_EMPTY` => `KINETIC_STATUS_HMAC_REQUIRED` * Added * `KINETIC_STATUS_MISSING_PIN` * `KINETIC_STATUS_SSL_REQUIRED` * `KINETIC_STATUS_DEVICE_LOCKED` * `KINETIC_STATUS_ACL_ERROR` * `KINETIC_STATUS_NOT_AUTHORIZED` * `KINETIC_STATUS_INVALID_FILE` * `KINTEIC_STATUS_DEVICE_NAME_REQUIRED` * `KINETIC_STATUS_INVALID_LOG_TYPE` * `KINTEIC_STATUS_HMAC_FAILURE` * `KINETIC_STATUS_SESSION_TERMINATED` * Set larger timeouts for operations that tend to take approx. 10 seconds, to prevent non-deterministic failures. * API change: Eliminated KineticClientConfig.writerThreads, since sender threads are gone. * Changed to use stock protobuf-c 1.1.0 which also necessitated upgade to protobuf-2.6.0. * Added auto-generated version info which is prepended to log and can be queried via `KineticClient_Version()` * Added support to gracefully handle remote hangup. * The session will be shutdown. * All pending/new operations will return `KINETIC_STATUS_SESSION_TERMINATED` and termination reason can be queried on the given session via `KineticClient_GetTerminationStatus(session)`. -
0.11.2
e557f089 · ·v0.11.2 (kinetic-protocol 3.0.5) -------------------------------- * Changed all threads to block indefinitely and be fully event-driven. * Added logging of all assertions to provide debugging info in the absence of debug symbols. * Fixed race condition in message bus listener which could lead to data corruption. * Fixed race condition that could cause more than the max number of thread pool threads to be created. * Fixed potential buffer overrun in logger. * Fixed bug with mishandling of unsolicited status responses from the drive prior to drive terminating connection. * Removed ruby/rake as non-development build prerequisites. * Added make json, json_install and json_uninstall tasks for json-c.
-
0.11.1
9a089389 · ·v0.11.1 (kinetic-protocol 3.0.5) -------------------------------- * Fixed race condition causing timeouts to not ne handled resulting in a deadlock. * Fixed extremely high CPU usage during loaded and idle times.
-
0.11.0
3e8e3971 · ·v0.11.0 (kinetic-protocol 3.0.5) -------------------------------- * Changed API to use a `KineticClientConfig` struct, to keep future configuration changes from breaking the source API. * NOTE: KineticClientConfig and KineticSessionConfig rely on C99 struct init. * Unconfigured fields will be reverted to defaults if set to 0. * These structures must be configured via C99 struct init or memset to 0 prior to population for backwards compatibility. * Added options for the number of writer, reader, and max threadpool threads, with defaults. * Added KineticClient_FreeDeviceInfo to free the `KineticDeviceInfo` structure allocated by `KineticClient_GetLog`. * Added several new examples under src/examples/. * Added json-c library dependency which will be used for JSON-formatted ACL files for upcoming Admin API and multi-cast drive discovery tool. -
0.10.1
e25bd358 · ·v0.10.1 (kinetic-protocol 3.0.5) -------------------------------- * Fixed regression in 0.10.0 where a GET with metadataOnly=true would result in a crash if a value field was not provided * Added system tests for P2P operations which are now fully validated and working on HW * Fixed misue of pthread_join status in thread pool which was causing shutdown issues in GCC builds
-
0.10.0
5d7dee6e · ·v0.10.0 (kinetic-protocol 3.0.5) ------------------------------- * Added put_nonblocking and get_nonblocking examples * Added KineticSemaphore API to provide a simpler wrapper around a common use of pthread condition variables as a thread safe way to signal when an async operation has finished * Switched internal message infrastructure to use a threadpool. This will allow for a much higher number active connections and outstanding commands. * KineticClient_Init now returns a KineticClient pointer (internally, it's a handle to the threadpool) that must be passed to KineticClient_CreateConnection() in order to create new connections and must also be passed to KineticClient_Shutdown() on shutdown * Improved I/O examples to demonstrate client write operations for blocking/non-blocking (asynchrounous) and single/multi-threaded. * Added consolidated performance test which reports metrics on PUT/GET/DELETE seqeunces (test/system/test_system_async_throughput.c).
-
0.9.2
5370a293 · ·v0.9.2 (kinetic-protocol 3.0.5) ------------------------------- * Added missing mutex lock causing a concurrency issue. * Added profiling to test/system/test_system_async_io.c
-
0.8.2
cf6267f9 · ·Merged in KINETIC_LIST_LOCK/UNLOCK fixes and other features prior to 0.9.0 release
-
0.9.1
9ffef19a · ·v0.9.1 (kinetic-protocol 3.0.5) ------------------------------- * Added `keys->used` to ByteBufferArray to reflect the number of buffers actually used, and updated `KineticClient_GetKeyRange()` to populate it. * Added `get_key_range.c` example for `KineticClient_GetKeyRange()`.
-
0.9.0
f39b9030 · ·v0.9.0 (kinetic-protocol 3.0.5) ------------------------------- * Changed API to use a `KineticSession` with a pointer to private session/connection info in place of the old `KineticSessionHandle`. * Added `FLUSHALLDATA` operation via `KineticClient_Flush()` * Added `GETPREVIOUS`/`GETNEXT` operations via `KineticClient_GetPrevious()`/`KineticClient_GetNext()` * Replaced `KinticClient_Connect()`/`Disconnect()` with `KineticClient_CreateConnection()`/`DestroyConnection()`, since the connection structure is dynamically allocated and populated in the provided `KineticSession`. `KineticClient_DestroyConnection()` MUST be called on the an established `KineticSession` in order to shutdown the connection and free up resources. * Added initial implementation of PEER2PEERPUSH which does NOT yet support chaining via KineticClient_P2POperation(). * Fixed bug with mutex locking causing an assert failure and subsequent crash. * Fixed leaking of destroyed connections and they are now properly freed upon call to KineticClient_DestoryConnection(). * Fixed bug where some unrecoverable socket errors could cause retries when unintended.
-
0.8.1
958c82cc · ·v0.8.1 ------ * Added GETLOG operation. * Added thread-safety to allow multiple client threads within the same session. * Added I/O examples to demonstrate client write operations for blocking/non-blocking (asynchrounous) and single/multi-threaded. * Still using Kinetic Protocol v3.0 (3.0.5) * NOT backwards compatible with earlier versions of Kinetic Protocol (< v3.0) * Kinetic device firmware must be updated to a release supporting v3.0 protocol! -
0.8.0
6de5c002 · ·v0.8.0 ------ * Added asynchronous/non-blocking execution option to all operations (GET/PUT/DELETE/GETKEYRANGE). * A given operation is carried out in asynchronous mode if a closure callback with optional data is supplied. * ByteArray and ByteBuffer types are now supplied directly in the byte_array.h public interface file. -
0.7.0
4a781be7 · ·Release 0.7.0 to get with new public API including encapsulation of internal structures and dynamic allocation of interrim resources for operations
-
-
-
-