InfinityFlowApp / keycloak-event-listener-temporal

A Keycloak SPI Event Listener that publishes events to Temporal Server
Apache License 2.0
2 stars 0 forks source link

When Temporal has downtime unable to login to realm #58

Open ElanHasson opened 2 months ago

ElanHasson commented 2 months ago

    at io.temporal.api.workflowservice.v1.WorkflowServiceGrpc$WorkflowServiceBlockingStub.startWorkflowExecution(WorkflowServiceGrpc.java:3873)
    at io.temporal.internal.client.external.GenericWorkflowClientImpl.lambda$start$1(GenericWorkflowClientImpl.java:74)
    at io.temporal.internal.retryer.GrpcSyncRetryer.retry(GrpcSyncRetryer.java:69)
    at io.temporal.internal.retryer.GrpcRetryer.retryWithResult(GrpcRetryer.java:60)
    at io.temporal.internal.client.external.GenericWorkflowClientImpl.start(GenericWorkflowClientImpl.java:69)
    at io.temporal.internal.client.RootWorkflowClientInvoker.start(RootWorkflowClientInvoker.java:101)
    at io.temporal.client.WorkflowStubImpl.startWithOptions(WorkflowStubImpl.java:104)
    at io.temporal.client.WorkflowStubImpl.start(WorkflowStubImpl.java:129)
    at app.infinityflow.keycloak.events.TemporalEventListenerProvider.onEvent(TemporalEventListenerProvider.kt:67)
    at org.keycloak.events.EventBuilder.sendNow(EventBuilder.java:266)
    at org.keycloak.events.EventBuilder.send(EventBuilder.java:253)
    at org.keycloak.events.EventBuilder.success(EventBuilder.java:221)
    at org.keycloak.services.managers.AuthenticationManager.finishedRequiredActions(AuthenticationManager.java:1031)
    at org.keycloak.services.resources.IdentityBrokerService.finishBrokerAuthentication(IdentityBrokerService.java:852)
    at org.keycloak.services.resources.IdentityBrokerService.afterPostBrokerLoginFlowSuccess(IdentityBrokerService.java:818)
    at org.keycloak.services.resources.IdentityBrokerService.finishOrRedirectToPostBrokerLogin(IdentityBrokerService.java:744)
    at org.keycloak.services.resources.IdentityBrokerService.authenticated(IdentityBrokerService.java:619)
    at org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider$Endpoint.authResponse(AbstractOAuth2IdentityProvider.java:565)
    at org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider$Endpoint$quarkusrestinvoker$authResponse_fef2d69ce31937f365a37fb3083f9247bc4c56d2.invoke(Unknown Source)
    at org.jboss.resteasy.reactive.server.handlers.InvocationHandler.handle(InvocationHandler.java:29)
    at io.quarkus.resteasy.reactive.server.runtime.QuarkusResteasyReactiveRequestContext.invokeHandler(QuarkusResteasyReactiveRequestContext.java:141)
    at org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:147)
    at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:582)
    at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
    at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
    at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.base/java.lang.Thread.run(Thread.java:840)
snovak7 commented 2 months ago

Huh, what should we do in such cases we're currently just passing the message to temporal, drop the message or queue for re-delivery?