Skip to content

Commit a725e28

Browse files
committed
delay resolution of listener version
1 parent e2fb728 commit a725e28

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

src/main/java/tech/stackable/hadoop/StackableTopologyProvider.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public class StackableTopologyProvider implements DNSToSwitchMapping {
2828
// Default values
2929
public static final String DEFAULT_RACK = "/defaultRack";
3030
private static final int CACHE_EXPIRY_DEFAULT_SECONDS = 5 * 60;
31-
private final String LISTENER_VERSION;
31+
private String listenerVersion;
3232

3333
private final KubernetesClient client;
3434
private final List<TopologyLabel> labels;
@@ -41,7 +41,6 @@ public StackableTopologyProvider() {
4141
this.client = new KubernetesClientBuilder().build();
4242
this.cache = new TopologyCache(getCacheExpiration(), CACHE_EXPIRY_DEFAULT_SECONDS);
4343
this.labels = TopologyLabel.initializeTopologyLabels();
44-
LISTENER_VERSION = getListenerVersion();
4544

4645
logInitializationStatus();
4746
}
@@ -226,7 +225,11 @@ private void refreshListenerCacheIfNeeded(List<String> names) {
226225
// Listeners are typically few, so fetch all
227226
// (Individual listener fetches would require knowing the namespace)
228227
LOG.debug("Fetching all listeners to populate cache");
229-
GenericKubernetesResourceList listeners = fetchListeners();
228+
if (listenerVersion == null) {
229+
listenerVersion = getListenerVersion();
230+
LOG.debug("Fetching all listeners in version {}", listenerVersion);
231+
}
232+
GenericKubernetesResourceList listeners = fetchListeners(listenerVersion);
230233

231234
for (GenericKubernetesResource listener : listeners.getItems()) {
232235
cacheListenerByNameAndAddresses(listener);
@@ -281,11 +284,11 @@ private String resolveListenerEndpoint(GenericKubernetesResource listener) {
281284
return address.getIp();
282285
}
283286

284-
private GenericKubernetesResourceList fetchListeners() {
287+
private GenericKubernetesResourceList fetchListeners(String listenerVersion) {
285288
ResourceDefinitionContext listenerCrd =
286289
new ResourceDefinitionContext.Builder()
287290
.withGroup("listeners.stackable.tech")
288-
.withVersion(LISTENER_VERSION)
291+
.withVersion(listenerVersion)
289292
.withPlural("listeners")
290293
.withNamespaced(true)
291294
.build();

0 commit comments

Comments
 (0)