@@ -257,20 +257,22 @@ static GetDataStreamAction.Response innerOperation(
257257 indexTemplatePreferIlmValue = PREFER_ILM_SETTING .get (settings );
258258 }
259259 } else {
260- ComposableIndexTemplate effectiveTemplate = dataStream .getEffectiveIndexTemplate (state .metadata ());
261260 indexTemplate = MetadataIndexTemplateService .findV2Template (state .metadata (), dataStream .getName (), false );
262- if (effectiveTemplate != null && effectiveTemplate .template () != null ) {
263- Settings settings ;
264- if (effectiveTemplate .template () != null && effectiveTemplate .template ().settings () != null ) {
265- settings = effectiveTemplate .template ().settings ();
266- } else {
267- settings = Settings .EMPTY ;
261+ if (indexTemplate != null ) { // TODO hack
262+ ComposableIndexTemplate effectiveTemplate = dataStream .getEffectiveIndexTemplate (state .metadata ());
263+ if (effectiveTemplate != null && effectiveTemplate .template () != null ) {
264+ Settings settings ;
265+ if (effectiveTemplate .template () != null && effectiveTemplate .template ().settings () != null ) {
266+ settings = effectiveTemplate .template ().settings ();
267+ } else {
268+ settings = Settings .EMPTY ;
269+ }
270+ ilmPolicyName = settings .get (IndexMetadata .LIFECYCLE_NAME );
271+ if (indexMode == null ) {
272+ indexMode = resolveMode (state , indexSettingProviders , dataStream , settings , effectiveTemplate );
273+ }
274+ indexTemplatePreferIlmValue = PREFER_ILM_SETTING .get (settings );
268275 }
269- ilmPolicyName = settings .get (IndexMetadata .LIFECYCLE_NAME );
270- if (indexMode == null ) {
271- indexMode = resolveMode (state , indexSettingProviders , dataStream , settings , effectiveTemplate );
272- }
273- indexTemplatePreferIlmValue = PREFER_ILM_SETTING .get (settings );
274276 } else {
275277 LOGGER .warn (
276278 "couldn't find any matching template for data stream [{}]. has it been restored (and possibly renamed)"
0 commit comments