@@ -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