@@ -310,7 +310,7 @@ private void startRestore(SnapshotInfo snapshotInfo,
310
310
311
311
// Get data stream metadata for requested data streams
312
312
Tuple <Map <String , DataStream >, Map <String , DataStreamAlias >> result =
313
- getDataStreamsToRestore (repository , snapshotId , snapshotInfo , globalMetadata , requestIndices );
313
+ getDataStreamsToRestore (repository , snapshotId , snapshotInfo , globalMetadata , requestIndices , request . includeAliases () );
314
314
Map <String , DataStream > dataStreamsToRestore = result .v1 ();
315
315
Map <String , DataStreamAlias > dataStreamAliasesToRestore = result .v2 ();
316
316
@@ -442,40 +442,44 @@ private Tuple<Map<String, DataStream>, Map<String, DataStreamAlias>> getDataStre
442
442
SnapshotId snapshotId ,
443
443
SnapshotInfo snapshotInfo ,
444
444
Metadata globalMetadata ,
445
- List <String > requestIndices ) {
445
+ List <String > requestIndices ,
446
+ boolean includeAliases ) {
446
447
Map <String , DataStream > dataStreams ;
447
448
Map <String , DataStreamAlias > dataStreamAliases ;
448
449
List <String > requestedDataStreams = filterIndices (snapshotInfo .dataStreams (), requestIndices .toArray (String []::new ),
449
450
IndicesOptions .fromOptions (true , true , true , true ));
450
451
if (requestedDataStreams .isEmpty ()) {
451
- dataStreams = Collections . emptyMap ();
452
- dataStreamAliases = Collections . emptyMap ();
452
+ dataStreams = Map . of ();
453
+ dataStreamAliases = Map . of ();
453
454
} else {
454
455
if (globalMetadata == null ) {
455
456
globalMetadata = repository .getSnapshotGlobalMetadata (snapshotId );
456
457
}
457
458
final Map <String , DataStream > dataStreamsInSnapshot = globalMetadata .dataStreams ();
458
- final Map <String , DataStreamAlias > dataStreamAliasesInSnapshot = globalMetadata .dataStreamAliases ();
459
459
dataStreams = new HashMap <>(requestedDataStreams .size ());
460
- dataStreamAliases = new HashMap <>();
461
460
for (String requestedDataStream : requestedDataStreams ) {
462
461
final DataStream dataStreamInSnapshot = dataStreamsInSnapshot .get (requestedDataStream );
463
462
assert dataStreamInSnapshot != null : "DataStream [" + requestedDataStream + "] not found in snapshot" ;
464
463
dataStreams .put (requestedDataStream , dataStreamInSnapshot );
465
-
466
464
}
467
- for (DataStreamAlias alias : dataStreamAliasesInSnapshot .values ()) {
468
- List <String > intersectingDataStreams = alias .getDataStreams ().stream ()
469
- .filter (requestedDataStreams ::contains )
470
- .collect (Collectors .toList ());
471
- String writeDateStream = alias .getWriteDataStream ();
472
- if (intersectingDataStreams .contains (writeDateStream ) == false ) {
473
- writeDateStream = null ;
474
- }
475
- if (intersectingDataStreams .isEmpty () == false ) {
476
- DataStreamAlias copy = new DataStreamAlias (alias .getName (), intersectingDataStreams , writeDateStream );
477
- dataStreamAliases .put (alias .getName (), copy );
465
+ if (includeAliases ) {
466
+ dataStreamAliases = new HashMap <>();
467
+ final Map <String , DataStreamAlias > dataStreamAliasesInSnapshot = globalMetadata .dataStreamAliases ();
468
+ for (DataStreamAlias alias : dataStreamAliasesInSnapshot .values ()) {
469
+ List <String > intersectingDataStreams = alias .getDataStreams ().stream ()
470
+ .filter (requestedDataStreams ::contains )
471
+ .collect (Collectors .toList ());
472
+ String writeDateStream = alias .getWriteDataStream ();
473
+ if (intersectingDataStreams .contains (writeDateStream ) == false ) {
474
+ writeDateStream = null ;
475
+ }
476
+ if (intersectingDataStreams .isEmpty () == false ) {
477
+ DataStreamAlias copy = new DataStreamAlias (alias .getName (), intersectingDataStreams , writeDateStream );
478
+ dataStreamAliases .put (alias .getName (), copy );
479
+ }
478
480
}
481
+ } else {
482
+ dataStreamAliases = Map .of ();
479
483
}
480
484
}
481
485
return new Tuple <>(dataStreams , dataStreamAliases );
0 commit comments