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