8
8
package org .elasticsearch .xpack .core .ilm ;
9
9
10
10
import org .elasticsearch .client .internal .Client ;
11
- import org .elasticsearch .cluster .ClusterState ;
12
11
import org .elasticsearch .cluster .metadata .IndexMetadata ;
13
12
import org .elasticsearch .cluster .metadata .LifecycleExecutionState ;
14
- import org .elasticsearch .cluster .metadata .Metadata ;
15
13
import org .elasticsearch .cluster .metadata .ProjectMetadata ;
16
- import org .elasticsearch .cluster .project .DefaultProjectResolver ;
17
14
import org .elasticsearch .common .Strings ;
18
15
import org .elasticsearch .common .xcontent .XContentHelper ;
19
16
import org .elasticsearch .core .TimeValue ;
@@ -88,13 +85,11 @@ public void testRefreshPhaseJson() throws IOException {
88
85
LifecyclePolicy newPolicy = new LifecyclePolicy ("my-policy" , phases );
89
86
LifecyclePolicyMetadata policyMetadata = new LifecyclePolicyMetadata (newPolicy , Map .of (), 2L , 2L );
90
87
91
- ClusterState existingState = ClusterState .builder (ClusterState .EMPTY_STATE )
92
- .metadata (Metadata .builder (Metadata .EMPTY_METADATA ).put (meta , false ).build ())
93
- .build ();
88
+ ProjectMetadata existingProject = ProjectMetadata .builder (randomProjectIdOrDefault ()).put (meta , false ).build ();
94
89
95
- ClusterState changedState = refreshPhaseDefinition (existingState , indexName , policyMetadata );
90
+ ProjectMetadata changedProject = PhaseCacheManagement . refreshPhaseDefinition (existingProject , indexName , policyMetadata );
96
91
97
- IndexMetadata newIdxMeta = changedState . metadata (). getProject () .index (indexName );
92
+ IndexMetadata newIdxMeta = changedProject .index (indexName );
98
93
LifecycleExecutionState afterExState = newIdxMeta .getLifecycleExecutionState ();
99
94
Map <String , String > beforeState = new HashMap <>(exState .build ().asMap ());
100
95
beforeState .remove ("phase_definition" );
@@ -495,15 +490,13 @@ public void testUpdateIndicesForPolicy() throws IOException {
495
490
496
491
assertTrue (isIndexPhaseDefinitionUpdatable (REGISTRY , client , meta , newPolicy , null ));
497
492
498
- ClusterState existingState = ClusterState .builder (ClusterState .EMPTY_STATE )
499
- .metadata (Metadata .builder (Metadata .EMPTY_METADATA ).put (meta , false ).build ())
500
- .build ();
493
+ ProjectMetadata existingProject = ProjectMetadata .builder (randomProjectIdOrDefault ()).put (meta , false ).build ();
501
494
502
495
logger .info ("--> update for unchanged policy" );
503
- ClusterState updatedState = updateIndicesForPolicy (existingState , REGISTRY , client , oldPolicy , policyMetadata , null );
496
+ ProjectMetadata updatedProject = updateIndicesForPolicy (existingProject , REGISTRY , client , oldPolicy , policyMetadata , null );
504
497
505
498
// No change, because the policies were identical
506
- assertThat (updatedState , equalTo (existingState ));
499
+ assertThat (updatedProject , equalTo (existingProject ));
507
500
508
501
actions = new HashMap <>();
509
502
actions .put ("rollover" , new RolloverAction (null , null , null , 2L , null , null , null , null , null , null ));
@@ -514,10 +507,10 @@ public void testUpdateIndicesForPolicy() throws IOException {
514
507
policyMetadata = new LifecyclePolicyMetadata (newPolicy , Map .of (), 2L , 2L );
515
508
516
509
logger .info ("--> update with changed policy, but not configured in settings" );
517
- updatedState = updateIndicesForPolicy (existingState , REGISTRY , client , oldPolicy , policyMetadata , null );
510
+ updatedProject = updateIndicesForPolicy (existingProject , REGISTRY , client , oldPolicy , policyMetadata , null );
518
511
519
512
// No change, because the index doesn't have a lifecycle.name setting for this policy
520
- assertThat (updatedState , equalTo (existingState ));
513
+ assertThat (updatedProject , equalTo (existingProject ));
521
514
522
515
meta = IndexMetadata .builder (index )
523
516
.settings (
@@ -528,14 +521,12 @@ public void testUpdateIndicesForPolicy() throws IOException {
528
521
)
529
522
.putCustom (ILM_CUSTOM_METADATA_KEY , exState .asMap ())
530
523
.build ();
531
- existingState = ClusterState .builder (ClusterState .EMPTY_STATE )
532
- .metadata (Metadata .builder (Metadata .EMPTY_METADATA ).put (meta , false ).build ())
533
- .build ();
524
+ existingProject = ProjectMetadata .builder (randomProjectIdOrDefault ()).put (meta , false ).build ();
534
525
535
526
logger .info ("--> update with changed policy and this index has the policy" );
536
- updatedState = updateIndicesForPolicy (existingState , REGISTRY , client , oldPolicy , policyMetadata , null );
527
+ updatedProject = updateIndicesForPolicy (existingProject , REGISTRY , client , oldPolicy , policyMetadata , null );
537
528
538
- IndexMetadata newIdxMeta = updatedState . metadata (). getProject () .index (index );
529
+ IndexMetadata newIdxMeta = updatedProject .index (index );
539
530
LifecycleExecutionState afterExState = newIdxMeta .getLifecycleExecutionState ();
540
531
Map <String , String > beforeState = new HashMap <>(exState .asMap ());
541
532
beforeState .remove ("phase_definition" );
@@ -583,37 +574,18 @@ private static IndexMetadata.Builder mkMeta() {
583
574
);
584
575
}
585
576
586
- static ClusterState updateIndicesForPolicy (
587
- final ClusterState clusterState ,
577
+ static ProjectMetadata updateIndicesForPolicy (
578
+ ProjectMetadata project ,
588
579
final NamedXContentRegistry xContentRegistry ,
589
580
final Client client ,
590
581
final LifecyclePolicy oldPolicy ,
591
582
final LifecyclePolicyMetadata newPolicy ,
592
583
XPackLicenseState licenseState
593
584
) {
594
- ProjectMetadata projectMetadata = DefaultProjectResolver .INSTANCE .getProjectMetadata (clusterState );
595
- ProjectMetadata .Builder projectMetadataBuilder = ProjectMetadata .builder (projectMetadata );
596
- if (PhaseCacheManagement .updateIndicesForPolicy (
597
- projectMetadataBuilder ,
598
- projectMetadata ,
599
- xContentRegistry ,
600
- client ,
601
- oldPolicy ,
602
- newPolicy ,
603
- licenseState
604
- )) {
605
- return ClusterState .builder (clusterState ).putProjectMetadata (projectMetadataBuilder ).build ();
585
+ ProjectMetadata .Builder builder = ProjectMetadata .builder (project );
586
+ if (PhaseCacheManagement .updateIndicesForPolicy (builder , project , xContentRegistry , client , oldPolicy , newPolicy , licenseState )) {
587
+ return builder .build ();
606
588
}
607
- return clusterState ;
608
- }
609
-
610
- public static ClusterState refreshPhaseDefinition (
611
- final ClusterState clusterState ,
612
- final String index ,
613
- final LifecyclePolicyMetadata updatedPolicy
614
- ) {
615
- ProjectMetadata projectMetadata = DefaultProjectResolver .INSTANCE .getProjectMetadata (clusterState );
616
- ProjectMetadata newProjectMetadata = PhaseCacheManagement .refreshPhaseDefinition (projectMetadata , index , updatedPolicy );
617
- return ClusterState .builder (clusterState ).putProjectMetadata (newProjectMetadata ).build ();
589
+ return project ;
618
590
}
619
591
}
0 commit comments