Skip to content

Commit ad090f3

Browse files
Stop scheduling repeated task during DynamoClusterWatcherTask
shutdown This prevents the cluster watcher from trying to update the state in DDB when the pod is shutting down GitOrigin-RevId: 6ce7167c17ebc3c43352da64cd0ad006d512ca0e
1 parent 951ed0f commit ad090f3

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

misk-clustering-dynamodb/src/main/kotlin/misk/clustering/dynamo/DynamoClusterWatcherTask.kt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package misk.clustering.dynamo
22

33
import com.google.common.util.concurrent.AbstractIdleService
4+
import com.google.common.util.concurrent.Service
45
import jakarta.inject.Inject
56
import jakarta.inject.Singleton
67
import misk.clustering.Cluster.Member
@@ -13,13 +14,10 @@ import software.amazon.awssdk.enhanced.dynamodb.Expression
1314
import software.amazon.awssdk.enhanced.dynamodb.Key
1415
import software.amazon.awssdk.enhanced.dynamodb.TableSchema
1516
import software.amazon.awssdk.enhanced.dynamodb.internal.AttributeValues.numberValue
16-
import software.amazon.awssdk.enhanced.dynamodb.mapper.annotations.DynamoDbPartitionKey
1717
import software.amazon.awssdk.enhanced.dynamodb.model.ScanEnhancedRequest
1818
import software.amazon.awssdk.services.dynamodb.DynamoDbClient
19-
import software.amazon.awssdk.services.dynamodb.endpoints.internal.GetAttr
2019
import java.time.Clock
2120
import java.time.Duration
22-
import java.time.LocalDate
2321

2422

2523
/**
@@ -50,6 +48,10 @@ internal class DynamoClusterWatcherTask @Inject constructor(
5048
}
5149

5250
internal fun run(): Status {
51+
if (state() >= Service.State.STOPPING) {
52+
return Status.NO_RESCHEDULE
53+
}
54+
5355
// If we're not active, we don't want to mark ourselves as part of the active cluster.
5456
if (clusterWeightProvider.get() > 0) {
5557
updateOurselfInDynamo()

0 commit comments

Comments
 (0)