@@ -3,7 +3,7 @@ package lerna.akka.entityreplication.raft.snapshot.sync
33import akka .actor .{ ActorLogging , ActorRef , Props , Status }
44import akka .pattern .extended .ask
55import akka .pattern .pipe
6- import akka .persistence .{ PersistentActor , RuntimePluginConfig , SnapshotOffer }
6+ import akka .persistence .{ PersistentActor , RecoveryCompleted , RuntimePluginConfig , SnapshotOffer }
77import akka .persistence .query .{ EventEnvelope , Offset , PersistenceQuery }
88import akka .persistence .query .scaladsl .CurrentEventsByTagQuery
99import akka .stream .{ KillSwitches , UniqueKillSwitch }
@@ -222,10 +222,18 @@ private[entityreplication] class SnapshotSyncManager(
222222
223223 override def receiveRecover : Receive = {
224224
225- case SnapshotOffer (_, snapshot : SyncProgress ) =>
225+ case SnapshotOffer (metadata, snapshot : SyncProgress ) =>
226+ if (log.isInfoEnabled) {
227+ log.info(" Loaded snapshot: metadata=[{}], snapshot=[{}]" , metadata, snapshot)
228+ }
226229 this .state = snapshot
227230
228231 case event : Event => updateState(event)
232+
233+ case RecoveryCompleted =>
234+ if (log.isInfoEnabled) {
235+ log.info(" Recovery completed: state=[{}]" , this .state)
236+ }
229237 }
230238
231239 private [this ] var state = SyncProgress (Offset .noOffset)
@@ -286,10 +294,16 @@ private[entityreplication] class SnapshotSyncManager(
286294 s " (typeName: $typeName, memberIndex: $dstMemberIndex, snapshotLastLogTerm: ${dstLatestSnapshotLastLogTerm.term}, snapshotLastLogIndex: $dstLatestSnapshotLastLogIndex) " ,
287295 )
288296
289- case _ : akka.persistence.SaveSnapshotSuccess =>
297+ case akka.persistence.SaveSnapshotSuccess (metadata) =>
298+ if (log.isInfoEnabled) {
299+ log.info(" Succeeded to save snapshot synchronization progress: metadata=[{}]" , metadata)
300+ }
290301 context.stop(self)
291302
292- case _ : akka.persistence.SaveSnapshotFailure =>
303+ case akka.persistence.SaveSnapshotFailure (metadata, cause) =>
304+ if (log.isWarningEnabled) {
305+ log.warning(" Failed to save snapshot synchronization progress: metadata=[{}], cause=[{}]" , metadata, cause)
306+ }
293307 context.stop(self)
294308 }
295309
@@ -300,7 +314,10 @@ private[entityreplication] class SnapshotSyncManager(
300314 dstLatestSnapshotLastLogIndex : LogEntryIndex ,
301315 ): Receive = {
302316
303- case _ : SyncSnapshot => // ignore
317+ case syncSnapshot : SyncSnapshot =>
318+ if (log.isDebugEnabled) {
319+ log.debug(" Dropping [{}] since the snapshot synchronization is running." , syncSnapshot)
320+ }
304321
305322 case syncStatus : SyncStatus =>
306323 this .killSwitch = None
@@ -318,6 +335,13 @@ private[entityreplication] class SnapshotSyncManager(
318335 updateState(event)
319336 if (event.snapshotLastLogIndex < srcLatestSnapshotLastLogIndex) {
320337 // complete partially
338+ if (log.isDebugEnabled) {
339+ log.debug(
340+ " Snapshot synchronization partially completed and continues: {} -> {}" ,
341+ s " (typeName: $typeName, memberIndex: $srcMemberIndex, snapshotLastLogIndex: ${event.snapshotLastLogIndex}/ ${srcLatestSnapshotLastLogIndex}) " ,
342+ s " (typeName: $typeName, memberIndex: $dstMemberIndex, snapshotLastLogTerm: ${dstLatestSnapshotLastLogTerm.term}, snapshotLastLogIndex: $dstLatestSnapshotLastLogIndex) " ,
343+ )
344+ }
321345 startSnapshotSynchronizationBatch(
322346 srcLatestSnapshotLastLogIndex,
323347 dstLatestSnapshotLastLogTerm,
@@ -374,8 +398,17 @@ private[entityreplication] class SnapshotSyncManager(
374398 )
375399 context.stop(self)
376400
377- case _ : akka.persistence.SaveSnapshotSuccess => // ignore: previous execution result
378- case _ : akka.persistence.SaveSnapshotFailure => // ignore: previous execution result
401+ case saveSnapshotSuccess : akka.persistence.SaveSnapshotSuccess =>
402+ // ignore: previous execution result
403+ if (log.isDebugEnabled) {
404+ log.debug(" Dropping [{}] of the previous synchronization." , saveSnapshotSuccess)
405+ }
406+
407+ case saveSnapshotFailure : akka.persistence.SaveSnapshotFailure =>
408+ // ignore: previous execution result
409+ if (log.isDebugEnabled) {
410+ log.debug(" Dropping [{}] of the previous synchronization." , saveSnapshotFailure)
411+ }
379412 }
380413
381414 def updateState (event : Event ): Unit =
0 commit comments