diff --git a/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/Shard.scala b/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/Shard.scala index cb419b0f9b..fa029f5f91 100644 --- a/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/Shard.scala +++ b/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/Shard.scala @@ -321,8 +321,6 @@ private[akka] class PersistentShard( override def snapshotPluginId: String = settings.snapshotPluginId - var persistCount = 0 - // would be initialized after recovery completed override def initialized(): Unit = {} @@ -334,8 +332,7 @@ private[akka] class PersistentShard( } def saveSnapshotWhenNeeded(): Unit = { - persistCount += 1 - if (persistCount % snapshotAfter == 0) { + if (lastSequenceNr % snapshotAfter == 0 && lastSequenceNr != 0) { log.debug("Saving snapshot, sequence number [{}]", snapshotSequenceNr) saveSnapshot(state) } diff --git a/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/ShardCoordinator.scala b/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/ShardCoordinator.scala index 12bc13c9c5..f28031aaeb 100644 --- a/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/ShardCoordinator.scala +++ b/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/ShardCoordinator.scala @@ -729,8 +729,6 @@ class PersistentShardCoordinator(typeName: String, settings: ClusterShardingSett override def snapshotPluginId: String = settings.snapshotPluginId - var persistCount = 0 - override def receiveRecover: Receive = { case evt: DomainEvent ⇒ log.debug("receiveRecover {}", evt) @@ -793,8 +791,7 @@ class PersistentShardCoordinator(typeName: String, settings: ClusterShardingSett } def saveSnapshotWhenNeeded(): Unit = { - persistCount += 1 - if (persistCount % snapshotAfter == 0) { + if (lastSequenceNr % snapshotAfter == 0 && lastSequenceNr != 0) { log.debug("Saving snapshot, sequence number [{}]", snapshotSequenceNr) saveSnapshot(state) } diff --git a/project/MiMa.scala b/project/MiMa.scala index b7ab9ad626..9485d4216b 100644 --- a/project/MiMa.scala +++ b/project/MiMa.scala @@ -767,7 +767,13 @@ object MiMa extends AutoPlugin { ProblemFilters.exclude[DirectMissingMethodProblem]("akka.http.impl.util.package.printEvent"), // #20362 - parser private - ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.http.impl.model.parser.CommonRules.expires-date") + ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.http.impl.model.parser.CommonRules.expires-date"), + + // #20319 - remove not needed "no. of persists" counter in sharding + ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.sharding.PersistentShard.persistCount"), + ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.sharding.PersistentShard.persistCount_="), + ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.sharding.PersistentShardCoordinator.persistCount"), + ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.sharding.PersistentShardCoordinator.persistCount_=") ) ) }