@@ -109,6 +109,7 @@ public void testSyntheticId() throws Exception {
109109 final var docs = new HashMap <String , String >();
110110 final var unit = randomFrom (ChronoUnit .SECONDS , ChronoUnit .MINUTES );
111111 final var timestamp = Instant .now ();
112+ logger .info ("timestamp is " + timestamp );
112113
113114 // Index 10 docs in datastream
114115 //
@@ -200,6 +201,34 @@ enum Operation {
200201 assertThat (deleteResponse .getVersion (), equalTo (2L ));
201202 }
202203
204+ // Index more random docs
205+ if (randomBoolean ()) {
206+ int nbDocs = randomIntBetween (1 , 100 );
207+ final var arrayOfDocs = new XContentBuilder [nbDocs ];
208+
209+ var t = timestamp .plus (4 , unit ); // t + 4s, no overlap with previous docs
210+ while (nbDocs > 0 ) {
211+ var hosts = randomSubsetOf (List .of ("vm-dev01" , "vm-dev02" , "vm-dev03" ));
212+ for (var host : hosts ) {
213+ if (--nbDocs < 0 ) {
214+ break ;
215+ }
216+ arrayOfDocs [nbDocs ] = document (t , host , "cpu-load" , randomInt (10 ));
217+ }
218+ // always use seconds, otherwise the doc might fell outside of the timestamps window of the datastream
219+ t = t .plus (1 , ChronoUnit .SECONDS );
220+ }
221+
222+ results = createDocuments (dataStreamName , arrayOfDocs );
223+
224+ // Verify that documents are created
225+ for (var result : results ) {
226+ assertThat (result .getResponse ().getResult (), equalTo (DocWriteResponse .Result .CREATED ));
227+ assertThat (result .getVersion (), equalTo (1L ));
228+ docs .put (result .getId (), result .getIndex ());
229+ }
230+ }
231+
203232 refresh (dataStreamName );
204233
205234 assertCheckedResponse (client ().prepareSearch (dataStreamName ).setTrackTotalHits (true ).setSize (100 ), searchResponse -> {
0 commit comments