Class RemoveInternalClusterShardingData$


  • public class RemoveInternalClusterShardingData$
    extends java.lang.Object
    Utility program that removes the internal data stored with Akka Persistence by the Cluster ShardCoordinator. The data contains the locations of the shards using Akka Persistence and it can safely be removed when restarting the whole Akka Cluster. Note that this is not application data.

    Never use this program while there are running Akka Cluster that is using Cluster Sharding. Stop all Cluster nodes before using this program.

    It can be needed to remove the data if the Cluster ShardCoordinator cannot startup because of corrupt data, which may happen if accidentally two clusters were running at the same time, e.g. caused by using auto-down and there was a network partition.

    Use this program as a standalone Java main program:

    
     java -classpath <jar files, including akka-cluster-sharding>
       akka.cluster.sharding.RemoveInternalClusterShardingData
         -2.3 entityType1 entityType2 entityType3
     

    The program is included in the akka-cluster-sharding jar file. It is easiest to run it with same classpath and configuration as your ordinary application. It can be run from sbt or maven in similar way.

    Specify the entity type names (same as you use in the start method of ClusterSharding) as program arguments.

    If you specify -2.3 as the first program argument it will also try to remove data that was stored by Cluster Sharding in Akka 2.3.x using different persistenceId.