Skip to content

Commit a23f7a8

Browse files
committed
Improve cleanup logging and error message in ForceResumeCoordinator
Signed-off-by: Mohit Kumar <mohitamg@amazon.com>
1 parent 9d5ec94 commit a23f7a8

1 file changed

Lines changed: 12 additions & 6 deletions

File tree

src/main/kotlin/org/opensearch/replication/action/resume/ForceResumeCoordinator.kt

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,10 @@ class ForceResumeCoordinator(
110110

111111
val shards = clusterService.state().routingTable
112112
.indicesRouting().get(params.followerIndexName)?.shards()
113-
?: return
113+
if (shards == null) {
114+
log.warn("No routing table found for follower index ${params.followerIndexName}, skipping lease acquisition")
115+
return
116+
}
114117

115118
shards.forEach { entry ->
116119
val followerShardId = entry.value.shardId
@@ -141,7 +144,7 @@ class ForceResumeCoordinator(
141144
return statsResponse.shards
142145
.firstOrNull { it.shardRouting.shardId().id == shardId && it.shardRouting.primary() }
143146
?.seqNoStats?.globalCheckpoint
144-
?: throw IllegalStateException("Primary shard $shardId not found for leader index $leaderIndexName")
147+
?: throw IllegalStateException("Primary shard $shardId not found or seqNoStats unavailable for leader index $leaderIndexName")
145148
}
146149

147150
/**
@@ -173,10 +176,13 @@ class ForceResumeCoordinator(
173176
remoteClient
174177
)
175178
for (shardIdInt in acquiredLeases.keys) {
176-
val followerShardId = ShardId(
177-
clusterService.state().metadata.index(params.followerIndexName)?.index ?: continue,
178-
shardIdInt
179-
)
179+
val indexMetadata = clusterService.state().metadata.index(params.followerIndexName)
180+
if (indexMetadata == null) {
181+
log.warn("Follower index ${params.followerIndexName} not found in metadata during cleanup. " +
182+
"Retention leases on leader may be orphaned for shard $shardIdInt.")
183+
continue
184+
}
185+
val followerShardId = ShardId(indexMetadata.index, shardIdInt)
180186
retentionLeaseHelper.attemptRetentionLeaseRemoval(ShardId(params.leaderIndex, shardIdInt), followerShardId)
181187
}
182188
} catch (e: Exception) {

0 commit comments

Comments
 (0)