ktoso / akka-raft

A toy project implementing RAFT on top of Akka Cluster (not prod ready)
http://blog.project13.pl
Apache License 2.0
280 stars 42 forks source link

Most of the tests are failing #78

Open dmitraver opened 9 years ago

dmitraver commented 9 years ago

I've discovered that most of tests(not multi jvm) are failing right now with the following message:

[ERROR] [10/09/2015 10:59:35.292] [raft-test-akka.actor.default-dispatcher-3] [akka://raft-test/user] assertion failed
java.lang.AssertionError: assertion failed
    at scala.Predef$.assert(Predef.scala:165)
    at pl.project13.scala.akka.raft.model.ReplicatedLog.entriesBatchFrom(ReplicatedLog.scala:78)
    at pl.project13.scala.akka.raft.protocol.RaftProtocol$AppendEntries$.apply(RaftProtocol.scala:49)
    at pl.project13.scala.akka.raft.Leader$$anonfun$replicateLog$1.apply(Leader.scala:118)
    at pl.project13.scala.akka.raft.Leader$$anonfun$replicateLog$1.apply(Leader.scala:114)
    at scala.collection.immutable.HashSet$HashSet1.foreach(HashSet.scala:153)
    at scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:306)
    at pl.project13.scala.akka.raft.Leader$class.replicateLog(Leader.scala:114)
    at pl.project13.scala.akka.raft.RaftActor.replicateLog(RaftActor.scala:12)
    at pl.project13.scala.akka.raft.Leader$class.sendHeartbeat(Leader.scala:110)
    at pl.project13.scala.akka.raft.RaftActor.sendHeartbeat(RaftActor.scala:12)
    at pl.project13.scala.akka.raft.Leader$class.startHeartbeat(Leader.scala:103)
    at pl.project13.scala.akka.raft.RaftActor.startHeartbeat(RaftActor.scala:12)
    at pl.project13.scala.akka.raft.Leader$$anonfun$3.applyOrElse(Leader.scala:20)
    at pl.project13.scala.akka.raft.Leader$$anonfun$3.applyOrElse(Leader.scala:16)
       ....

I think its somehow connected to the recent fixes. I will look into that as well.

colin-scott commented 9 years ago

The log indices have changed (to 1-indexing), but the tests haven't. Definitely need to update the tests! Should be fairly straightforward.

On Fri, Oct 9, 2015, 2:40 AM Dmitry Avershin notifications@github.com wrote:

I've discovered that most of tests(not multi jvm) are failing right now with the following message:

[ERROR] [10/09/2015 10:59:35.292] [raft-test-akka.actor.default-dispatcher-3] [akka://raft-test/user] assertion failed java.lang.AssertionError: assertion failed at scala.Predef$.assert(Predef.scala:165) at pl.project13.scala.akka.raft.model.ReplicatedLog.entriesBatchFrom(ReplicatedLog.scala:78) at pl.project13.scala.akka.raft.protocol.RaftProtocol$AppendEntries$.apply(RaftProtocol.scala:49) at pl.project13.scala.akka.raft.Leader$$anonfun$replicateLog$1.apply(Leader.scala:118) at pl.project13.scala.akka.raft.Leader$$anonfun$replicateLog$1.apply(Leader.scala:114) at scala.collection.immutable.HashSet$HashSet1.foreach(HashSet.scala:153) at scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:306) at pl.project13.scala.akka.raft.Leader$class.replicateLog(Leader.scala:114) at pl.project13.scala.akka.raft.RaftActor.replicateLog(RaftActor.scala:12) at pl.project13.scala.akka.raft.Leader$class.sendHeartbeat(Leader.scala:110) at pl.project13.scala.akka.raft.RaftActor.sendHeartbeat(RaftActor.scala:12) at pl.project13.scala.akka.raft.Leader$class.startHeartbeat(Leader.scala:103) at pl.project13.scala.akka.raft.RaftActor.startHeartbeat(RaftActor.scala:12) at pl.project13.scala.akka.raft.Leader$$anonfun$3.applyOrElse(Leader.scala:20) at pl.project13.scala.akka.raft.Leader$$anonfun$3.applyOrElse(Leader.scala:16) ....

I think its somehow connected to the recent fixes. I will look into that as well.

— Reply to this email directly or view it on GitHub https://github.com/ktoso/akka-raft/issues/78.

dmitraver commented 9 years ago

@colin-scott Thx for clarifying! I will fix them as well.