Fix passing of lease settings in typed cluster sharding. (#29671)
* Fix passing of lease settings in typed cluster sharding. (#29662) * Fix binary compatibility. (#29662) * Fix deprecation version. (#29662)
This commit is contained in:
parent
d64bb0aba5
commit
1e8ca217bb
2 changed files with 42 additions and 7 deletions
|
|
@ -16,6 +16,7 @@ import akka.cluster.sharding.{ ClusterShardingSettings => ClassicShardingSetting
|
||||||
import akka.cluster.singleton.{ ClusterSingletonManagerSettings => ClassicClusterSingletonManagerSettings }
|
import akka.cluster.singleton.{ ClusterSingletonManagerSettings => ClassicClusterSingletonManagerSettings }
|
||||||
import akka.cluster.typed.Cluster
|
import akka.cluster.typed.Cluster
|
||||||
import akka.cluster.typed.ClusterSingletonManagerSettings
|
import akka.cluster.typed.ClusterSingletonManagerSettings
|
||||||
|
import akka.coordination.lease.LeaseUsageSettings
|
||||||
import akka.util.JavaDurationConverters._
|
import akka.util.JavaDurationConverters._
|
||||||
|
|
||||||
object ClusterShardingSettings {
|
object ClusterShardingSettings {
|
||||||
|
|
@ -54,7 +55,8 @@ object ClusterShardingSettings {
|
||||||
classicSettings.coordinatorSingletonSettings.singletonName,
|
classicSettings.coordinatorSingletonSettings.singletonName,
|
||||||
classicSettings.coordinatorSingletonSettings.role,
|
classicSettings.coordinatorSingletonSettings.role,
|
||||||
classicSettings.coordinatorSingletonSettings.removalMargin,
|
classicSettings.coordinatorSingletonSettings.removalMargin,
|
||||||
classicSettings.coordinatorSingletonSettings.handOverRetryInterval))
|
classicSettings.coordinatorSingletonSettings.handOverRetryInterval),
|
||||||
|
leaseSettings = classicSettings.leaseSettings)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** INTERNAL API: Intended only for internal use, it is not recommended to keep converting between the setting types */
|
/** INTERNAL API: Intended only for internal use, it is not recommended to keep converting between the setting types */
|
||||||
|
|
@ -98,7 +100,7 @@ object ClusterShardingSettings {
|
||||||
settings.coordinatorSingletonSettings.role,
|
settings.coordinatorSingletonSettings.role,
|
||||||
settings.coordinatorSingletonSettings.removalMargin,
|
settings.coordinatorSingletonSettings.removalMargin,
|
||||||
settings.coordinatorSingletonSettings.handOverRetryInterval),
|
settings.coordinatorSingletonSettings.handOverRetryInterval),
|
||||||
leaseSettings = None)
|
leaseSettings = settings.leaseSettings)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -339,8 +341,37 @@ final class ClusterShardingSettings(
|
||||||
val stateStoreMode: ClusterShardingSettings.StateStoreMode,
|
val stateStoreMode: ClusterShardingSettings.StateStoreMode,
|
||||||
val rememberEntitiesStoreMode: ClusterShardingSettings.RememberEntitiesStoreMode,
|
val rememberEntitiesStoreMode: ClusterShardingSettings.RememberEntitiesStoreMode,
|
||||||
val tuningParameters: ClusterShardingSettings.TuningParameters,
|
val tuningParameters: ClusterShardingSettings.TuningParameters,
|
||||||
val coordinatorSingletonSettings: ClusterSingletonManagerSettings) {
|
val coordinatorSingletonSettings: ClusterSingletonManagerSettings,
|
||||||
|
val leaseSettings: Option[LeaseUsageSettings]) {
|
||||||
|
|
||||||
|
@deprecated("Use constructor with leaseSettings", "2.6.10")
|
||||||
|
def this(
|
||||||
|
numberOfShards: Int,
|
||||||
|
role: Option[String],
|
||||||
|
dataCenter: Option[DataCenter],
|
||||||
|
rememberEntities: Boolean,
|
||||||
|
journalPluginId: String,
|
||||||
|
snapshotPluginId: String,
|
||||||
|
passivateIdleEntityAfter: FiniteDuration,
|
||||||
|
shardRegionQueryTimeout: FiniteDuration,
|
||||||
|
stateStoreMode: ClusterShardingSettings.StateStoreMode,
|
||||||
|
rememberEntitiesStoreMode: ClusterShardingSettings.RememberEntitiesStoreMode,
|
||||||
|
tuningParameters: ClusterShardingSettings.TuningParameters,
|
||||||
|
coordinatorSingletonSettings: ClusterSingletonManagerSettings) =
|
||||||
|
this(
|
||||||
|
numberOfShards,
|
||||||
|
role,
|
||||||
|
dataCenter,
|
||||||
|
rememberEntities,
|
||||||
|
journalPluginId,
|
||||||
|
snapshotPluginId,
|
||||||
|
passivateIdleEntityAfter,
|
||||||
|
shardRegionQueryTimeout,
|
||||||
|
stateStoreMode,
|
||||||
|
rememberEntitiesStoreMode,
|
||||||
|
tuningParameters,
|
||||||
|
coordinatorSingletonSettings,
|
||||||
|
None)
|
||||||
@deprecated("Use constructor with rememberEntitiesStoreMode", "2.6.6") // FIXME update version once merged
|
@deprecated("Use constructor with rememberEntitiesStoreMode", "2.6.6") // FIXME update version once merged
|
||||||
def this(
|
def this(
|
||||||
numberOfShards: Int,
|
numberOfShards: Int,
|
||||||
|
|
@ -366,7 +397,8 @@ final class ClusterShardingSettings(
|
||||||
stateStoreMode,
|
stateStoreMode,
|
||||||
RememberEntitiesStoreModeDData,
|
RememberEntitiesStoreModeDData,
|
||||||
tuningParameters,
|
tuningParameters,
|
||||||
coordinatorSingletonSettings)
|
coordinatorSingletonSettings,
|
||||||
|
None)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* INTERNAL API
|
* INTERNAL API
|
||||||
|
|
@ -436,7 +468,8 @@ final class ClusterShardingSettings(
|
||||||
tuningParameters: ClusterShardingSettings.TuningParameters = tuningParameters,
|
tuningParameters: ClusterShardingSettings.TuningParameters = tuningParameters,
|
||||||
coordinatorSingletonSettings: ClusterSingletonManagerSettings = coordinatorSingletonSettings,
|
coordinatorSingletonSettings: ClusterSingletonManagerSettings = coordinatorSingletonSettings,
|
||||||
passivateIdleEntityAfter: FiniteDuration = passivateIdleEntityAfter,
|
passivateIdleEntityAfter: FiniteDuration = passivateIdleEntityAfter,
|
||||||
shardRegionQueryTimeout: FiniteDuration = shardRegionQueryTimeout): ClusterShardingSettings =
|
shardRegionQueryTimeout: FiniteDuration = shardRegionQueryTimeout,
|
||||||
|
leaseSettings: Option[LeaseUsageSettings] = leaseSettings): ClusterShardingSettings =
|
||||||
new ClusterShardingSettings(
|
new ClusterShardingSettings(
|
||||||
numberOfShards,
|
numberOfShards,
|
||||||
role,
|
role,
|
||||||
|
|
@ -449,5 +482,6 @@ final class ClusterShardingSettings(
|
||||||
stateStoreMode,
|
stateStoreMode,
|
||||||
rememberEntitiesStoreMode,
|
rememberEntitiesStoreMode,
|
||||||
tuningParameters,
|
tuningParameters,
|
||||||
coordinatorSingletonSettings)
|
coordinatorSingletonSettings,
|
||||||
|
leaseSettings)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -140,7 +140,8 @@ private[akka] final class ShardedDaemonProcessImpl(system: ActorSystem[_])
|
||||||
StateStoreModeDData,
|
StateStoreModeDData,
|
||||||
RememberEntitiesStoreModeDData, // not used as remembered entities is off
|
RememberEntitiesStoreModeDData, // not used as remembered entities is off
|
||||||
shardingBaseSettings.tuningParameters,
|
shardingBaseSettings.tuningParameters,
|
||||||
shardingBaseSettings.coordinatorSingletonSettings)
|
shardingBaseSettings.coordinatorSingletonSettings,
|
||||||
|
shardingBaseSettings.leaseSettings)
|
||||||
}
|
}
|
||||||
|
|
||||||
val nodeRoles = Cluster(system).selfMember.roles
|
val nodeRoles = Cluster(system).selfMember.roles
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue