Experience of using LogCabin in production

118 views
Skip to first unread message

yinyong zheng

unread,
Sep 16, 2017, 8:57:40 AM9/16/17
to raft-dev
Hi.

Does anyone have already used LogCabin in production ? If did, can share your experience ?  It seems that the project stop updating for a long time.

Nate Hardt

unread,
Sep 18, 2017, 1:42:58 PM9/18/17
to raft-dev
Hi Yinyong,

We use LogCabin at Scale Computing in production. We have thousands of instances running in 1, 3 and 5 node configurations. We first started using it when Diego was finishing up his thesis. He worked with us on some bugs we found running it through our test harness. It's been pretty much bug free since the last commits were merged. I have one outstanding bug fix commit where a client can crash when initializing the RNG if you are at your fd limit.

Overall the experience has been great. A lot of it is due to the raft protocol itself, linearizability makes several things easier when you are running code on a cluster, and having the client handle failures for you seamlessly is far better than what you have to do in other instances. The code itself is clean, unit tested and fairly easy to understand. The thesis and code are extremely well matched, it's easy to find the reasoning for code in the thesis or implementation of an idea in the code.

Diego has no future plans for LogCabin and has pretty much gone unresponsive to any PRs or emails related to LogCabin. I am not sure what that means for the future of the project. We will continue to use it at Scale and will fix any bugs that affect us. What I've done in the past is push those to github and open a PR to the main project.

There is a logcabin-dev mailing list. Not much traffic but people that have signed up there do have some interest in the project going forward. If you do decide to use it, need tips or want to coordinate on where to put new patches, that might be a good place for it.


Nate

yinyong zheng

unread,
Sep 21, 2017, 1:44:13 AM9/21/17
to raft-dev
Thank you for your response ! We are working on LogCabin and plan to develop KV store system (redis command compatible, use rocksdb as backend storage) . As you says, LogCabin is a wonderful project and its code is very clean. 

Can you share your scenario of using LogCabin ? What type of data ? Do you have use any backend storage or just use the original one ? 

在 2017年9月19日星期二 UTC+8上午1:42:58,Nate Hardt写道:

Nate Hardt

unread,
Sep 21, 2017, 5:35:14 PM9/21/17
to raft-dev
LogCabin itself is a key value store, which is how we use it. We use the log cabin segmented binary storage engine. For the most part we serialize complex data types and store them in serialized format in LogCabin.

Are you maybe thinking of the Raft protocol itself rather than the LogCabin implementation of Raft? Based on your plans that seems possible.
Reply all
Reply to author
Forward
0 new messages