twitter-archive / kestrel

simple, distributed message queue system (inactive)
http://twitter.github.io/kestrel
Other
2.77k stars 312 forks source link

Durable journal #1

Closed blair closed 15 years ago

blair commented 15 years ago

The default journal behavior is to do no syncing of the journal, which can lead to lost items if there is a system or process crash after an item is added to the queue and the journal is flushed to disk.

Additionally, during journal rolling, the existing journal is renamed and items from it are played into a new empty journal with the original path. If there is a crash, then many items can be lost.

Both of these issues are fixed in my fork. For the second one, a temporary journal is made with a temporary filename which is then renamed into place when it has been completely written.

blair commented 15 years ago

Robey pulled these changes into his tree.

robey commented 15 years ago

thanks!