57
57
import org .opensearch .core .rest .RestStatus ;
58
58
import org .opensearch .core .xcontent .ToXContent ;
59
59
import org .opensearch .core .xcontent .XContentBuilder ;
60
+ import org .opensearch .indices .replication .common .ReplicationType ;
60
61
import org .opensearch .test .OpenSearchTestCase ;
61
62
import org .opensearch .test .TestCustomMetadata ;
62
63
73
74
import static java .util .Collections .emptyMap ;
74
75
import static java .util .Collections .emptySet ;
75
76
import static java .util .Collections .singletonMap ;
77
+ import static org .opensearch .cluster .ClusterName .CLUSTER_NAME_SETTING ;
76
78
import static org .opensearch .cluster .metadata .IndexMetadata .SETTING_VERSION_CREATED ;
77
79
import static org .hamcrest .Matchers .containsString ;
78
80
import static org .hamcrest .Matchers .equalTo ;
@@ -84,7 +86,7 @@ public void testSupersedes() {
84
86
final DiscoveryNode node1 = new DiscoveryNode ("node1" , buildNewFakeTransportAddress (), emptyMap (), emptySet (), version );
85
87
final DiscoveryNode node2 = new DiscoveryNode ("node2" , buildNewFakeTransportAddress (), emptyMap (), emptySet (), version );
86
88
final DiscoveryNodes nodes = DiscoveryNodes .builder ().add (node1 ).add (node2 ).build ();
87
- ClusterName name = ClusterName . CLUSTER_NAME_SETTING .getDefault (Settings .EMPTY );
89
+ ClusterName name = CLUSTER_NAME_SETTING .getDefault (Settings .EMPTY );
88
90
ClusterState noClusterManager1 = ClusterState .builder (name ).version (randomInt (5 )).nodes (nodes ).build ();
89
91
ClusterState noClusterManager2 = ClusterState .builder (name ).version (randomInt (5 )).nodes (nodes ).build ();
90
92
ClusterState withClusterManager1a = ClusterState .builder (name )
@@ -115,6 +117,39 @@ public void testSupersedes() {
115
117
);
116
118
}
117
119
120
+ public void testIsSegmentReplicationEnabled () {
121
+ final String indexName = "test" ;
122
+ ClusterState clusterState = ClusterState .builder (CLUSTER_NAME_SETTING .getDefault (Settings .EMPTY )).build ();
123
+ Settings .Builder builder = settings (Version .CURRENT ).put (IndexMetadata .SETTING_REPLICATION_TYPE , ReplicationType .SEGMENT );
124
+ IndexMetadata .Builder indexMetadataBuilder = IndexMetadata .builder (indexName )
125
+ .settings (builder )
126
+ .numberOfShards (1 )
127
+ .numberOfReplicas (1 );
128
+ Metadata .Builder metadataBuilder = Metadata .builder ().put (indexMetadataBuilder );
129
+ RoutingTable .Builder routingTableBuilder = RoutingTable .builder ().addAsNew (indexMetadataBuilder .build ());
130
+ clusterState = ClusterState .builder (clusterState )
131
+ .metadata (metadataBuilder .build ())
132
+ .routingTable (routingTableBuilder .build ())
133
+ .build ();
134
+ assertTrue (clusterState .isSegmentReplicationEnabled (indexName ));
135
+ }
136
+
137
+ public void testIsSegmentReplicationDisabled () {
138
+ final String indexName = "test" ;
139
+ ClusterState clusterState = ClusterState .builder (CLUSTER_NAME_SETTING .getDefault (Settings .EMPTY )).build ();
140
+ IndexMetadata .Builder indexMetadataBuilder = IndexMetadata .builder (indexName )
141
+ .settings (settings (Version .CURRENT ))
142
+ .numberOfShards (1 )
143
+ .numberOfReplicas (1 );
144
+ Metadata .Builder metadataBuilder = Metadata .builder ().put (indexMetadataBuilder );
145
+ RoutingTable .Builder routingTableBuilder = RoutingTable .builder ().addAsNew (indexMetadataBuilder .build ());
146
+ clusterState = ClusterState .builder (clusterState )
147
+ .metadata (metadataBuilder .build ())
148
+ .routingTable (routingTableBuilder .build ())
149
+ .build ();
150
+ assertFalse (clusterState .isSegmentReplicationEnabled (indexName ));
151
+ }
152
+
118
153
public void testBuilderRejectsNullCustom () {
119
154
final ClusterState .Builder builder = ClusterState .builder (ClusterName .DEFAULT );
120
155
final String key = randomAlphaOfLength (10 );
0 commit comments