in src/main/kotlin/org/opensearch/replication/task/autofollow/AutoFollowTask.kt [67:86]
override suspend fun execute(scope: CoroutineScope, initialState: PersistentTaskState?) {
stat = AutoFollowStat(params.patternName, replicationMetadata.leaderContext.resource)
while (scope.isActive) {
try {
addRetryScheduler()
autoFollow()
delay(replicationSettings.autofollowFetchPollDuration.millis)
}
catch(e: OpenSearchException) {
// Any transient error encountered during auto follow execution should be re-tried
val status = e.status().status
if(status < 500 && status != RestStatus.TOO_MANY_REQUESTS.status) {
log.error("Exiting autofollow task", e)
throw e
}
log.debug("Encountered transient error while running autofollow task", e)
delay(replicationSettings.autofollowFetchPollDuration.millis)
}
}
}