Repository navigation
Method Reconciler#reconcile is not triggered when resource is deleted. #3621
Description
Activity
@nevenr thx for reporting we will take a look. Please use the latest version of the framework if possible.
Note that we have an integration test for this:
Lines 81 to 98 in 748f3a3
@Test void deleteEventPresentWithoutFinalizer() { var reconciler = extension.getReconcilerOfType(TriggerReconcilerOnAllEventReconciler.class); reconciler.setUseFinalizer(false); extension.serverSideApply(testResource()); await().untilAsserted(() -> assertThat(reconciler.isResourceEventPresent()).isTrue()); extension.delete(getResource()); await() .untilAsserted( () -> { var r = getResource(); assertThat(r).isNull(); assertThat(reconciler.isDeleteEventPresent()).isTrue(); }); } Could you pls provide a simple reproducer?
added this small fix for deprecated flag, but this does not seems to be your case: #3622
Hi,
Please find reproducer: https://github.com/nevenr/java-operator-sdk-reproducer-3621
- First login to some Kubernetes/OpenShift cluster with CLI, e.g.
- oc login --server=http.... --token=abc....
- Run Quarkus development
- mvn quarkus:dev
- then create one ConfigMap and you will see in log two lines
- ConfigMap namespace/ name event
- created/updated
- then update that ConfigMap and you will see in log two lines
- ConfigMap namespace/ name event
- created/updated
- and then delete ConfigMap and there is not event at all, no new related logging statements
Regards,
N.- First login to some Kubernetes/OpenShift cluster with CLI, e.g.
@nevenr could you pls try if you are experiencing this issue also with pure JOSDK?
in case you can use it as a workaround for now, while it is fixed in QOSDK.Hi @csviri ,
Thanks for your quick responses and care.
I already switched to Informer and ResourceEventHandler and with this approach I getting all events.
Kind regards,
N.Reacted by Attila MészárosI checked the reproducer and can confirm that this is an issue with QOSDK, it does not set the flag triggerReconcilerOnAllEvents properly.
Closing this issue here, pls take it into in QOSDK @xstefank
Bug Report
I wanted to create metric exporter for certain resource type.
For this I implemented Reconciler with triggerReconcilerOnAllEvents enabled (introducerd in JOSDK 5.2) to receive all events (create, update and delete).
Method Reconciler#reconcile is not triggered when resource is deleted.
What did you do?
What did you expect to see?
When I create, update and delete resource I expected to see in logs:
What did you see instead? Under which circumstances?
When I create, update and delete resource I see in logs:
Environment
Kubernetes cluster type:
OpenShift 4.19.43
$ Mention java-operator-sdk version from pom.xml fileresolves to: io.javaoperatorsdk:operator-framework-core:5.5.0
$ java -versionopenjdk version "25.0.4.1" 2026-08-18 LTS
OpenJDK Runtime Environment Temurin-25.0.4.1+1 (build 25.0.4.1+1-LTS)
OpenJDK 64-Bit Server VM Temurin-25.0.4.1+1 (build 25.0.4.1+1-LTS, mixed mode, sharing)
$ kubectl versionClient Version: 4.19.0-202608112108.p2.gb2a93a6.assembly.stream.el9-b2a93a6
Kustomize Version: v5.5.0
Kubernetes Version: v1.32.13
Additional context