Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Oct 10, 2014
  1. - Kestrel: replace mutable.Queue with java.util.LinkedList for gc re…

    Aniruddha Laud authored
        - Fix linkedhashmap by using java.util
        - Kestrel-core changes for durability
        - Kestrel: dont fsync on a closed writer
        - Add sampling stats to persistent queue
        - Kestrel: Close Reader during replay - After replaying a file, close the reader - Local File reader should close the FileChannel as well as the FileInputStream.
        - Kestrel: Trace on NoSuchElementException
        - shutdown sequence fix fix - state change needs to be transient -> we want the last persisted state to be restored on restart - change gracefulshutdown bit for writeavoid to false since we dont need to wait to transition to this state
        - Kestrel: LogEmptyException in length() Inline with the behavior of AppendOnlyStreamWriter/Reader, when a stream is empty, its length should be treated as zero. Currently this call may throw an exception. The behavior is not common as we never explicitly call .length as the first operation once a stream is created. This happens only as a race condition between background pack and rotate.
        - Kestrel: Change PersistentStream, PersistentStreamWriter, PersistentStreamReader to be traits This ensure that only implementations of PersistentStreamContainer and PersistentMetadataStore need to provide public constructors. This helps with exception handling and retries especially if state that spans the entire container has to be reset because of shared data structures.
        - Kestrel: Recover Metadata before accessing the directory The constructor of Journal calls a getStream(queueName). When PersistentQueue is used as a library, this call may precede any call to listStreams or listQueues which would therefore create the stream before the metadata has been recovered. In case of the Kestrel service though, QueueCollection first loads queues, this recovers metadata before any other operation has a chance to access the directory map.
        - Kestrel: Log client description on client errors - IndexOutofBoundsException indicates that the request was incorrectly formed. Translate that to a CLIENT_ERROR - Log the clientDescription when we encounter a client error
        - add a metric for total fsync time, count some viz changes
        - Kestrel: Support for whitelisting clientIds that are allowed to access queues The goal of this change is to allow the users to specify the client id that is allowed to enqueue to or dequeue from a queue. The purpose of the feature is to allow incorrectly deployed code or config from enqueing to or dequeing from queues in production. This is *NOT* intended as a security feature.
        - Kestrel: Refactor ServerStatus so that the storage can be made pluggable - Introduce PersistentMetadataStore that abstracts the storage of the server status. - Provide an implementation (LocalMetadataStore) that stores the persistent metadata in a local file (similar to current implementation)
        - Kestrel: Gauge for max items and max size Both based on configuration parameters
        - Kestrel: Change to Rewrite sequence and tests The change includes i) Split the delete and rename as two separate steps in the rewrite sequence. ii) Add fail point based tests to verify rewrite behavior in the presence of failures
        - Kestrel: Remove Deprecated methods from tests Remove Deprecated methods on util.Future and use Await.result instead - helps eliminate ~100 warnings that are produced in the build
        - Remove waiters on monitorUntil in KestrelHandler and not just those from get()
        - Use eventually on kestrel flaky handoff test
        - Kestrel: Journal Replay Time This is particularly useful in debugging slow restarts - or misconfigured queues (incorrect journal parameters). I did not add a metric as replay only runs once per restart and hence there wont be enough samples to get any meaningful statistics
        - Kestrel: Refactor Journal Storage Refactor the Journal Storage as follows a) PersistentStreamContainer - the abstraction that manages all the persistent streams associated with Kestrel queue(s). b) PersistentStream - an instance of an append only durable stream, each Kestrel queue's persistent state is represented as one or more persistent streams c) PersistentStreamReader/Writer - interfaces for reading from and writing to the PersistentStream. Instead of supporting all the semantics of a generic InputStream/OutputStream, these interfaces only provide the methods that are required by Kestrel
        - Kestrel: Improve Discard by minimizing calls to FillReadBehind For large queues that are in read behind - discarding expired items need not issue fillReadBehind for every item expired. Reducing the calls to the case where the queue in memory is empty an once after the current discard loop has been completed, should improve efficiency.
        - kestrel : bump util/finagle version to 6.x version, since 5.x and 6.x has different interfaces on Future definition.
        - Fix leaking transactions on kestrel  The future could be canceled before the addPendingRead() is executed. This would result in abortAnyOpenRead() not being aware of the newly added value which would linger around as an open transaction.
        - Kestrel: Implement Open Transaction Timeout In Kestrel.
        - Kestrel: Some cleanup based on canary testing Cleanup the graceful shutdown logic and update the rewrite message so we can differentiate rewrites coming from clean shutdown
        - Kestrel Canary: Turn off the new behavior of aggressive rewrites The new logic to disableAggressiveRewrites should be off by default so that we can canary Zoo
        - Bound number of items to be expired at add/remove/peek. Allow PersistentQueue.discardExpired() to have a configurable limit of items to be discarded Currently, add/remove/peek will cause an unbounded number of items to expire. This is bad. It should bound number of items to be expired by config.maxExpireSweep instead.
Commits on Jan 10, 2013
  1. Change Log for the 2.4.2 Release

    Robin Dhamankar authored
Commits on Nov 2, 2012
  1. update Changelog for 2.4.1

    Stephan Zuercher authored
Commits on Sep 27, 2012
  1. modernize kestrel libraries

    Stephan Zuercher authored
Commits on Sep 24, 2012
  1. Merge branch 'github_master'

    Stephan Zuercher authored
  2. missed one item in changelog

    Stephan Zuercher authored
Commits on Sep 21, 2012
  1. Merge branch 'release-2.3.4'

    Stephan Zuercher authored
  2. update changelog

    Stephan Zuercher authored
  3. Merge branch 'release-2.3.4'

    Stephan Zuercher authored
  4. KEST-272: proper config inheritance; log queue/alias config on reload

    Stephan Zuercher authored
Commits on Aug 29, 2012
  1. update Changelog

    Stephan Zuercher authored
Commits on Aug 24, 2012
  1. kestrel: server status & zookeeper server sets

    Stephan Zuercher authored
Commits on Aug 23, 2012
  1. update changelog in advance of 2.3.2

    Stephan Zuercher authored
Commits on Jul 13, 2012
  1. update change log

    Stephan Zuercher authored
  2. bump version to 2.3.0-SNAPSHOT; update ChangeLog

    Stephan Zuercher authored
Commits on May 11, 2012
  1. update ChangeLog for 2.2.0

    Stephan Zuercher authored
Commits on Jan 12, 2012
  1. changelog for 2.1.5

    Robey Pointer authored
Commits on Nov 21, 2011
  1. update ChangeLog

    Stephan Zuercher authored
Commits on Oct 13, 2011
  1. changelog

    Robey Pointer authored
Commits on Sep 30, 2011
  1. add changelog for 2.1.2

    Robey Pointer authored
Commits on Sep 23, 2011
  1. add a changelog

    Robey Pointer authored
Something went wrong with that request. Please try again.