34
34
import org .elasticsearch .search .SearchHits ;
35
35
import org .elasticsearch .search .aggregations .bucket .histogram .DateHistogramInterval ;
36
36
import org .elasticsearch .test .ESTestCase ;
37
+ import org .elasticsearch .test .VersionUtils ;
37
38
import org .elasticsearch .threadpool .ThreadPool ;
38
39
import org .elasticsearch .xpack .core .transform .transforms .SettingsConfig ;
39
40
import org .elasticsearch .xpack .core .transform .transforms .TimeSyncConfig ;
@@ -94,18 +95,34 @@ public void testSourceHasChanged_NotChanged() throws InterruptedException {
94
95
0 ,
95
96
false ,
96
97
TransformCheckpoint .EMPTY ,
98
+ VersionUtils .randomVersionBetween (random (), Version .V_7_15_0 , Version .CURRENT ),
97
99
TIMESTAMP_FIELD ,
98
100
TimeValue .timeValueMinutes (10 ),
99
101
TimeValue .ZERO ,
100
102
tuple (0L , 123000000L )
101
103
);
102
104
}
103
105
106
+ public void testSourceHasChanged_NotChanged_DoNotAlignCheckpointsBecauseOfVersion () throws InterruptedException {
107
+ testSourceHasChanged (
108
+ 0 ,
109
+ false ,
110
+ TransformCheckpoint .EMPTY ,
111
+ Version .V_7_14_0 ,
112
+ TIMESTAMP_FIELD ,
113
+ TimeValue .timeValueMinutes (10 ),
114
+ TimeValue .ZERO ,
115
+ // Checkpoint alignment doesn't work here because the transform was created without alignment.
116
+ tuple (0L , 123456789L )
117
+ );
118
+ }
119
+
104
120
public void testSourceHasChanged_Changed () throws InterruptedException {
105
121
testSourceHasChanged (
106
122
1 ,
107
123
true ,
108
124
TransformCheckpoint .EMPTY ,
125
+ Version .CURRENT ,
109
126
TIMESTAMP_FIELD ,
110
127
TimeValue .timeValueMinutes (10 ),
111
128
TimeValue .ZERO ,
@@ -118,6 +135,7 @@ public void testSourceHasChanged_UnfinishedCheckpoint() throws InterruptedExcept
118
135
0 ,
119
136
false ,
120
137
new TransformCheckpoint ("" , 100000000L , 7 , emptyMap (), null ),
138
+ Version .CURRENT ,
121
139
TIMESTAMP_FIELD ,
122
140
TimeValue .timeValueMinutes (10 ),
123
141
TimeValue .ZERO ,
@@ -130,6 +148,7 @@ public void testSourceHasChanged_SubsequentCheckpoint() throws InterruptedExcept
130
148
0 ,
131
149
false ,
132
150
new TransformCheckpoint ("" , 100000000L , 7 , emptyMap (), 120000000L ),
151
+ Version .CURRENT ,
133
152
TIMESTAMP_FIELD ,
134
153
TimeValue .timeValueMinutes (10 ),
135
154
TimeValue .ZERO ,
@@ -142,6 +161,7 @@ public void testSourceHasChanged_WithDelay() throws InterruptedException {
142
161
0 ,
143
162
false ,
144
163
new TransformCheckpoint ("" , 100000000L , 7 , emptyMap (), 120000000L ),
164
+ Version .CURRENT ,
145
165
TIMESTAMP_FIELD ,
146
166
TimeValue .timeValueMinutes (10 ),
147
167
TimeValue .timeValueMinutes (5 ),
@@ -153,6 +173,7 @@ private void testSourceHasChanged(
153
173
long totalHits ,
154
174
boolean expectedHasChangedValue ,
155
175
TransformCheckpoint lastCheckpoint ,
176
+ Version transformVersion ,
156
177
String dateHistogramField ,
157
178
TimeValue dateHistogramInterval ,
158
179
TimeValue delay ,
@@ -162,6 +183,7 @@ private void testSourceHasChanged(
162
183
String transformId = getTestName ();
163
184
TransformConfig transformConfig = newTransformConfigWithDateHistogram (
164
185
transformId ,
186
+ transformVersion ,
165
187
dateHistogramField ,
166
188
dateHistogramInterval ,
167
189
delay
@@ -249,6 +271,7 @@ private void testCreateNextCheckpoint(
249
271
250
272
TransformConfig transformConfig = newTransformConfigWithDateHistogram (
251
273
transformId ,
274
+ Version .CURRENT ,
252
275
dateHistogramField ,
253
276
dateHistogramInterval ,
254
277
delay
@@ -280,6 +303,7 @@ private TimeBasedCheckpointProvider newCheckpointProvider(TransformConfig transf
280
303
281
304
private static TransformConfig newTransformConfigWithDateHistogram (
282
305
String transformId ,
306
+ Version transformVersion ,
283
307
String dateHistogramField ,
284
308
TimeValue dateHistogramInterval ,
285
309
TimeValue delay
@@ -316,7 +340,7 @@ public SingleGroupSource get() {
316
340
} else {
317
341
// Leave align_checkpoints setting unset. This will be interpreted as "true".
318
342
}
319
- return new TransformConfig .Builder (TransformConfigTests .randomTransformConfig (transformId )).setSettings (
343
+ return new TransformConfig .Builder (TransformConfigTests .randomTransformConfig (transformId , transformVersion )).setSettings (
320
344
settingsConfigBuilder .build ()
321
345
).setPivotConfig (pivotConfigWithDateHistogramSource ).setSyncConfig (new TimeSyncConfig (TIMESTAMP_FIELD , delay )).build ();
322
346
}
0 commit comments