Skip to content

Commit e8b9648

Browse files
committed
[SPARK-53992] Add SparkOperatorConfManager.getAll method
1 parent dc15e1b commit e8b9648

File tree

2 files changed

+52
-0
lines changed

2 files changed

+52
-0
lines changed

spark-operator/src/main/java/org/apache/spark/k8s/operator/config/SparkOperatorConfManager.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,21 @@ protected SparkOperatorConfManager() {
6060
initialize();
6161
}
6262

63+
/**
64+
* Returns all properties.
65+
*
66+
* @return a Properties instance contains all properties.
67+
*/
68+
public Properties getAll() {
69+
synchronized (this) {
70+
Properties properties = new Properties();
71+
properties.putAll(initialConfig);
72+
properties.putAll(metricsConfig);
73+
properties.putAll(configOverrides);
74+
return properties;
75+
}
76+
}
77+
6378
/**
6479
* Returns the current value for a given configuration key, considering dynamic overrides.
6580
*

spark-operator/src/test/java/org/apache/spark/k8s/operator/config/SparkOperatorConfManagerTest.java

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,4 +74,41 @@ void testOverrideProperties() {
7474
}
7575
}
7676
}
77+
78+
@Test
79+
void testGetAll() {
80+
String propBackUp = System.getProperty("spark.kubernetes.operator.foo");
81+
System.setProperty("spark.kubernetes.operator.foo", "bar");
82+
try {
83+
SparkOperatorConfManager confManager = new SparkOperatorConfManager();
84+
85+
// Check initial configurations.
86+
int initialSize = confManager.getAll().size();
87+
Assertions.assertEquals(initialSize, confManager.initialConfig.size());
88+
Assertions.assertEquals(0, confManager.configOverrides.size());
89+
Assertions.assertEquals(0, confManager.metricsConfig.size());
90+
Assertions.assertEquals(initialSize, confManager.getAll().size());
91+
92+
// Override existing config
93+
confManager.refresh(Map.of("spark.kubernetes.operator.foo", "barbar"));
94+
Assertions.assertEquals(initialSize, confManager.initialConfig.size());
95+
Assertions.assertEquals(1, confManager.configOverrides.size());
96+
Assertions.assertEquals(0, confManager.metricsConfig.size());
97+
Assertions.assertEquals(initialSize, confManager.getAll().size());
98+
99+
// Override new configs and metrics
100+
confManager.refresh(Map.of("k1", "v1", "k2", "v2"));
101+
confManager.metricsConfig.put("m", "v");
102+
Assertions.assertEquals(initialSize, confManager.initialConfig.size());
103+
Assertions.assertEquals(2, confManager.configOverrides.size());
104+
Assertions.assertEquals(1, confManager.metricsConfig.size());
105+
Assertions.assertEquals(initialSize + 3, confManager.getAll().size());
106+
} finally {
107+
if (StringUtils.isNotEmpty(propBackUp)) {
108+
System.setProperty("spark.kubernetes.operator.foo", propBackUp);
109+
} else {
110+
System.clearProperty("spark.kubernetes.operator.foo");
111+
}
112+
}
113+
}
77114
}

0 commit comments

Comments
 (0)