From 151ba48fdef1d535712b672ce0556e950607b2aa Mon Sep 17 00:00:00 2001 From: Oleg Kravchuk Date: Tue, 30 Apr 2024 22:21:00 +0300 Subject: [PATCH] start_time npe fix for Rollup and Transform jobs: if start_time not specified explicitly assign current time to start_time Signed-off-by: Oleg Kravchuk --- .../org/opensearch/indexmanagement/rollup/model/Rollup.kt | 2 +- .../org/opensearch/indexmanagement/transform/model/Transform.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/org/opensearch/indexmanagement/rollup/model/Rollup.kt b/src/main/kotlin/org/opensearch/indexmanagement/rollup/model/Rollup.kt index b15145040..74a777e2d 100644 --- a/src/main/kotlin/org/opensearch/indexmanagement/rollup/model/Rollup.kt +++ b/src/main/kotlin/org/opensearch/indexmanagement/rollup/model/Rollup.kt @@ -340,7 +340,7 @@ data class Rollup( // TODO: Make startTime public in Job Scheduler so we can just directly check the value if (seqNo == SequenceNumbers.UNASSIGNED_SEQ_NO || primaryTerm == SequenceNumbers.UNASSIGNED_PRIMARY_TERM) { if (schedule is IntervalSchedule) { - schedule = IntervalSchedule(schedule.startTime, schedule.interval, schedule.unit, schedule.delay ?: 0) + schedule = IntervalSchedule(schedule.startTime ?: Instant.now(), schedule.interval, schedule.unit, schedule.delay ?: 0) } } return Rollup( diff --git a/src/main/kotlin/org/opensearch/indexmanagement/transform/model/Transform.kt b/src/main/kotlin/org/opensearch/indexmanagement/transform/model/Transform.kt index 14dd49ac0..fb017d21f 100644 --- a/src/main/kotlin/org/opensearch/indexmanagement/transform/model/Transform.kt +++ b/src/main/kotlin/org/opensearch/indexmanagement/transform/model/Transform.kt @@ -397,7 +397,7 @@ data class Transform( if (seqNo == SequenceNumbers.UNASSIGNED_SEQ_NO || primaryTerm == SequenceNumbers.UNASSIGNED_PRIMARY_TERM) { // we instantiate the start time if (schedule is IntervalSchedule) { - schedule = IntervalSchedule(schedule.startTime, schedule.interval, schedule.unit) + schedule = IntervalSchedule(schedule.startTime ?: Instant.now(), schedule.interval, schedule.unit) } // we clear out metadata if its a new job