@@ -273,6 +273,39 @@ public void testRolloverUpgradeToLogsdbDataStream() {
273273 assertThat (rolledDs .getIndexMode (), equalTo (IndexMode .LOGSDB ));
274274 }
275275
276+ public void testRolloverFromTSdbToLogsdb () {
277+ DataStream ds = DataStreamTestHelper .randomInstance ().copy ().setReplicated (false ).setIndexMode (IndexMode .TIME_SERIES ).build ();
278+ final var project = ProjectMetadata .builder (randomProjectIdOrDefault ()).build ();
279+ var newCoordinates = ds .nextWriteIndexAndGeneration (project , ds .getDataComponent ());
280+
281+ var rolledDs = ds .rollover (new Index (newCoordinates .v1 (), UUIDs .randomBase64UUID ()), newCoordinates .v2 (), IndexMode .LOGSDB , null );
282+ assertThat (rolledDs .getName (), equalTo (ds .getName ()));
283+ assertThat (rolledDs .getGeneration (), equalTo (ds .getGeneration () + 1 ));
284+ assertThat (rolledDs .getIndices ().size (), equalTo (ds .getIndices ().size () + 1 ));
285+ assertTrue (rolledDs .getIndices ().containsAll (ds .getIndices ()));
286+ assertTrue (rolledDs .getIndices ().contains (rolledDs .getWriteIndex ()));
287+ assertThat (rolledDs .getIndexMode (), equalTo (IndexMode .LOGSDB ));
288+ }
289+
290+ public void testRolloverFromLogsdbToTsdb () {
291+ DataStream ds = DataStreamTestHelper .randomInstance ().copy ().setReplicated (false ).setIndexMode (IndexMode .LOGSDB ).build ();
292+ final var project = ProjectMetadata .builder (randomProjectIdOrDefault ()).build ();
293+ var newCoordinates = ds .nextWriteIndexAndGeneration (project , ds .getDataComponent ());
294+
295+ var rolledDs = ds .rollover (
296+ new Index (newCoordinates .v1 (), UUIDs .randomBase64UUID ()),
297+ newCoordinates .v2 (),
298+ IndexMode .TIME_SERIES ,
299+ null
300+ );
301+ assertThat (rolledDs .getName (), equalTo (ds .getName ()));
302+ assertThat (rolledDs .getGeneration (), equalTo (ds .getGeneration () + 1 ));
303+ assertThat (rolledDs .getIndices ().size (), equalTo (ds .getIndices ().size () + 1 ));
304+ assertTrue (rolledDs .getIndices ().containsAll (ds .getIndices ()));
305+ assertTrue (rolledDs .getIndices ().contains (rolledDs .getWriteIndex ()));
306+ assertThat (rolledDs .getIndexMode (), equalTo (IndexMode .TIME_SERIES ));
307+ }
308+
276309 public void testRolloverDowngradeFromTsdbToRegularDataStream () {
277310 DataStream ds = DataStreamTestHelper .randomInstance ().copy ().setReplicated (false ).setIndexMode (IndexMode .TIME_SERIES ).build ();
278311 var newCoordinates = ds .nextWriteIndexAndGeneration (Metadata .EMPTY_METADATA , ds .getDataComponent ());
0 commit comments