Uploaded image for project: 'controller'
  1. controller
  2. CONTROLLER-1169

Clustering : Snapshotting logic throws an exception when creating snapshot with replicatedLogIndex=-1

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Resolution: Done
    • Post-Helium
    • None
    • mdsal
    • None
    • Operating System: All
      Platform: All

    • 2741

    Description

      When creating a real snapshot the replicatedToAllLogIndex in CaptureSnapshot may be -1 in the following cases,

      1. When the replicatedToAllLogIndex has not moved forward at all and is still initialized to -1
      2. When there replicatedToAllLogIndex was not found in the replicated log.

      This can result in the snapshotting logic throwing an exception as follows,

      2015-02-21 10:18:47,836 | INFO | lt-dispatcher-29 | Shard | 171 - org.opendaylight.controller.sal-akka-raft - 1.2.0.SNAPSHOT | member-1-shard-inventory-operational: Initiating Snapshot Capture, journalSize = 20000, dataSizeForCheck = 636061, dataThreshold = 124507914
      2015-02-21 10:18:47,836 | INFO | lt-dispatcher-29 | Shard | 171 - org.opendaylight.controller.sal-akka-raft - 1.2.0.SNAPSHOT | member-1-shard-inventory-operational: CaptureSnapshot received by actor
      2015-02-21 10:18:47,990 | INFO | lt-dispatcher-34 | Shard | 171 - org.opendaylight.controller.sal-akka-raft - 1.2.0.SNAPSHOT | member-1-shard-inventory-operational: CaptureSnapshotReply received by actor: snapshot size 2223724
      2015-02-21 10:18:47,990 | INFO | lt-dispatcher-34 | Shard | 171 - org.opendaylight.controller.sal-akka-raft - 1.2.0.SNAPSHOT | member-1-shard-inventory-operational: Persisting of snapshot done:Snapshot=

      {lastTerm:1, lastIndex:19999, LastAppliedIndex:19998, LastAppliedTerm:1, UnAppliedEntries size:4}

      2015-02-21 10:18:47,996 | INFO | lt-dispatcher-15 | LocalActorRef | 164 - com.typesafe.akka.slf4j - 2.3.4 | Message [akka.dispatch.sysmsg.Suspend] from Actorakka://opendaylight-cluster-data/user/shardmanager-operational/member-1-shard-inventory-operational/shard-createSnapshot1#-225575473 to Actorakka://opendaylight-cluster-data/user/shardmanager-operational/member-1-shard-inventory-operational/shard-createSnapshot1#-225575473 was not delivered. [9] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
      2015-02-21 10:18:47,997 | WARN | ult-dispatcher-8 | ShardManager | 178 - org.opendaylight.controller.sal-distributed-datastore - 1.2.0.SNAPSHOT | Supervisor Strategy caught unexpected exception - resuming
      java.lang.IllegalArgumentException: fromIndex(0) > toIndex(-19998)
      at java.util.ArrayList.subListRangeCheck(ArrayList.java:964)[:1.7.0_67]
      at java.util.ArrayList.subList(ArrayList.java:954)[:1.7.0_67]
      at org.opendaylight.controller.cluster.raft.AbstractReplicatedLogImpl.snapshotPreCommit(AbstractReplicatedLogImpl.java:192)[171:org.opendaylight.controller.sal-akka-raft:1.2.0.SNAPSHOT]
      at org.opendaylight.controller.cluster.raft.RaftActor.handleCaptureSnapshotReply(RaftActor.java:682)[171:org.opendaylight.controller.sal-akka-raft:1.2.0.SNAPSHOT]
      at org.opendaylight.controller.cluster.raft.RaftActor.handleCommand(RaftActor.java:365)[171:org.opendaylight.controller.sal-akka-raft:1.2.0.SNAPSHOT]
      at org.opendaylight.controller.cluster.common.actor.AbstractUntypedPersistentActor.onReceiveCommand(AbstractUntypedPersistentActor.java:39)[170:org.opendaylight.controller.sal-clustering-commons:1.2.0.SNAPSHOT]
      at org.opendaylight.controller.cluster.datastore.Shard.onReceiveCommand(Shard.java:282)[178:org.opendaylight.controller.sal-distributed-datastore:1.2.0.SNAPSHOT]
      at akka.persistence.UntypedPersistentActor.onReceive(Eventsourced.scala:430)[168:com.typesafe.akka.persistence.experimental:2.3.4]
      at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:167)[163:com.typesafe.akka.actor:2.3.4]
      at akka.persistence.Recovery$State$class.process(Recovery.scala:30)[168:com.typesafe.akka.persistence.experimental:2.3.4]
      at akka.persistence.ProcessorImpl$$anon$2.process(Processor.scala:103)[168:com.typesafe.akka.persistence.experimental:2.3.4]
      at akka.persistence.ProcessorImpl$$anon$2.aroundReceive(Processor.scala:114)[168:com.typesafe.akka.persistence.experimental:2.3.4]
      at akka.persistence.Recovery$class.aroundReceive(Recovery.scala:256)[168:com.typesafe.akka.persistence.experimental:2.3.4]
      at akka.persistence.UntypedPersistentActor.akka$persistence$Eventsourced$$super$aroundReceive(Eventsourced.scala:428)[168:com.typesafe.akka.persistence.experimental:2.3.4]
      at akka.persistence.Eventsourced$$anon$2.doAroundReceive(Eventsourced.scala:82)[168:com.typesafe.akka.persistence.experimental:2.3.4]
      at akka.persistence.Eventsourced$$anon$2.aroundReceive(Eventsourced.scala:78)[168:com.typesafe.akka.persistence.experimental:2.3.4]
      at akka.persistence.Eventsourced$class.aroundReceive(Eventsourced.scala:369)[168:com.typesafe.akka.persistence.experimental:2.3.4]
      at akka.persistence.UntypedPersistentActor.aroundReceive(Eventsourced.scala:428)[168:com.typesafe.akka.persistence.experimental:2.3.4]
      at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)[163:com.typesafe.akka.actor:2.3.4]
      at akka.actor.ActorCell.invoke(ActorCell.scala:487)[163:com.typesafe.akka.actor:2.3.4]
      at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238)[163:com.typesafe.akka.actor:2.3.4]
      at akka.dispatch.Mailbox.run(Mailbox.scala:220)[163:com.typesafe.akka.actor:2.3.4]
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.0_67]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.0_67]
      at java.lang.Thread.run(Thread.java:745)[:1.7.0_67]
      2015-02-21 10:18:47,999 | WARN | ult-dispatcher-9 | OneForOneStrategy | 164 - com.typesafe.akka.slf4j - 2.3.4 | fromIndex(0) > toIndex(-19998)

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            moraja@cisco.com Moiz Raja
            moraja@cisco.com Moiz Raja
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: