You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,6 +28,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
28
28
- TestKit throws "Shard received unexpected message" exception after the entity passivated [PR#100](https://github.com/lerna-stack/akka-entity-replication/pull/100)
29
29
-`ReplicatedEntity` can produce illegal snapshot if compaction and receiving new event occur same time [#111](https://github.com/lerna-stack/akka-entity-replication/issues/111)
30
30
- Starting a follower member later than leader completes a compaction may break ReplicatedLog of the follower [#105](https://github.com/lerna-stack/akka-entity-replication/issues/105)
31
+
- The Raft leader uses the same previous `LogEntryIndex` and `Term` to all batched `AppendEntries` messages [#123](https://github.com/lerna-stack/akka-entity-replication/issues/123)
@@ -434,6 +436,179 @@ class RaftActorLeaderSpec extends TestKit(ActorSystem()) with RaftActorSpecBase
434
436
} should contain theSameElementsAs (Set(follower1Index, follower2Index))
435
437
}
436
438
439
+
"send at most `max-append-entries-batch-size` AppendEntries messages to followers on HeartbeatTimeout if it has more logs than `max-append-entries-size`" in {
440
+
// The leader will send 3 AppendEntries messages to follower1.
441
+
// The leader will send 2 AppendEntries messages to follower2.
442
+
valleaderIndex= createUniqueMemberIndex()
443
+
valfollower1Index= createUniqueMemberIndex()
444
+
valfollower2Index= createUniqueMemberIndex()
445
+
valregionProbe=TestProbe()
446
+
valshardId= createUniqueShardId()
447
+
valleader= {
448
+
valtestConfig=ConfigFactory.parseString(
449
+
"""
450
+
|lerna.akka.entityreplication.raft {
451
+
| # Heartbeat never happen for simplicity of this test case.
"return part of logEntries by getFrom(LogEntryIndex, maxEntryCount, maxBatchCount) when (maxEntryCount * maxBatchCount) is lower value than count of logEntries" in {
0 commit comments