1
I Use This!
Inactive

Commits : Listings

Analyzed 1 day ago. based on code collected 1 day ago.
Oct 24, 2024 — Oct 24, 2025
Commit Message Contributor Files Modified Lines Added Lines Removed Code Location Date
Merge pull request #150 from ReadmeCritic/master More... almost 10 years ago
Merge pull request #147 from alex-hofsteede/patch-1 More... almost 10 years ago
Update README.md More... almost 10 years ago
Update README.md More... almost 10 years ago
Update README URLs based on HTTP redirects More... almost 10 years ago
Fix bad Future.sleep substitute More... about 10 years ago
Update resolvers, specify SBT version, and add status note More... about 10 years ago
Revert to finagle 6.4, fix build More... about 10 years ago
s/itmes/items/ More... over 10 years ago
Remove PeriodicSyncFile More... about 11 years ago
- Kestrel: replace mutable.Queue with java.util.LinkedList for gc reasons - 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. More... about 11 years ago
Kestrel 2.4.7 More... about 11 years ago
Revert update to Finagle 6+ until dependencies can be advanced to the compatible versions naggati still uses Util version of 5.x, this causes memcache clients to behave incorrectly. I am reverting the change to update the finagle (and util) version until I can update naggati. More... over 12 years ago
Update Kestrel to Finagle 6 and friends (Util and Servo) The changes include - Using the setInterruptHandler on Promise - Getting rid of the onCancellation call on Future - handling the Cancelled exception instead - Stop overriding finagle.Service.release () use close instead. More... over 12 years ago
Additional Tests for aggressive rewrites Tests for exercising the following scenarios - Enabling aggressive rewrites - Ensure that we don't stop rewriting if the journal space is freeing up - Ensure that rewrites are delayed for compact delay if rewrite resulted in insufficient compaction More... over 12 years ago
Additional tests for graceful shutdown Adding tests for graceful shutdown - with non empty queue - open transactions More... over 12 years ago
Rewrite journals on graceful shutdown When we take a machine out of service, we first set it readonly to drain the queues. In order to minimize the startup time, we should also attempt to rewrite journals for empty queues. In general we want to keep shutdown very light weight so this graceful shutdown option is limited to the case when Kestrel is in readonly and quiescent state (states used for planned outages) Added a test to exercise the rewrite More... over 12 years ago
Disable Aggressive Rewrites by default as we prepare to canary More... over 12 years ago
Tests the replay fixes for remove tentative Added new test that verifies the replay fixes when remove tentative/confirm remove is used in place of unconditional removes. This also exercises the open transactions logic in the checkpoint creation and packing of journals. More... over 12 years ago
Kestrel Replay Fix Part IV: Concurrency between pack and rotate More... over 12 years ago
Fix ThriftHandlerSpec test by avoiding mocking of InetSocketAddress More... over 12 years ago
KEST-402: Kestrel replay fix Part III: Recovering journal contents after pack - Provide a method that journal replay can use to keep the removesSinceReadBehind count in sync. - Update the count when replaying remove/confirm-remove/continue journal records (items) if the replaying queue is in read-behind. - Add a test that exercises the scenario by ensuring that repeated restarts correctly restore the count of items More... over 12 years ago
Update foreground.sh script to handle mesos launch. More... over 12 years ago
KEST-402: Kestrel replay fix - Part II Part II: Transactional Add (Continue) should update removesSinceReadBehind only if the queue is in read behind. More... over 12 years ago
Remove the reverse lookup in the log message Use getHostString instead of getHostName More... over 12 years ago
Kestrel replay fix Kestrel replay fix - Part 1: More... over 12 years ago
Change the Journal Rewrite/Rotation logic The condition that aggressively rewrites the journal when the queue is empty is expected to be a cheap operation that would shrink the journal to a very small size. When there are a large number of open transactions, even after the rewrite the journal size may not shrink. Since checkRotateJournal is called on each get/set, it effectively means we will rewrite the journal on each get and set without ever shrinking the journal size. This repeated rewrites affect latency of writes to the queue (as journal rewrite is synchronized) and also affects the I/O to the journal disk which can affect other queues on the same machine. More... over 12 years ago
Merge branch 'master' of https://git.twitter.biz/kestrel into kestrel-pidfile More... almost 13 years ago
'release commit for net.lag:kestrel:2.4.3-SNAPSHOT' More... almost 13 years ago
'release commit for net.lag:kestrel:2.4.2' More... almost 13 years ago