goraft / raft

UNMAINTAINED: A Go implementation of the Raft distributed consensus protocol.
MIT License
2.43k stars 480 forks source link

Locking while taking a snapshot #238

Open jvshahid opened 10 years ago

jvshahid commented 10 years ago

We have come across a bug in influxdb/influxdb#1006 which I think is caused by the lack of locking while taking a snapshot. There's a todo that points to this limitation, but I think this is a serious bug that should be addressed immediately. The line in question is https://github.com/goraft/raft/blob/master/server.go#L1188

jvshahid commented 10 years ago

ping, can someone confirm this bug ?

mre commented 10 years ago

+1 Can we help with this?

mre commented 10 years ago

So as far as I can see, this library is currently unmaintained, right?

benbjohnson commented 10 years ago

@mre Yes, the original devs on the project have either built newer implementations or are not using the library anymore. @philips is adding a shield to the README to notify users that the library is unmaintained and new maintainers are welcome.

https://github.com/goraft/raft/pull/241

mre commented 10 years ago

@benbjohnson, thanks for the info. @jvshahid: Is team around InfluxDB planning to maintain this or are you looking for alternatives?

benbjohnson commented 10 years ago

@mre I'm working with InfluxDB on a high performance version of raft to stream all data through. After that's finished, InfluxDB won't have a go-raft dependency.

mre commented 10 years ago

@benbjohnson Very nice. I could help you with testing if you like.

philips commented 10 years ago

@mre The etcd team's library is at http://godoc.org/github.com/coreos/etcd/raft and it is also used by http://godoc.org/github.com/cockroachdb/cockroach/multiraft if you are looking at options.