akkaigniteopendaylightakka-persistenceakka-persistent-fsm

Is the following akka.conf file valid?


I am using OpenDaylight and trying to replace the default distributed database with Apache Ignite. I am using the jar obtained by the source code here. https://github.com/Romeh/akka-persistance-ignite

However, the class IgniteWriteJournal does not seem to load which i have checked by putting some print statements in its constuructor.

Is there any issue with the .conf file?

The following is a portion of the akka.conf file i am using in OpenDaylight.

odl-cluster-data {
  akka {
    remote {
      artery {
    enabled = off
    canonical.hostname = "10.145.59.38"
    canonical.port = 2550
  }
  netty.tcp {
    hostname = "10.145.59.38"
    port = 2550
  }
  # when under load we might trip a false positive on the failure detector
  # transport-failure-detector {
    # heartbeat-interval = 4 s
    # acceptable-heartbeat-pause = 16s
  # }
}

cluster {
  # Remove ".tcp" when using artery.
  seed-nodes = ["akka.tcp://opendaylight-cluster-data@10.145.59.38:2550"]

  roles = ["member-1"]

}

   extensions = ["akka.persistence.ignite.extension.IgniteExtensionProvider"]


akka.persistence.journal.plugin = "akka.persistence.journal.ignite"
akka.persistence.snapshot-store.plugin = "akka.persistence.snapshot.ignite"

  persistence {
    # Ignite journal plugin
    journal {
      ignite {
        # Class name of the plugin
    class = "akka.persistence.ignite.journal.IgniteWriteJournal"
    cache-prefix = "akka-journal"
    // Should be based into the the dara grid topology
    cache-backups = 1
     // if ignite is already started in a separate standalone grid where journal cache is already created
    cachesAlreadyCreated = false
  }
}

# Ignite snapshot plugin
snapshot {
  ignite {
    # Class name of the plugin
    class = "akka.persistence.ignite.snapshot.IgniteSnapshotStore"
    cache-prefix = "akka-snapshot"
    // Should be based into the the dara grid topology
    cache-backups = 1
    // if ignite is already started in a separate standalone grid where snapshot cache is already created
    cachesAlreadyCreated = false
  }
    }
  }

  }
ignite {
  //to start client or server node to connect to Ignite data cluster 
  isClientNode = false
  // for ONLY testing we use localhost
   // used for grid cluster connectivity
      tcpDiscoveryAddresses = "localhost"
  metricsLogFrequency = 0
  // thread pools used by Ignite , should based into target machine specs
  queryThreadPoolSize = 4
  dataStreamerThreadPoolSize = 1
  managementThreadPoolSize = 2
  publicThreadPoolSize = 4
  systemThreadPoolSize = 2
  rebalanceThreadPoolSize = 1
  asyncCallbackPoolSize = 4
  peerClassLoadingEnabled = false
  // to enable or disable durable memory persistance
  enableFilePersistence = true
  // used for grid cluster connectivity, change it to suit your configuration 
  igniteConnectorPort = 11211
  // used for grid cluster connectivity , change it to suit your configuration 
  igniteServerPortRange = "47500..47509"
      //durable memory persistance storage file system path , change it to suit your     configuration 
    ignitePersistenceFilePath = "./data"
    }

    }

Solution

  • I assume you modified the configuration/initial/akka.conf. First those sections need to be inside the odl-cluster-data section (can't tell from just your snippet). Also it looks like the following should be:

    akka.persistence.journal.plugin = "akka.persistence.journal.ignite"
    akka.persistence.snapshot-store.plugin = "akka.persistence.snapshot.ignite"