bf2fc6cc711aee1a0c2a / kas-fleetshard

The kas-fleetshard-operator is responsible for provisioning and managing instances of kafka on a cluster. The kas-fleetshard-synchronizer synchronizes the state of a fleet shard with the kas-fleet-manager.
Apache License 2.0
7 stars 20 forks source link

Exception in operator from operatorsdk #93

Closed kornys closed 3 years ago

kornys commented 3 years ago

I don't know if it is an issue but I see sometimes this issue when I executing tests in parallel in operator

it happens when first test removed managedkafka resource in some namespace A and second test tried to recreate different managedkafka in namespace B

12:15:08.915 [EventHandler-managedkafkacontroller] ERROR io.javaoperatorsdk.operator.processing.EventDispatcher - Error during event processing ExecutionScope{events=[{ class=org.bf2.operator.events.KafkaEvent, relatedCustomResourceUid=5ccb4a07-a9d7-416d-bbea-ad28028f1283, eventSource=org.bf2.operator.events.KafkaEventSource@21e1340b }, { class=org.bf2.operator.events.DeploymentEvent, relatedCustomResourceUid=5ccb4a07-a9d7-416d-bbea-ad28028f1283, eventSource=org.bf2.operator.events.DeploymentEventSource@2829a110 }, { class=org.bf2.operator.events.DeploymentEvent, relatedCustomResourceUid=5ccb4a07-a9d7-416d-bbea-ad28028f1283, eventSource=org.bf2.operator.events.DeploymentEventSource@2829a110 }], customResource uid: 5ccb4a07-a9d7-416d-bbea-ad28028f1283, version: 505910} failed.
io.fabric8.kubernetes.client.KubernetesClientException: Failure executing: PUT at: https://172.30.0.1/apis/managedkafka.bf2.org/v1alpha1/namespaces/mk-test-create-check/managedkafkas/mk-create. Message: Operation cannot be fulfilled on managedkafkas.managedkafka.bf2.org "mk-create": StorageError: invalid object, Code: 4, Key: /kubernetes.io/managedkafka.bf2.org/managedkafkas/mk-test-create-check/mk-create, ResourceVersion: 0, AdditionalErrorMsg: Precondition failed: UID in precondition: 5ccb4a07-a9d7-416d-bbea-ad28028f1283, UID in object meta: . Received status: Status(apiVersion=v1, code=409, details=StatusDetails(causes=[], group=managedkafka.bf2.org, kind=managedkafkas, name=mk-create, retryAfterSeconds=null, uid=null, additionalProperties={}), kind=Status, message=Operation cannot be fulfilled on managedkafkas.managedkafka.bf2.org "mk-create": StorageError: invalid object, Code: 4, Key: /kubernetes.io/managedkafka.bf2.org/managedkafkas/mk-test-create-check/mk-create, ResourceVersion: 0, AdditionalErrorMsg: Precondition failed: UID in precondition: 5ccb4a07-a9d7-416d-bbea-ad28028f1283, UID in object meta: , metadata=ListMeta(_continue=null, remainingItemCount=null, resourceVersion=null, selfLink=null, additionalProperties={}), reason=Conflict, status=Failure, additionalProperties={}).
    at io.fabric8.kubernetes.client.dsl.base.OperationSupport.requestFailure(OperationSupport.java:570) ~[io.fabric8.kubernetes-client-5.0.0.jar:?]
    at io.fabric8.kubernetes.client.dsl.base.OperationSupport.assertResponseCode(OperationSupport.java:509) ~[io.fabric8.kubernetes-client-5.0.0.jar:?]
    at io.fabric8.kubernetes.client.dsl.base.OperationSupport.handleResponse(OperationSupport.java:474) ~[io.fabric8.kubernetes-client-5.0.0.jar:?]
    at io.fabric8.kubernetes.client.dsl.base.OperationSupport.handleResponse(OperationSupport.java:435) ~[io.fabric8.kubernetes-client-5.0.0.jar:?]
    at io.fabric8.kubernetes.client.dsl.base.OperationSupport.handleReplace(OperationSupport.java:286) ~[io.fabric8.kubernetes-client-5.0.0.jar:?]
    at io.fabric8.kubernetes.client.dsl.base.OperationSupport.handleReplace(OperationSupport.java:267) ~[io.fabric8.kubernetes-client-5.0.0.jar:?]
    at io.fabric8.kubernetes.client.dsl.base.BaseOperation.handleReplace(BaseOperation.java:876) ~[io.fabric8.kubernetes-client-5.0.0.jar:?]
    at io.fabric8.kubernetes.client.dsl.base.HasMetadataOperation.lambda$replace$0(HasMetadataOperation.java:75) ~[io.fabric8.kubernetes-client-5.0.0.jar:?]
    at io.fabric8.kubernetes.client.dsl.base.HasMetadataOperation.replace(HasMetadataOperation.java:80) ~[io.fabric8.kubernetes-client-5.0.0.jar:?]
    at io.fabric8.kubernetes.client.dsl.base.HasMetadataOperation.replace(HasMetadataOperation.java:30) ~[io.fabric8.kubernetes-client-5.0.0.jar:?]
    at io.javaoperatorsdk.operator.processing.EventDispatcher$CustomResourceFacade.replaceWithLock(EventDispatcher.java:199) ~[io.javaoperatorsdk.operator-framework-core-1.7.1.jar:?]
    at io.javaoperatorsdk.operator.processing.EventDispatcher.removeFinalizer(EventDispatcher.java:165) ~[io.javaoperatorsdk.operator-framework-core-1.7.1.jar:?]
    at io.javaoperatorsdk.operator.processing.EventDispatcher.handleDelete(EventDispatcher.java:133) ~[io.javaoperatorsdk.operator-framework-core-1.7.1.jar:?]
    at io.javaoperatorsdk.operator.processing.EventDispatcher.handleDispatch(EventDispatcher.java:77) ~[io.javaoperatorsdk.operator-framework-core-1.7.1.jar:?]
    at io.javaoperatorsdk.operator.processing.EventDispatcher.handleExecution(EventDispatcher.java:46) [io.javaoperatorsdk.operator-framework-core-1.7.1.jar:?]
    at io.javaoperatorsdk.operator.processing.ExecutionConsumer.run(ExecutionConsumer.java:25) [io.javaoperatorsdk.operator-framework-core-1.7.1.jar:?]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
    at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) [?:?]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
    at java.lang.Thread.run(Thread.java:834) [?:?]
kornys commented 3 years ago

I added checker for operator log in this PR https://github.com/bf2fc6cc711aee1a0c2a/kas-fleetshard/pull/92

kornys commented 3 years ago

@ppatierno do you think it is an issue? I think it does not affect test because test without checking logs pass and managed kafka is recreated.

kornys commented 3 years ago

Issue is not related to our operator but to opertatorsdk, closing