Skip to content

Fabric8 7.3.0 Informer rsync functionality intermittently fails, no event re-entry, returns to normal after restart, no error logs #7435

@CrazyTomatoOo

Description

@CrazyTomatoOo

Describe the bug

    @PostConstruct
    public void init() {
        kubernetesClient = new KubernetesClientBuilder().build();
        modelLiteClient = new DefaultModelLiteClient();
        volcanoClient = new DefaultVolcanoClient(kubernetesClient);

        deploymentInformer =
            kubernetesClient.apps().deployments().inNamespace(namespace).runnableInformer(resyncPeriod * 5);
        serviceInformer = kubernetesClient.services().inNamespace(namespace).runnableInformer(0);
        statefulSetInformer =
            kubernetesClient.apps().statefulSets().inNamespace(namespace).runnableInformer(resyncPeriod * 5);
        modelInferenceInformer =
            kubernetesClient.resources(ModelInference.class).inNamespace(namespace).runnableInformer(resyncPeriod);

        deploymentLister = new Lister<>(deploymentInformer.getIndexer(), namespace);
        serviceLister = new Lister<>(serviceInformer.getIndexer(), namespace);
        statefulSetLister = new Lister<>(statefulSetInformer.getIndexer(), namespace);
        modelInferenceLister = new Lister<>(modelInferenceInformer.getIndexer(), namespace);
    }

    private void registerModelInferenceEventHandler() {
        helper.getModelInferenceInformer().addEventHandler(new ResourceEventHandler<>() {
            @Override
            public void onAdd(ModelInference obj) {
                enqueue(obj);
            }

            @Override
            public void onUpdate(ModelInference oldObj, ModelInference newObj) {
                enqueue(newObj);
            }

            @Override
            public void onDelete(ModelInference obj, boolean deletedFinalStateUnknown) {
                enqueue(obj);
            }
        });
    }

    private void enqueue(ModelInference obj) {
        log.info("Enqueue[{}]", obj.getMetadata().getName());
        String key = Cache.metaNamespaceKeyFunc(obj);
        log.info("Going to enqueue key {}", key);
        if (key != null && !key.isEmpty()) {
            log.info("Adding modelInference[{}] to workqueue", obj.getMetadata().getName());
            workQueue.add(key);
        }
    }
[2026/02/13 08:51:56.635][][INFO][com.....v1.modelinference.ModelInferenceController][runController,271][-1207935560-pool-2-thread-1][Got model-engine-dyy/ai43ek]
[2026/02/13 08:51:56.641][][INFO][com.....v1.modelinference.ModelInferenceReconciler][reconcile,83][-1207935560-pool-2-thread-1][Start to reconcile CR ModelInference[ai43ek]]
[2026/02/13 08:51:56.641][][INFO][com.....v1.modelinference.ModelInferenceReconciler][handle,144][-1207935560-pool-2-thread-1][Handle model inference instance [ai43ek] in status [STOPPING]]
[2026/02/13 08:51:56.642][][INFO][com.....v1.modelinference.handler.StoppingHandler][handle,41][-1207935560-pool-2-thread-1][Handle ModelInference [model-engine-dyy/ai43ek] in Stopping status.]
[2026/02/13 08:51:56.645][][INFO][com.....v1.modelinference.ModelInferenceHelper][scaleDeployment,501][-1207935560-pool-2-thread-1][Scale Deployment[ai43ek-inference] replicas to 0]
[2026/02/13 08:51:56.674][][INFO][com.....v1.modelinference.handler.Common][handlePodsDeletionInLimitTime,108][-1207935560-pool-2-thread-1][Waiting for model inference pods [ai43ek] to be deleted]
[2026/02/13 08:51:56.694][][INFO][com.....v1.modelinference.ModelInferenceController][runController,264][-1207935560-pool-2-thread-1][trying to fetch item from workqueue.]
[2026/02/13 08:51:56.694][][INFO][com.....v1.modelinference.ModelInferenceController][runController,266][-1207935560-pool-2-thread-1][Work Queue is empty]
[2026/02/13 08:52:10.136][][INFO][com.....common.logupload.filter.UserContextFilter][doFilter,61][http-nio-8082-exec-5][Inner url for health probe: /actuator/health]
[2026/02/13 08:52:17.868][][INFO][com.....common.logupload.filter.UserContextFilter][doFilter,61][http-nio-8082-exec-6][Inner url for health probe: /actuator/health/readiness]
[2026/02/13 08:52:25.136][][INFO][com.....common.logupload.filter.UserContextFilter][doFilter,61][http-nio-8082-exec-7][Inner url for health probe: /actuator/health]
[2026/02/13 08:52:40.136][][INFO][com.....common.logupload.filter.UserContextFilter][doFilter,61][http-nio-8082-exec-8][Inner url for health probe: /actuator/health]
[2026/02/13 08:52:55.136][][INFO][com.....common.logupload.filter.UserContextFilter][doFilter,61][http-nio-8082-exec-9][Inner url for health probe: /actuator/health]
[2026/02/13 08:53:10.135][][INFO][com.....common.logupload.filter.UserContextFilter][doFilter,61][http-nio-8082-exec-10][Inner url for health probe: /actuator/health]
[2026/02/13 08:53:17.868][][INFO][com.....common.logupload.filter.UserContextFilter][doFilter,61][http-nio-8082-exec-1][Inner url for health probe: /actuator/health/readiness]
[2026/02/13 08:53:25.135][][INFO][com.....common.logupload.filter.UserContextFilter][doFilter,61][http-nio-8082-exec-2][Inner url for health probe: /actuator/health]
[2026/02/13 08:53:40.136][][INFO][com.....common.logupload.filter.UserContextFilter][doFilter,61][http-nio-8082-exec-3][Inner url for health probe: /actuator/health]
[2026/02/13 08:53:55.136][][INFO][com.....common.logupload.filter.UserContextFilter][doFilter,61][http-nio-8082-exec-4][Inner url for health probe: /actuator/health]
[2026/02/13 08:54:10.136][][INFO][com.....common.logupload.filter.UserContextFilter][doFilter,61][http-nio-8082-exec-5][Inner url for health probe: /actuator/health]
[2026/02/13 08:54:17.868][][INFO][com.....common.logupload.filter.UserContextFilter][doFilter,61][http-nio-8082-exec-6][Inner url for health probe: /actuator/health/readiness]
[2026/02/13 08:54:25.136][][INFO][com.....common.logupload.filter.UserContextFilter][doFilter,61][http-nio-8082-exec-7][Inner url for health probe: /actuator/health]
[2026/02/13 08:54:40.136][][INFO][com.....common.logupload.filter.UserContextFilter][doFilter,61][http-nio-8082-exec-8][Inner url for health probe: /actuator/health]
[2026/02/13 08:54:55.136][][INFO][com.....common.logupload.filter.UserContextFilter][doFilter,61][http-nio-8082-exec-9][Inner url for health probe: /actuator/health]
[2026/02/13 08:55:10.135][][INFO][com.....common.logupload.filter.UserContextFilter][doFilter,61][http-nio-8082-exec-10][Inner url for health probe: /actuator/health]
[2026/02/13 08:55:17.868][][INFO][com.....common.logupload.filter.UserContextFilter][doFilter,61][http-nio-8082-exec-1][Inner url for health probe: /actuator/health/readiness]
[2026/02/13 08:55:25.136][][INFO][com.....common.logupload.filter.UserContextFilter][doFilter,61][http-nio-8082-exec-2][Inner url for health probe: /actuator/health]
[2026/02/13 08:55:40.136][][INFO][com.....common.logupload.filter.UserContextFilter][doFilter,61][http-nio-8082-exec-3][Inner url for health probe: /actuator/health]
[2026/02/13 08:55:55.136][][INFO][com.....common.logupload.filter.UserContextFilter][doFilter,61][http-nio-8082-exec-4][Inner url for health probe: /actuator/health]
[2026/02/13 08:56:10.136][][INFO][com.....common.logupload.filter.UserContextFilter][doFilter,61][http-nio-8082-exec-5][Inner url for health probe: /actuator/health]
[2026/02/13 08:56:17.868][][INFO][com.....common.logupload.filter.UserContextFilter][doFilter,61][http-nio-8082-exec-6][Inner url for health probe: /actuator/health/readiness]
[2026/02/13 08:56:25.136][][INFO][com.....common.logupload.filter.UserContextFilter][doFilter,61][http-nio-8082-exec-7][Inner url for health probe: /actuator/health]
[2026/02/13 08:56:40.136][][INFO][com.....common.logupload.filter.UserContextFilter][doFilter,61][http-nio-8082-exec-8][Inner url for health probe: /actuator/health]
[2026/02/13 08:56:55.136][][INFO][com.....common.logupload.filter.UserContextFilter][doFilter,61][http-nio-8082-exec-9][Inner url for health probe: /actuator/health]
[2026/02/13 08:57:10.136][][INFO][com.....common.logupload.filter.UserContextFilter][doFilter,61][http-nio-8082-exec-10][Inner url for health probe: /actuator/health]
[2026/02/13 08:57:17.868][][INFO][com.....common.logupload.filter.UserContextFilter][doFilter,61][http-nio-8082-exec-1][Inner url for health probe: /actuator/health/readiness]
[2026/02/13 08:57:25.136][][INFO][com.....common.logupload.filter.UserContextFilter][doFilter,61][http-nio-8082-exec-2][Inner url for health probe: /actuator/health]
[2026/02/13 08:57:40.136][][INFO][com.....common.logupload.filter.UserContextFilter][doFilter,61][http-nio-8082-exec-3][Inner url for health probe: /actuator/health]
[2026/02/13 08:57:55.135][][INFO][com.....common.logupload.filter.UserContextFilter][doFilter,61][http-nio-8082-exec-4][Inner url for health probe: /actuator/health]
[2026/02/13 08:58:10.136][][INFO][com.....common.logupload.filter.UserContextFilter][doFilter,61][http-nio-8082-exec-5][Inner url for health probe: /actuator/health]
[2026/02/13 08:58:17.869][][INFO][com.....common.logupload.filter.UserContextFilter][doFilter,61][http-nio-8082-exec-6][Inner url for health probe: /actuator/health/readiness]

Fabric8 Kubernetes Client version

SNAPSHOT

Steps to reproduce

Cannot be consistently reproduced

Expected behavior

Event periodically re-enters

Runtime

Kubernetes (vanilla)

Kubernetes API Server version

other (please specify in additional context)

Environment

Linux

Fabric8 Kubernetes Client Logs

Additional context

Client Version: v1.31.1
Kustomize Version: v5.4.2
Server Version: v1.31.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions