akka.cluster.sharding.ShardRegion - No coordinator found to register. Probably, no seed-nodes configured and manual cluster join not performed? Total [100] buffered messages


(Marty Phee) #1

I’m creating a Cluster with two Shards and whenever I post a message I get the error in the title.

I’m out of idea’s to try.

application.conf

akka {
  cluster {
    seed-nodes = [
      "akka.tcp://ArgusCluster@127.0.0.1:2551"
      "akka.tcp://ArgusCluster@127.0.0.1:2552"
    ]
}}
val zoneMonitoringRegion = ClusterSharding(actorSystem).start(
        typeName = ZoneActor.shardName,
        entityProps = ZoneActor.props,
        settings = ClusterShardingSettings(actorSystem).withRole("backend-region"),
        extractEntityId = ZoneActor.idExtractor,
        extractShardId = ZoneActor.shardResolver)

      val orderMonitorRegion = ClusterSharding(actorSystem).start(
        typeName = OrderMonitor.shardName,
        entityProps = OrderMonitor.props(zoneMonitoringRegion),
        settings = ClusterShardingSettings(actorSystem).withRole("backend-region"),
        extractEntityId = OrderMonitor.idExtractor,
        extractShardId = OrderMonitor.shardResolver)

//      val listenerRef = actorSystem.actorOf(TopicListener.props("orders", orderMonitorRegion, None), "listener")

      implicit val materializer: ActorMaterializer = ActorMaterializer.create(actorSystem)

      Source(1 to 100)
        .map(_.toString)
        .map(value => {
          val rb = Restaurant.newBuilder()
          rb.setId(value.toInt)
          rb.setZoneId(value.toInt)
          rb.setName(s"Restaurant $value")

          val b = Order.newBuilder()
          b.setId(value.toInt)
          b.setRestaurant(rb.build())

          new OrderUpdate(b.build())
        })
        .runWith(Sink.foreach[OrderUpdate](orderMonitorRegion ! _))

logs

15:01:12.651 [ArgusCluster-akka.actor.default-dispatcher-14] INFO  a.c.Cluster(akka://ArgusCluster) - Cluster Node [akka.tcp://ArgusCluster@127.0.0.1:2551] - Node [akka.tcp://ArgusCluster@127.0.0.1:2551] is JOINING itself (with roles [backend-region, frontend-region, dc-default]) and forming new cluster
15:01:12.654 [ArgusCluster-akka.actor.default-dispatcher-2] INFO  a.c.Cluster(akka://ArgusCluster) - Cluster Node [akka.tcp://ArgusCluster@127.0.0.1:2551] - Cluster Node [akka.tcp://ArgusCluster@127.0.0.1:2551] dc [default] is the new leader
15:01:17.972 [ArgusCluster-akka.actor.default-dispatcher-2] WARN  akka.cluster.sharding.ShardRegion - No coordinator found to register. Probably, no seed-nodes configured and manual cluster join not performed? Total [100] buffered messages.
15

(Marty Phee) #2

After some more trial and error this seems to be causing an issue

    role {
      frontend-region.min-nr-of-members = 1
      backend-region.min-nr-of-members = 1
    }

I was only testing the backend so the Cluster wasn’t starting up because I told it we needed a minimum of 1 frontend-region. Duh!!!