kafbat / kafka-ui

Open-Source Web UI for managing Apache Kafka clusters
http://ui.docs.kafbat.io
Apache License 2.0
623 stars 82 forks source link

OIDC (Okta) issue with using callback handler for AWS_IAM_MSK #642

Open ivanbishop opened 3 weeks ago

ivanbishop commented 3 weeks ago

Issue submitter TODO list

Describe the bug (actual behavior)

See https://discord.com/channels/897805035122077716/1298004148066848849 Validate with Okta works OK, but om submit I get a 500 error. logit.txt YML-config-compose.zip

Expected behavior

Validate works on adding a new cluster but I expect Submit to work

Your installation details

Run via (compose in ZIP) docker-compose -f ~/kui/docker-compose.yml up -d and the external rbac file in ZIP too

Steps to reproduce

launch container, try and configure a new cluster

Screenshots

No response

Logs

logit.txt

Additional context

No response

github-actions[bot] commented 3 weeks ago

Hi ivanbishop! 👋

Welcome, and thank you for opening your first issue in the repo!

Please wait for triaging by our maintainers.

As development is carried out in our spare time, you can support us by sponsoring our activities or even funding the development of specific issues. Sponsorship link

If you plan to raise a PR for this issue, please take a look at our contributing guide.

kothapet commented 1 week ago

@ivanbishop,

OKTA sso with MSK IAM works fine. I have this running.

Looks like you have an extra semicolon ; at the end of client.callback.handler.class line. Remove it. Only jass.config needs semicolon ; at the end.

You have

KAFKA_CLUSTERS_0_PROPERTIES_SASL_CLIENT_CALLBACK_HANDLER_CLASS: software.amazon.msk.auth.iam.IAMClientCallbackHandler;

Make it

KAFKA_CLUSTERS_0_PROPERTIES_SASL_CLIENT_CALLBACK_HANDLER_CLASS: software.amazon.msk.auth.iam.IAMClientCallbackHandler

And that should work.

ivanbishop commented 4 days ago

Hi Anand, I am talking with Roman as now the misleading callback errors have gone but I still see the 500 error on validate new cluster.

Would you be willing to share your docker-compose and config for Okta RBAC with me (obfuscated of course), it'd be a time saver?

Thanks Ivan

From: "Anand K" @.> To: "kafbat/kafka-ui" @.> Cc: "ivanbishop" @.>, "Author" @.> Sent: Friday, November 15, 2024 1:28:27 PM Subject: Re: [kafbat/kafka-ui] OIDC (Okta) issue with using callback handler for AWS_IAM_MSK (Issue #642)

OKTA sso with MSK IAM works fine. I have this running.

Looks like you have an extra ";" at the end of client.callback.handler.class line. Remove it. Only jass.config needs ";" at the end.

You have KAFKA_CLUSTERS_0_PROPERTIES_SASL_CLIENT_CALLBACK_HANDLER_CLASS: software.amazon.msk.auth.iam.IAMClientCallbackHandler;

Make it KAFKA_CLUSTERS_0_PROPERTIES_SASL_CLIENT_CALLBACK_HANDLER_CLASS: software.amazon.msk.auth.iam.IAMClientCallbackHandler

And that should work.

— Reply to this email directly, [ https://github.com/kafbat/kafka-ui/issues/642#issuecomment-2479957096 | view it on GitHub ] , or [ https://github.com/notifications/unsubscribe-auth/ABPMBW7TZ6FIW6RXV6VG74D2AZRPXAVCNFSM6AAAAABQ4KVCPOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINZZHE2TOMBZGY | unsubscribe ] . You are receiving this because you authored the thread. Message ID: @.***>

Script started on 2024-11-18 18:02:25+00:00 [TERM="xterm-256color" TTY="/dev/pts/1" COLUMNS="219" LINES="65"] @.* kui]# docker-compose -f ~/kui/docker-compose.yml up [?2004lWARN[0000] /root/kui/docker-compose.yml: the attribute version is obsolete, it will be ignored, please remove it to avoid potential confusion [?25l[+] Running 1/0 ✔ Container kafbat-ui Created 0.0s [?25hAttaching to kafbat-ui kafbat-ui | Standard Commons Logging discovery in action with spring-jcl: please remove commons-logging.jar from classpath in order to avoid potential conflicts kafbat-ui | _ _ kafbat-ui | | | | | | / |_ /\ _ | |_ _ | |/ /_ / _| |___ kafbat-ui | | || || | | / | '| / | ' / ` / | ' \/ -) | ' </ | _| / / _| kafbat-ui | _/|__| || _|| // _| ._,_|||\| ||__,|| |__,| kafbat-ui | |_|
kafbat-ui | kafbat-ui | 2024-11-18 18:02:37,148 WARN [main] i.k.u.u.DynamicConfigOperations: Dynamic config file /etc/kafkaui/dynamic_config.yaml doesnt exist or not readable kafbat-ui | 2024-11-18 18:02:37,158 INFO [main] i.k.u.KafkaUiApplication: Starting KafkaUiApplication using Java 17.0.13 with PID 1 (/api.jar started by kafkaui in /) kafbat-ui | 2024-11-18 18:02:37,158 DEBUG [main] i.k.u.KafkaUiApplication: Running with Spring Boot v3.3.4, Spring v6.1.13 kafbat-ui | 2024-11-18 18:02:37,159 INFO [main] i.k.u.KafkaUiApplication: No active profile set, falling back to 1 default profile: "default" kafbat-ui | 2024-11-18 18:02:42,306 DEBUG [main] i.k.u.s.SerdesInitializer: Configuring serdes for cluster wiztest kafbat-ui | 2024-11-18 18:02:43,517 INFO [main] i.k.u.c.a.OAuthSecurityConfig: Configuring OAUTH2 authentication. kafbat-ui | 2024-11-18 18:02:43,972 INFO [main] o.s.b.a.e.w.EndpointLinksResolver: Exposing 3 endpoints beneath base path '/actuator' kafbat-ui | 2024-11-18 18:02:44,888 INFO [main] o.s.b.w.e.n.NettyWebServer: Netty started on port 8080 (http) kafbat-ui | 2024-11-18 18:02:44,924 INFO [main] i.k.u.KafkaUiApplication: Started KafkaUiApplication in 9.037 seconds (process running for 10.259) kafbat-ui | 2024-11-18 18:02:44,996 DEBUG [parallel-1] i.k.u.s.ClustersStatisticsScheduler: Start getting metrics for kafkaCluster: wiztest kafbat-ui | 2024-11-18 18:02:45,045 INFO [parallel-1] o.a.k.c.a.AdminClientConfig: AdminClientConfig values: kafbat-ui | auto.include.jmx.reporter = true kafbat-ui | bootstrap.servers = [b-3.demomskcluster.i9XXXX.c14.kafka.us-west-2.amazonaws.com:9098, b-2.demomskcluster.i9XXXX.c14.kafka.us-west-2.amazonaws.com:9098, b-1.demomskcluster.i9XXXX.c14.kafka.us-west-2.amazonaws.com:9098] kafbat-ui | client.dns.lookup = use_all_dns_ips kafbat-ui | client.id = kafbat-ui-admin-1731952965-1 kafbat-ui | connections.max.idle.ms = 300000 kafbat-ui | default.api.timeout.ms = 60000 kafbat-ui | metadata.max.age.ms = 300000 kafbat-ui | metric.reporters = [] kafbat-ui | metrics.num.samples = 2 kafbat-ui | metrics.recording.level = INFO kafbat-ui | metrics.sample.window.ms = 30000 kafbat-ui | receive.buffer.bytes = 65536 kafbat-ui | reconnect.backoff.max.ms = 1000 kafbat-ui | reconnect.backoff.ms = 50 kafbat-ui | request.timeout.ms = 30000 kafbat-ui | retries = 2147483647 kafbat-ui | retry.backoff.ms = 100 kafbat-ui | sasl.client.callback.handler.class = class software.amazon.msk.auth.iam.IAMClientCallbackHandler kafbat-ui | sasl.jaas.config = [hidden] kafbat-ui | sasl.kerberos.kinit.cmd = /usr/bin/kinit kafbat-ui | sasl.kerberos.min.time.before.relogin = 60000 kafbat-ui | sasl.kerberos.service.name = null kafbat-ui | sasl.kerberos.ticket.renew.jitter = 0.05 kafbat-ui | sasl.kerberos.ticket.renew.window.factor = 0.8 kafbat-ui | sasl.login.callback.handler.class = null kafbat-ui | sasl.login.class = null kafbat-ui | sasl.login.connect.timeout.ms = null kafbat-ui | sasl.login.read.timeout.ms = null kafbat-ui | sasl.login.refresh.buffer.seconds = 300 kafbat-ui | sasl.login.refresh.min.period.seconds = 60 kafbat-ui | sasl.login.refresh.window.factor = 0.8 kafbat-ui | sasl.login.refresh.window.jitter = 0.05 kafbat-ui | sasl.login.retry.backoff.max.ms = 10000 kafbat-ui | sasl.login.retry.backoff.ms = 100 kafbat-ui | sasl.mechanism = AWS_MSK_IAM kafbat-ui | sasl.oauthbearer.clock.skew.seconds = 30 kafbat-ui | sasl.oauthbearer.expected.audience = null kafbat-ui | sasl.oauthbearer.expected.issuer = null kafbat-ui | sasl.oauthbearer.jwks.endpoint.refresh.ms = 3600000 kafbat-ui | sasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms = 10000 kafbat-ui | sasl.oauthbearer.jwks.endpoint.retry.backoff.ms = 100 kafbat-ui | sasl.oauthbearer.jwks.endpoint.url = null kafbat-ui | sasl.oauthbearer.scope.claim.name = scope kafbat-ui | sasl.oauthbearer.sub.claim.name = sub kafbat-ui | sasl.oauthbearer.token.endpoint.url = null kafbat-ui | security.protocol = SASL_SSL kafbat-ui | security.providers = null kafbat-ui | send.buffer.bytes = 131072 kafbat-ui | socket.connection.setup.timeout.max.ms = 30000 kafbat-ui | socket.connection.setup.timeout.ms = 10000 kafbat-ui | ssl.cipher.suites = null kafbat-ui | ssl.enabled.protocols = [TLSv1.2, TLSv1.3] kafbat-ui | ssl.endpoint.identification.algorithm = https kafbat-ui | ssl.engine.factory.class = null kafbat-ui | ssl.key.password = null kafbat-ui | ssl.keymanager.algorithm = SunX509 kafbat-ui | ssl.keystore.certificate.chain = null kafbat-ui | ssl.keystore.key = null kafbat-ui | ssl.keystore.location = null kafbat-ui | ssl.keystore.password = null kafbat-ui | ssl.keystore.type = JKS kafbat-ui | ssl.protocol = TLSv1.3 kafbat-ui | ssl.provider = null kafbat-ui | ssl.secure.random.implementation = null kafbat-ui | ssl.trustmanager.algorithm = PKIX kafbat-ui | ssl.truststore.certificates = null kafbat-ui | ssl.truststore.location = null kafbat-ui | ssl.truststore.password = null kafbat-ui | ssl.truststore.type = JKS kafbat-ui | kafbat-ui | 2024-11-18 18:02:45,292 INFO [parallel-1] o.a.k.c.s.a.AbstractLogin: Successfully logged in. kafbat-ui | 2024-11-18 18:02:45,335 INFO [parallel-1] o.a.k.c.u.AppInfoParser: Kafka version: 3.5.2 kafbat-ui | 2024-11-18 18:02:45,335 INFO [parallel-1] o.a.k.c.u.AppInfoParser: Kafka commitId: 8f0b0b0d0466632b kafbat-ui | 2024-11-18 18:02:45,335 INFO [parallel-1] o.a.k.c.u.AppInfoParser: Kafka startTimeMs: 1731952965333 kafbat-ui | 2024-11-18 18:02:46,720 DEBUG [parallel-8] i.k.u.s.ClustersStatisticsScheduler: Metrics updated for cluster: wiztest kafbat-ui | 2024-11-18 18:02:52,509 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'null /oauth2/authorization/{registrationId}' kafbat-ui | 2024-11-18 18:02:52,511 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'null /login/oauth2/code/{registrationId}' kafbat-ui | 2024-11-18 18:02:52,521 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/login', method=GET} kafbat-ui | 2024-11-18 18:02:52,522 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'GET /login' kafbat-ui | 2024-11-18 18:02:52,523 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: No matches found kafbat-ui | 2024-11-18 18:02:52,526 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/logout', method=GET} kafbat-ui | 2024-11-18 18:02:52,526 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'GET /logout' kafbat-ui | 2024-11-18 18:02:52,527 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: No matches found kafbat-ui | 2024-11-18 18:02:52,558 DEBUG [parallel-2] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/logout', method=POST} kafbat-ui | 2024-11-18 18:02:52,562 DEBUG [parallel-2] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'POST /logout' kafbat-ui | 2024-11-18 18:02:52,562 DEBUG [parallel-2] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: No matches found kafbat-ui | 2024-11-18 18:02:52,578 DEBUG [parallel-2] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/css/', method=null} kafbat-ui | 2024-11-18 18:02:52,580 DEBUG [parallel-2] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'null /css/' kafbat-ui | 2024-11-18 18:02:52,581 DEBUG [parallel-2] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/js/', method=null} kafbat-ui | 2024-11-18 18:02:52,582 DEBUG [parallel-2] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'null /js/' kafbat-ui | 2024-11-18 18:02:52,582 DEBUG [parallel-2] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/media/', method=null} kafbat-ui | 2024-11-18 18:02:52,582 DEBUG [parallel-2] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'null /media/' kafbat-ui | 2024-11-18 18:02:52,582 DEBUG [parallel-2] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/resources/', method=null} kafbat-ui | 2024-11-18 18:02:52,583 DEBUG [parallel-2] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'null /resources/' kafbat-ui | 2024-11-18 18:02:52,583 DEBUG [parallel-2] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/actuator/health/', method=null} kafbat-ui | 2024-11-18 18:02:52,583 DEBUG [parallel-2] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'null /actuator/health/' kafbat-ui | 2024-11-18 18:02:52,583 DEBUG [parallel-2] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/actuator/info', method=null} kafbat-ui | 2024-11-18 18:02:52,584 DEBUG [parallel-2] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'null /actuator/info' kafbat-ui | 2024-11-18 18:02:52,584 DEBUG [parallel-2] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/actuator/prometheus', method=null} kafbat-ui | 2024-11-18 18:02:52,585 DEBUG [parallel-2] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'null /actuator/prometheus' kafbat-ui | 2024-11-18 18:02:52,585 DEBUG [parallel-2] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/auth', method=null} kafbat-ui | 2024-11-18 18:02:52,586 DEBUG [parallel-2] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'null /auth' kafbat-ui | 2024-11-18 18:02:52,586 DEBUG [parallel-2] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/login', method=null} kafbat-ui | 2024-11-18 18:02:52,586 DEBUG [parallel-2] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'null /login' kafbat-ui | 2024-11-18 18:02:52,587 DEBUG [parallel-2] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/logout', method=null} kafbat-ui | 2024-11-18 18:02:52,587 DEBUG [parallel-2] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'null /logout' kafbat-ui | 2024-11-18 18:02:52,587 DEBUG [parallel-2] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/oauth2/', method=null} kafbat-ui | 2024-11-18 18:02:52,588 DEBUG [parallel-2] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'null /oauth2/' kafbat-ui | 2024-11-18 18:02:52,588 DEBUG [parallel-2] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/static/', method=null} kafbat-ui | 2024-11-18 18:02:52,588 DEBUG [parallel-2] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'null /static/' kafbat-ui | 2024-11-18 18:02:52,589 DEBUG [parallel-2] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: No matches found kafbat-ui | 2024-11-18 18:02:52,591 DEBUG [parallel-2] o.s.s.w.s.a.DelegatingReactiveAuthorizationManager: Checking authorization on '/' using *
@. kafbat-ui | 2024-11-18 18:02:52,594 DEBUG [parallel-2] o.s.s.w.s.c.WebSessionServerSecurityContextRepository: No SecurityContext found in WebSession: @.' kafbat-ui | 2024-11-18 18:02:52,596 DEBUG [parallel-2] o.s.s.w.s.a.AuthorizationWebFilter: Authorization failed: Access Denied kafbat-ui | 2024-11-18 18:02:52,617 DEBUG [parallel-2] o.s.s.w.s.c.WebSessionServerSecurityContextRepository: No SecurityContext found in WebSession: @.' kafbat-ui | 2024-11-18 18:02:52,625 DEBUG [parallel-2] o.s.s.w.s.DelegatingServerAuthenticationEntryPoint: Trying to match using @.}, NegatedServerWebExchangeMatcher{matcher=AndServerWebExchangeMatcher{matchers=[OrServerWebExchangeMatcher{matchers=[PathMatcherServerWebExchangeMatcher{pattern='/login', method=null}, PathMatcherServerWebExchangeMatcher{pattern='/favicon.ico', method=null}]}, @.}, MediaTypeRequestMatcher [matchingMediaTypes=[application/xhtml+xml, image/, text/html, text/plain], useEquals=false, ignoredMediaTypes=[/*]]]}]}}]} kafbat-ui | 2024-11-18 18:02:52,639 DEBUG [parallel-2] o.s.s.w.s.u.m.AndServerWebExchangeMatcher: Trying to match using @.} kafbat-ui | 2024-11-18 18:02:52,643 DEBUG [parallel-2] o.s.s.w.s.u.m.NegatedServerWebExchangeMatcher: matches = true kafbat-ui | 2024-11-18 18:02:52,644 DEBUG [parallel-2] o.s.s.w.s.u.m.AndServerWebExchangeMatcher: Trying to match using NegatedServerWebExchangeMatcher{matcher=AndServerWebExchangeMatcher{matchers=[OrServerWebExchangeMatcher{matchers=[PathMatcherServerWebExchangeMatcher{pattern='/login', method=null}, PathMatcherServerWebExchangeMatcher{pattern='/favicon.ico', method=null}]}, @.}, MediaTypeRequestMatcher [matchingMediaTypes=[application/xhtml+xml, image/, text/html, text/plain], useEquals=false, ignoredMediaTypes=[/*]]]}]}} kafbat-ui | 2024-11-18 18:02:52,644 DEBUG [parallel-2] o.s.s.w.s.u.m.AndServerWebExchangeMatcher: Trying to match using OrServerWebExchangeMatcher{matchers=[PathMatcherServerWebExchangeMatcher{pattern='/login', method=null}, PathMatcherServerWebExchangeMatcher{pattern='/favicon.ico', method=null}]} kafbat-ui | 2024-11-18 18:02:52,644 DEBUG [parallel-2] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/login', method=null} kafbat-ui | 2024-11-18 18:02:52,645 DEBUG [parallel-2] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'null /login' kafbat-ui | 2024-11-18 18:02:52,645 DEBUG [parallel-2] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/favicon.ico', method=null} kafbat-ui | 2024-11-18 18:02:52,645 DEBUG [parallel-2] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'null /favicon.ico' kafbat-ui | 2024-11-18 18:02:52,645 DEBUG [parallel-2] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: No matches found kafbat-ui | 2024-11-18 18:02:52,645 DEBUG [parallel-2] o.s.s.w.s.u.m.AndServerWebExchangeMatcher: Did not match kafbat-ui | 2024-11-18 18:02:52,645 DEBUG [parallel-2] o.s.s.w.s.u.m.NegatedServerWebExchangeMatcher: matches = true kafbat-ui | 2024-11-18 18:02:52,651 DEBUG [parallel-2] o.s.s.w.s.u.m.AndServerWebExchangeMatcher: All requestMatchers returned true kafbat-ui | 2024-11-18 18:02:52,651 DEBUG [parallel-2] o.s.s.w.s.DelegatingServerAuthenticationEntryPoint: Match found! Executing @.* kafbat-ui | 2024-11-18 18:02:52,655 DEBUG [parallel-2] o.s.s.w.s.u.m.AndServerWebExchangeMatcher: Trying to match using OrServerWebExchangeMatcher{matchers=[PathMatcherServerWebExchangeMatcher{pattern='/', method=GET}]} kafbat-ui | 2024-11-18 18:02:52,656 DEBUG [parallel-2] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/', method=GET} kafbat-ui | 2024-11-18 18:02:52,658 DEBUG [parallel-2] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Checking match of request : '/'; against '/' kafbat-ui | 2024-11-18 18:02:52,658 DEBUG [parallel-2] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: matched kafbat-ui | 2024-11-18 18:02:52,659 DEBUG [parallel-2] o.s.s.w.s.u.m.AndServerWebExchangeMatcher: Trying to match using NegatedServerWebExchangeMatcher{matcher=OrServerWebExchangeMatcher{matchers=[PathMatcherServerWebExchangeMatcher{pattern='/favicon.', method=null}]}} kafbat-ui | 2024-11-18 18:02:52,660 DEBUG [parallel-2] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/favicon.', method=null} kafbat-ui | 2024-11-18 18:02:52,661 DEBUG [parallel-2] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'null /favicon.' kafbat-ui | 2024-11-18 18:02:52,661 DEBUG [parallel-2] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: No matches found kafbat-ui | 2024-11-18 18:02:52,661 DEBUG [parallel-2] o.s.s.w.s.u.m.NegatedServerWebExchangeMatcher: matches = true kafbat-ui | 2024-11-18 18:02:52,662 DEBUG [parallel-2] o.s.s.w.s.u.m.AndServerWebExchangeMatcher: Trying to match using MediaTypeRequestMatcher [matchingMediaTypes=[text/html], useEquals=false, ignoredMediaTypes=[/]] kafbat-ui | 2024-11-18 18:02:52,666 DEBUG [parallel-2] o.s.s.w.s.u.m.MediaTypeServerWebExchangeMatcher: httpRequestMediaTypes=[text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, application/signed-exchange;v=b3;q=0.7, /;q=0.8] kafbat-ui | 2024-11-18 18:02:52,666 DEBUG [parallel-2] o.s.s.w.s.u.m.MediaTypeServerWebExchangeMatcher: Processing text/html kafbat-ui | 2024-11-18 18:02:52,667 DEBUG [parallel-2] o.s.s.w.s.u.m.MediaTypeServerWebExchangeMatcher: text/html .isCompatibleWith text/html = true kafbat-ui | 2024-11-18 18:02:52,667 DEBUG [parallel-2] o.s.s.w.s.u.m.AndServerWebExchangeMatcher: All requestMatchers returned true kafbat-ui | 2024-11-18 18:02:52,667 DEBUG [parallel-2] o.s.s.w.s.s.WebSessionServerRequestCache: Request added to WebSession: '/' kafbat-ui | 2024-11-18 18:02:52,667 DEBUG [parallel-2] o.s.s.w.s.DefaultServerRedirectStrategy: Redirecting to '/oauth2/authorization/okta' kafbat-ui | 2024-11-18 18:02:52,780 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Checking match of request : '/oauth2/authorization/okta'; against '/oauth2/authorization/{registrationId}' kafbat-ui | 2024-11-18 18:02:52,795 DEBUG [reactor-http-epoll-4] o.s.s.w.s.DefaultServerRedirectStrategy: Redirecting to 'https://ACME.okta.com/oauth2/v1/authorize?response_type=code&client_id=0oaYYYYye2TDYIGy2p7&scope=openid%20profile%20email%20groups&state=ozb2L_vewTzH1hPAzFRjpzuC6LCacrWeuAteLKlaVbM%3D&redirect_uri=http://10.139.12.27:8080/login/oauth2/code/okta&nonce=peH4pIjVVE2JZjhient_yVOutFOC7b7YZ20zcXpwQWU' kafbat-ui | 2024-11-18 18:02:53,108 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /login/oauth2/code/okta' doesn't match 'null /oauth2/authorization/{registrationId}' kafbat-ui | 2024-11-18 18:02:53,108 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Checking match of request : '/login/oauth2/code/okta'; against '/login/oauth2/code/{registrationId}' kafbat-ui | 2024-11-18 18:02:53,981 TRACE [reactor-http-epoll-4] i.k.u.s.r.e.OauthAuthorityExtractor: Extracting OAuth2 user authorities kafbat-ui | 2024-11-18 18:02:53,981 DEBUG [reactor-http-epoll-4] i.k.u.s.r.e.OauthAuthorityExtractor: Principal name is: @*. kafbat-ui | 2024-11-18 18:02:53,982 DEBUG [reactor-http-epoll-4] i.k.u.s.r.e.OauthAuthorityExtractor: Matched roles by username: [] kafbat-ui | 2024-11-18 18:02:53,982 TRACE [reactor-http-epoll-4] i.k.u.s.r.e.OauthAuthorityExtractor: The field is either a set or a list, returning as is kafbat-ui | 2024-11-18 18:02:53,983 DEBUG [reactor-http-epoll-4] i.k.u.s.r.e.OauthAuthorityExtractor: Token's groups: [kafbat-admins] kafbat-ui | 2024-11-18 18:02:53,984 DEBUG [reactor-http-epoll-4] i.k.u.s.r.e.OauthAuthorityExtractor: Matched group roles: [kafbat-admins] kafbat-ui | 2024-11-18 18:02:53,994 DEBUG [reactor-http-epoll-4] o.s.s.w.s.c.WebSessionServerSecurityContextRepository: Saved SecurityContext 'SecurityContextImpl [Authentication=OAuth2AuthenticationToken [Principal=RbacOidcUser[user=Name: @., Granted Authorities: [[OIDC_USER, SCOPE_email, SCOPE_groups, SCOPE_openid, SCOPE_profile]], User Attributes: [{at_hash=-tj850Q-hKiZRm3znqFllg, sub=00ue1yoqgcraBilFs2p7, zoneinfo=America/Los_Angeles, ver=1, email_verified=true, amr=[swk, mfa, pwd], iss=https://ACME.okta.com, groups=[kafbat-admins], @., locale=US, given_name=Ivan, nonce=peH4pIjVVE2JZjhient_yVOutFOC7b7YZ20zcXpwQWU, aud=[0oaYYYYye2TDYIGy2p7], updated_at=2024-10-17T20:10:20Z, idp=0oa1s5gfqhqJxMeuV2p6, auth_time=2024-11-18T17:37:38Z, name=Ivan Bishop, exp=2024-11-18T19:02:53Z, family_name=Bishop, iat=2024-11-18T18:02:53Z, @., jti=ID.MyeSnjUgTjE1IU82Dq4_QvFWzy_iEeXvK--naJoMZxQ}], groups=[kafbat-admins]], Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[OIDC_USER, SCOPE_email, SCOPE_groups, SCOPE_openid, SCOPE_profile]]]' in WebSession: @.' kafbat-ui | 2024-11-18 18:02:53,997 DEBUG [parallel-3] o.s.s.w.s.DefaultServerRedirectStrategy: Redirecting to '/' kafbat-ui | 2024-11-18 18:02:54,063 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'null /oauth2/authorization/{registrationId}' kafbat-ui | 2024-11-18 18:02:54,064 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'null /login/oauth2/code/{registrationId}' kafbat-ui | 2024-11-18 18:02:54,065 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/login', method=GET} kafbat-ui | 2024-11-18 18:02:54,065 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'GET /login' kafbat-ui | 2024-11-18 18:02:54,065 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: No matches found kafbat-ui | 2024-11-18 18:02:54,066 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/logout', method=GET} kafbat-ui | 2024-11-18 18:02:54,066 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'GET /logout' kafbat-ui | 2024-11-18 18:02:54,066 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: No matches found kafbat-ui | 2024-11-18 18:02:54,067 DEBUG [reactor-http-epoll-4] o.s.s.w.s.s.WebSessionServerRequestCache: Request removed from WebSession: '/' kafbat-ui | 2024-11-18 18:02:54,069 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/logout', method=POST} kafbat-ui | 2024-11-18 18:02:54,069 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'POST /logout' kafbat-ui | 2024-11-18 18:02:54,069 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: No matches found kafbat-ui | 2024-11-18 18:02:54,070 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/css/', method=null} kafbat-ui | 2024-11-18 18:02:54,070 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'null /css/' kafbat-ui | 2024-11-18 18:02:54,072 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/js/', method=null} kafbat-ui | 2024-11-18 18:02:54,073 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'null /js/' kafbat-ui | 2024-11-18 18:02:54,074 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/media/', method=null} kafbat-ui | 2024-11-18 18:02:54,074 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'null /media/' kafbat-ui | 2024-11-18 18:02:54,075 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/resources/', method=null} kafbat-ui | 2024-11-18 18:02:54,075 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'null /resources/' kafbat-ui | 2024-11-18 18:02:54,075 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/actuator/health/', method=null} kafbat-ui | 2024-11-18 18:02:54,075 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'null /actuator/health/' kafbat-ui | 2024-11-18 18:02:54,075 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/actuator/info', method=null} kafbat-ui | 2024-11-18 18:02:54,075 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'null /actuator/info' kafbat-ui | 2024-11-18 18:02:54,075 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/actuator/prometheus', method=null} kafbat-ui | 2024-11-18 18:02:54,076 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'null /actuator/prometheus' kafbat-ui | 2024-11-18 18:02:54,076 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/auth', method=null} kafbat-ui | 2024-11-18 18:02:54,076 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'null /auth' kafbat-ui | 2024-11-18 18:02:54,076 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/login', method=null} kafbat-ui | 2024-11-18 18:02:54,076 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'null /login' kafbat-ui | 2024-11-18 18:02:54,077 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/logout', method=null} kafbat-ui | 2024-11-18 18:02:54,077 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'null /logout' kafbat-ui | 2024-11-18 18:02:54,077 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/oauth2/', method=null} kafbat-ui | 2024-11-18 18:02:54,077 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'null /oauth2/' kafbat-ui | 2024-11-18 18:02:54,077 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/static/', method=null} kafbat-ui | 2024-11-18 18:02:54,078 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /' doesn't match 'null /static/' kafbat-ui | 2024-11-18 18:02:54,078 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: No matches found kafbat-ui | 2024-11-18 18:02:54,078 DEBUG [reactor-http-epoll-4] o.s.s.w.s.a.DelegatingReactiveAuthorizationManager: Checking authorization on '/' using @. kafbat-ui | 2024-11-18 18:02:54,078 DEBUG [reactor-http-epoll-4] o.s.s.w.s.c.WebSessionServerSecurityContextRepository: Found SecurityContext 'SecurityContextImpl [Authentication=OAuth2AuthenticationToken [Principal=RbacOidcUser[user=Name: @., Granted Authorities: [[OIDC_USER, SCOPE_email, SCOPE_groups, SCOPE_openid, SCOPE_profile]], User Attributes: [{at_hash=-tj850Q-hKiZRm3znqFllg, sub=00ue1yoqgcraBilFs2p7, zoneinfo=America/Los_Angeles, ver=1, email_verified=true, amr=[swk, mfa, pwd], iss=https://ACME.okta.com, groups=[kafbat-admins], @., locale=US, given_name=Ivan, nonce=peH4pIjVVE2JZjhient_yVOutFOC7b7YZ20zcXpwQWU, aud=[0oaYYYYye2TDYIGy2p7], updated_at=2024-10-17T20:10:20Z, idp=0oa1s5gfqhqJxMeuV2p6, auth_time=2024-11-18T17:37:38Z, name=Ivan Bishop, exp=2024-11-18T19:02:53Z, family_name=Bishop, iat=2024-11-18T18:02:53Z, @., jti=ID.MyeSnjUgTjE1IU82Dq4_QvFWzy_iEeXvK--naJoMZxQ}], groups=[kafbat-admins]], Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[OIDC_USER, SCOPE_email, SCOPE_groups, SCOPE_openid, SCOPE_profile]]]' in WebSession: @.' kafbat-ui | 2024-11-18 18:02:54,079 DEBUG [reactor-http-epoll-4] o.s.s.w.s.a.AuthorizationWebFilter: Authorization successful kafbat-ui | 2024-11-18 18:02:54,277 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-Czorou3v.js' doesn't match 'null /oauth2/authorization/{registrationId}' kafbat-ui | 2024-11-18 18:02:54,277 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-Czorou3v.js' doesn't match 'null /login/oauth2/code/{registrationId}' kafbat-ui | 2024-11-18 18:02:54,278 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/login', method=GET} kafbat-ui | 2024-11-18 18:02:54,278 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-Czorou3v.js' doesn't match 'GET /login' kafbat-ui | 2024-11-18 18:02:54,279 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: No matches found kafbat-ui | 2024-11-18 18:02:54,279 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/logout', method=GET} kafbat-ui | 2024-11-18 18:02:54,280 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-Czorou3v.js' doesn't match 'GET /logout' kafbat-ui | 2024-11-18 18:02:54,280 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: No matches found kafbat-ui | 2024-11-18 18:02:54,280 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/logout', method=POST} kafbat-ui | 2024-11-18 18:02:54,281 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-Czorou3v.js' doesn't match 'POST /logout' kafbat-ui | 2024-11-18 18:02:54,283 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: No matches found kafbat-ui | 2024-11-18 18:02:54,283 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/css/', method=null} kafbat-ui | 2024-11-18 18:02:54,283 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-Czorou3v.js' doesn't match 'null /css/' kafbat-ui | 2024-11-18 18:02:54,284 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/js/', method=null} kafbat-ui | 2024-11-18 18:02:54,284 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-Czorou3v.js' doesn't match 'null /js/' kafbat-ui | 2024-11-18 18:02:54,284 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/media/', method=null} kafbat-ui | 2024-11-18 18:02:54,285 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-Czorou3v.js' doesn't match 'null /media/' kafbat-ui | 2024-11-18 18:02:54,285 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/resources/', method=null} kafbat-ui | 2024-11-18 18:02:54,285 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-Czorou3v.js' doesn't match 'null /resources/' kafbat-ui | 2024-11-18 18:02:54,286 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/actuator/health/', method=null} kafbat-ui | 2024-11-18 18:02:54,286 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-Czorou3v.js' doesn't match 'null /actuator/health/' kafbat-ui | 2024-11-18 18:02:54,286 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/actuator/info', method=null} kafbat-ui | 2024-11-18 18:02:54,286 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-Czorou3v.js' doesn't match 'null /actuator/info' kafbat-ui | 2024-11-18 18:02:54,286 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/actuator/prometheus', method=null} kafbat-ui | 2024-11-18 18:02:54,286 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-Czorou3v.js' doesn't match 'null /actuator/prometheus' kafbat-ui | 2024-11-18 18:02:54,286 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/auth', method=null} kafbat-ui | 2024-11-18 18:02:54,287 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-Czorou3v.js' doesn't match 'null /auth' kafbat-ui | 2024-11-18 18:02:54,287 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/login', method=null} kafbat-ui | 2024-11-18 18:02:54,288 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-Czorou3v.js' doesn't match 'null /login' kafbat-ui | 2024-11-18 18:02:54,288 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/logout', method=null} kafbat-ui | 2024-11-18 18:02:54,288 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-Czorou3v.js' doesn't match 'null /logout' kafbat-ui | 2024-11-18 18:02:54,289 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/oauth2/', method=null} kafbat-ui | 2024-11-18 18:02:54,289 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-Czorou3v.js' doesn't match 'null /oauth2/' kafbat-ui | 2024-11-18 18:02:54,289 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/static/', method=null} kafbat-ui | 2024-11-18 18:02:54,290 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-Czorou3v.js' doesn't match 'null /static/' kafbat-ui | 2024-11-18 18:02:54,290 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: No matches found kafbat-ui | 2024-11-18 18:02:54,290 DEBUG [reactor-http-epoll-4] o.s.s.w.s.a.DelegatingReactiveAuthorizationManager: Checking authorization on '/assets/index-Czorou3v.js' using @. kafbat-ui | 2024-11-18 18:02:54,291 DEBUG [reactor-http-epoll-4] o.s.s.w.s.c.WebSessionServerSecurityContextRepository: Found SecurityContext 'SecurityContextImpl [Authentication=OAuth2AuthenticationToken [Principal=RbacOidcUser[user=Name: @., Granted Authorities: [[OIDC_USER, SCOPE_email, SCOPE_groups, SCOPE_openid, SCOPE_profile]], User Attributes: [{at_hash=-tj850Q-hKiZRm3znqFllg, sub=00ue1yoqgcraBilFs2p7, zoneinfo=America/Los_Angeles, ver=1, email_verified=true, amr=[swk, mfa, pwd], iss=https://ACME.okta.com, groups=[kafbat-admins], @., locale=US, given_name=Ivan, nonce=peH4pIjVVE2JZjhient_yVOutFOC7b7YZ20zcXpwQWU, aud=[0oaYYYYye2TDYIGy2p7], updated_at=2024-10-17T20:10:20Z, idp=0oa1s5gfqhqJxMeuV2p6, auth_time=2024-11-18T17:37:38Z, name=Ivan Bishop, exp=2024-11-18T19:02:53Z, family_name=Bishop, iat=2024-11-18T18:02:53Z, @., jti=ID.MyeSnjUgTjE1IU82Dq4_QvFWzy_iEeXvK--naJoMZxQ}], groups=[kafbat-admins]], Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[OIDC_USER, SCOPE_email, SCOPE_groups, SCOPE_openid, SCOPE_profile]]]' in WebSession: @.' kafbat-ui | 2024-11-18 18:02:54,292 DEBUG [reactor-http-epoll-4] o.s.s.w.s.a.AuthorizationWebFilter: Authorization successful kafbat-ui | 2024-11-18 18:02:54,340 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET @.' doesn't match 'null /oauth2/authorization/{registrationId}' kafbat-ui | 2024-11-18 18:02:54,340 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET @.' doesn't match 'null /login/oauth2/code/{registrationId}' kafbat-ui | 2024-11-18 18:02:54,340 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/login', method=GET} kafbat-ui | 2024-11-18 18:02:54,340 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET @.' doesn't match 'GET /login' kafbat-ui | 2024-11-18 18:02:54,341 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: No matches found kafbat-ui | 2024-11-18 18:02:54,341 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/logout', method=GET} kafbat-ui | 2024-11-18 18:02:54,341 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET @.' doesn't match 'GET /logout' kafbat-ui | 2024-11-18 18:02:54,341 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: No matches found kafbat-ui | 2024-11-18 18:02:54,341 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/logout', method=POST} kafbat-ui | 2024-11-18 18:02:54,342 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET @.' doesn't match 'POST /logout' kafbat-ui | 2024-11-18 18:02:54,342 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: No matches found kafbat-ui | 2024-11-18 18:02:54,342 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/css/', method=null} kafbat-ui | 2024-11-18 18:02:54,342 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET **@.' doesn't match 'null /css/' kafbat-ui | 2024-11-18 18:02:54,342 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/js/', method=null} kafbat-ui | 2024-11-18 18:02:54,342 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET @.' doesn't match 'null /js/' kafbat-ui | 2024-11-18 18:02:54,342 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/media/', method=null} kafbat-ui | 2024-11-18 18:02:54,342 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET @.' doesn't match 'null /media/' kafbat-ui | 2024-11-18 18:02:54,342 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/resources/', method=null} kafbat-ui | 2024-11-18 18:02:54,342 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET @.' doesn't match 'null /resources/' kafbat-ui | 2024-11-18 18:02:54,342 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/actuator/health/', method=null} kafbat-ui | 2024-11-18 18:02:54,342 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET @.*' doesn't match 'null /actuator/health/*' kafbat-ui | 2024-11-18 18:02:54,342 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/actuator/info', method=null} kafbat-ui | 2024-11-18 18:02:54,342 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET @.' doesn't match 'null /actuator/info' kafbat-ui | 2024-11-18 18:02:54,343 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/actuator/prometheus', method=null} kafbat-ui | 2024-11-18 18:02:54,343 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET @.' doesn't match 'null /actuator/prometheus' kafbat-ui | 2024-11-18 18:02:54,343 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/auth', method=null} kafbat-ui | 2024-11-18 18:02:54,343 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET @.' doesn't match 'null /auth' kafbat-ui | 2024-11-18 18:02:54,343 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/login', method=null} kafbat-ui | 2024-11-18 18:02:54,343 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET @.' doesn't match 'null /login' kafbat-ui | 2024-11-18 18:02:54,343 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/logout', method=null} kafbat-ui | 2024-11-18 18:02:54,343 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET @.' doesn't match 'null /logout' kafbat-ui | 2024-11-18 18:02:54,343 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/oauth2/', method=null} kafbat-ui | 2024-11-18 18:02:54,343 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET **@.' doesn't match 'null /oauth2/' kafbat-ui | 2024-11-18 18:02:54,343 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/static/', method=null} kafbat-ui | 2024-11-18 18:02:54,343 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET @.' doesn't match 'null /static/' kafbat-ui | 2024-11-18 18:02:54,343 DEBUG [reactor-http-epoll-6] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: No matches found kafbat-ui | 2024-11-18 18:02:54,343 DEBUG [reactor-http-epoll-6] o.s.s.w.s.a.DelegatingReactiveAuthorizationManager: Checking authorization on **@.' using @. kafbat-ui | 2024-11-18 18:02:54,343 DEBUG [reactor-http-epoll-6] o.s.s.w.s.c.WebSessionServerSecurityContextRepository: Found SecurityContext 'SecurityContextImpl [Authentication=OAuth2AuthenticationToken [Principal=RbacOidcUser[user=Name: @., Granted Authorities: [[OIDC_USER, SCOPE_email, SCOPE_groups, SCOPE_openid, SCOPE_profile]], User Attributes: [{at_hash=-tj850Q-hKiZRm3znqFllg, sub=00ue1yoqgcraBilFs2p7, zoneinfo=America/Los_Angeles, ver=1, email_verified=true, amr=[swk, mfa, pwd], iss=https://ACME.okta.com, groups=[kafbat-admins], @., locale=US, given_name=Ivan, nonce=peH4pIjVVE2JZjhient_yVOutFOC7b7YZ20zcXpwQWU, aud=[0oaYYYYye2TDYIGy2p7], updated_at=2024-10-17T20:10:20Z, idp=0oa1s5gfqhqJxMeuV2p6, auth_time=2024-11-18T17:37:38Z, name=Ivan Bishop, exp=2024-11-18T19:02:53Z, family_name=Bishop, iat=2024-11-18T18:02:53Z, @., jti=ID.MyeSnjUgTjE1IU82Dq4_QvFWzy_iEeXvK--naJoMZxQ}], groups=[kafbat-admins]], Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[OIDC_USER, SCOPE_email, SCOPE_groups, SCOPE_openid, SCOPE_profile]]]' in WebSession: @.' kafbat-ui | 2024-11-18 18:02:54,344 DEBUG [reactor-http-epoll-6] o.s.s.w.s.a.AuthorizationWebFilter: Authorization successful kafbat-ui | 2024-11-18 18:02:54,346 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-DLMqazo1.css' doesn't match 'null /oauth2/authorization/{registrationId}' kafbat-ui | 2024-11-18 18:02:54,347 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-DLMqazo1.css' doesn't match 'null /login/oauth2/code/{registrationId}' kafbat-ui | 2024-11-18 18:02:54,347 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/login', method=GET} kafbat-ui | 2024-11-18 18:02:54,347 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-DLMqazo1.css' doesn't match 'GET /login' kafbat-ui | 2024-11-18 18:02:54,347 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: No matches found kafbat-ui | 2024-11-18 18:02:54,347 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/logout', method=GET} kafbat-ui | 2024-11-18 18:02:54,347 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-DLMqazo1.css' doesn't match 'GET /logout' kafbat-ui | 2024-11-18 18:02:54,347 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: No matches found kafbat-ui | 2024-11-18 18:02:54,348 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/logout', method=POST} kafbat-ui | 2024-11-18 18:02:54,348 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-DLMqazo1.css' doesn't match 'POST /logout' kafbat-ui | 2024-11-18 18:02:54,348 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: No matches found kafbat-ui | 2024-11-18 18:02:54,348 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/css/', method=null} kafbat-ui | 2024-11-18 18:02:54,348 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-DLMqazo1.css' doesn't match 'null /css/' kafbat-ui | 2024-11-18 18:02:54,348 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/js/', method=null} kafbat-ui | 2024-11-18 18:02:54,348 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-DLMqazo1.css' doesn't match 'null /js/' kafbat-ui | 2024-11-18 18:02:54,348 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/media/', method=null} kafbat-ui | 2024-11-18 18:02:54,348 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-DLMqazo1.css' doesn't match 'null /media/' kafbat-ui | 2024-11-18 18:02:54,349 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/resources/', method=null} kafbat-ui | 2024-11-18 18:02:54,349 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-DLMqazo1.css' doesn't match 'null /resources/' kafbat-ui | 2024-11-18 18:02:54,349 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/actuator/health/', method=null} kafbat-ui | 2024-11-18 18:02:54,349 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-DLMqazo1.css' doesn't match 'null /actuator/health/' kafbat-ui | 2024-11-18 18:02:54,349 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/actuator/info', method=null} kafbat-ui | 2024-11-18 18:02:54,349 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-DLMqazo1.css' doesn't match 'null /actuator/info' kafbat-ui | 2024-11-18 18:02:54,349 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/actuator/prometheus', method=null} kafbat-ui | 2024-11-18 18:02:54,349 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-DLMqazo1.css' doesn't match 'null /actuator/prometheus' kafbat-ui | 2024-11-18 18:02:54,349 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/auth', method=null} kafbat-ui | 2024-11-18 18:02:54,349 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-DLMqazo1.css' doesn't match 'null /auth' kafbat-ui | 2024-11-18 18:02:54,349 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/login', method=null} kafbat-ui | 2024-11-18 18:02:54,349 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-DLMqazo1.css' doesn't match 'null /login' kafbat-ui | 2024-11-18 18:02:54,350 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/logout', method=null} kafbat-ui | 2024-11-18 18:02:54,350 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-DLMqazo1.css' doesn't match 'null /logout' kafbat-ui | 2024-11-18 18:02:54,350 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/oauth2/', method=null} kafbat-ui | 2024-11-18 18:02:54,350 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-DLMqazo1.css' doesn't match 'null /oauth2/' kafbat-ui | 2024-11-18 18:02:54,350 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/static/', method=null} kafbat-ui | 2024-11-18 18:02:54,350 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /assets/index-DLMqazo1.css' doesn't match 'null /static/' kafbat-ui | 2024-11-18 18:02:54,350 DEBUG [reactor-http-epoll-5] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: No matches found kafbat-ui | 2024-11-18 18:02:54,350 DEBUG [reactor-http-epoll-5] o.s.s.w.s.a.DelegatingReactiveAuthorizationManager: Checking authorization on '/assets/index-DLMqazo1.css' using @. kafbat-ui | 2024-11-18 18:02:54,350 DEBUG [reactor-http-epoll-5] o.s.s.w.s.c.WebSessionServerSecurityContextRepository: Found SecurityContext 'SecurityContextImpl [Authentication=OAuth2AuthenticationToken [Principal=RbacOidcUser[user=Name: @., Granted Authorities: [[OIDC_USER, SCOPE_email, SCOPE_groups, SCOPE_openid, SCOPE_profile]], User Attributes: [{at_hash=-tj850Q-hKiZRm3znqFllg, sub=00ue1yoqgcraBilFs2p7, zoneinfo=America/Los_Angeles, ver=1, email_verified=true, amr=[swk, mfa, pwd], iss=https://ACME.okta.com, groups=[kafbat-admins], @., locale=US, given_name=Ivan, nonce=peH4pIjVVE2JZjhient_yVOutFOC7b7YZ20zcXpwQWU, aud=[0oaYYYYye2TDYIGy2p7], updated_at=2024-10-17T20:10:20Z, idp=0oa1s5gfqhqJxMeuV2p6, auth_time=2024-11-18T17:37:38Z, name=Ivan Bishop, exp=2024-11-18T19:02:53Z, family_name=Bishop, iat=2024-11-18T18:02:53Z, @., jti=ID.MyeSnjUgTjE1IU82Dq4_QvFWzy_iEeXvK--naJoMZxQ}], groups=[kafbat-admins]], Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[OIDC_USER, SCOPE_email, SCOPE_groups, SCOPE_openid, SCOPE_profile]]]' in WebSession: @.' kafbat-ui | 2024-11-18 18:02:54,351 DEBUG [reactor-http-epoll-5] o.s.s.w.s.a.AuthorizationWebFilter: Authorization successful kafbat-ui | 2024-11-18 18:02:54,885 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /api/info' doesn't match 'null /oauth2/authorization/{registrationId}' kafbat-ui | 2024-11-18 18:02:54,886 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /api/info' doesn't match 'null /login/oauth2/code/{registrationId}' kafbat-ui | 2024-11-18 18:02:54,886 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/login', method=GET} kafbat-ui | 2024-11-18 18:02:54,886 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /api/info' doesn't match 'GET /login' kafbat-ui | 2024-11-18 18:02:54,886 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: No matches found kafbat-ui | 2024-11-18 18:02:54,886 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/logout', method=GET} kafbat-ui | 2024-11-18 18:02:54,886 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /api/info' doesn't match 'GET /logout' kafbat-ui | 2024-11-18 18:02:54,886 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: No matches found kafbat-ui | 2024-11-18 18:02:54,887 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/logout', method=POST} kafbat-ui | 2024-11-18 18:02:54,887 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /api/info' doesn't match 'POST /logout' kafbat-ui | 2024-11-18 18:02:54,887 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: No matches found kafbat-ui | 2024-11-18 18:02:54,889 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/css/', method=null} kafbat-ui | 2024-11-18 18:02:54,889 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /api/info' doesn't match 'null /css/' kafbat-ui | 2024-11-18 18:02:54,890 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/js/', method=null} kafbat-ui | 2024-11-18 18:02:54,890 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /api/info' doesn't match 'null /js/' kafbat-ui | 2024-11-18 18:02:54,890 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/media/', method=null} kafbat-ui | 2024-11-18 18:02:54,890 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /api/info' doesn't match 'null /media/' kafbat-ui | 2024-11-18 18:02:54,890 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/resources/', method=null} kafbat-ui | 2024-11-18 18:02:54,890 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /api/info' doesn't match 'null /resources/' kafbat-ui | 2024-11-18 18:02:54,890 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/actuator/health/', method=null} kafbat-ui | 2024-11-18 18:02:54,890 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /api/info' doesn't match 'null /actuator/health/' kafbat-ui | 2024-11-18 18:02:54,890 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/actuator/info', method=null} kafbat-ui | 2024-11-18 18:02:54,890 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /api/info' doesn't match 'null /actuator/info' kafbat-ui | 2024-11-18 18:02:54,891 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/actuator/prometheus', method=null} kafbat-ui | 2024-11-18 18:02:54,891 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /api/info' doesn't match 'null /actuator/prometheus' kafbat-ui | 2024-11-18 18:02:54,891 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/auth', method=null} kafbat-ui | 2024-11-18 18:02:54,891 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /api/info' doesn't match 'null /auth' kafbat-ui | 2024-11-18 18:02:54,891 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/login', method=null} kafbat-ui | 2024-11-18 18:02:54,891 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /api/info' doesn't match 'null /login' kafbat-ui | 2024-11-18 18:02:54,891 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/logout', method=null} kafbat-ui | 2024-11-18 18:02:54,891 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /api/info' doesn't match 'null /logout' kafbat-ui | 2024-11-18 18:02:54,891 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/oauth2/', method=null} kafbat-ui | 2024-11-18 18:02:54,891 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /api/info' doesn't match 'null /oauth2/' kafbat-ui | 2024-11-18 18:02:54,891 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/static/', method=null} kafbat-ui | 2024-11-18 18:02:54,891 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /api/info' doesn't match 'null /static/' kafbat-ui | 2024-11-18 18:02:54,891 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: No matches found kafbat-ui | 2024-11-18 18:02:54,892 DEBUG [reactor-http-epoll-4] o.s.s.w.s.a.DelegatingReactiveAuthorizationManager: Checking authorization on '/api/info' using @. kafbat-ui | 2024-11-18 18:02:54,892 DEBUG [reactor-http-epoll-4] o.s.s.w.s.c.WebSessionServerSecurityContextRepository: Found SecurityContext 'SecurityContextImpl [Authentication=OAuth2AuthenticationToken [Principal=RbacOidcUser[user=Name: @., Granted Authorities: [[OIDC_USER, SCOPE_email, SCOPE_groups, SCOPE_openid, SCOPE_profile]], User Attributes: [{at_hash=-tj850Q-hKiZRm3znqFllg, sub=00ue1yoqgcraBilFs2p7, zoneinfo=America/Los_Angeles, ver=1, email_verified=true, amr=[swk, mfa, pwd], iss=https://ACME.okta.com, groups=[kafbat-admins], @., locale=US, given_name=Ivan, nonce=peH4pIjVVE2JZjhient_yVOutFOC7b7YZ20zcXpwQWU, aud=[0oaYYYYye2TDYIGy2p7], updated_at=2024-10-17T20:10:20Z, idp=0oa1s5gfqhqJxMeuV2p6, auth_time=2024-11-18T17:37:38Z, name=Ivan Bishop, exp=2024-11-18T19:02:53Z, family_name=Bishop, iat=2024-11-18T18:02:53Z, @., jti=ID.MyeSnjUgTjE1IU82Dq4_QvFWzy_iEeXvK--naJoMZxQ}], groups=[kafbat-admins]], Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[OIDC_USER, SCOPE_email, SCOPE_groups, SCOPE_openid, SCOPE_profile]]]' in WebSession: @.' kafbat-ui | 2024-11-18 18:02:54,892 DEBUG [reactor-http-epoll-4] o.s.s.w.s.a.AuthorizationWebFilter: Authorization successful kafbat-ui | 2024-11-18 18:02:55,076 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /api/authorization' doesn't match 'null /oauth2/authorization/{registrationId}' kafbat-ui | 2024-11-18 18:02:55,077 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatcher: Request 'GET /api/authorization' doesn't match 'null /login/oauth2/code/{registrationId}' kafbat-ui | 2024-11-18 18:02:55,077 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.OrServerWebExchangeMatcher: Trying to match using PathMatcherServerWebExchangeMatcher{pattern='/login', method=GET} kafbat-ui | 2024-11-18 18:02:55,077 DEBUG [reactor-http-epoll-4] o.s.s.w.s.u.m.PathPatternParserServerWebExchangeMatch

kothapet commented 3 days ago

I looked at your config and compared to mine, and pretty much same except I dont have jwk-set-uri in okta config I have given permissions to consumer as you will to browse the topics. I have additional glue serde, and audit settings but those are optional.

Which servers are you getting 500 errors from? from kafkaui or okta? it seems from the logs authentication is working and its sending the group kafbat-admins back.

ivanbishop commented 3 days ago

Hi, thanks for taking time again.

I am pretty confident that okta is working as expected. Why?

If I alter my group from kafbat-ro to kafbat-admins I see AUTH working as [ @.,COM | @. ] AND the kafbat UI is FULLY RO when I'm in that RBAC group and it DOES open to edit when I'm in kafbat-admins RBAC group.

When in Admin I can create/modify topics, message production etc. but "validate" fails on 500.

See time stamp 2024-11-18 18:03:49 in attached log below Thanks Ivan

===================================================================================================================

afbat-ui | 2024-11-18 18:03:49,316 DEBUG [reactor-http-epoll-1] o.s.s.w.s.c.WebSessionServerSecurityContextRepository: Found SecurityContext 'SecurityContextImpl [Authentication=OAuth2AuthenticationToken [Principal=RbacOidcUser[user=Name: @., Granted Authorities: [[OIDC_USER, SCOPE_email, SCOPE_groups, SCOPE_openid, SCOPE_profile]], User Attributes: [{at_hash=-tj850Q-hKiZRm3znqFllg, sub=00ue1yoqgcraBilFs2p7, zoneinfo=America/Los_Angeles, ver=1, email_verified=true, amr=[swk, mfa, pwd], iss=https://ACME.okta.com, groups=[kafbat-admins], @., locale=US, given_name=Ivan, nonce=peH4pIjVVE2JZjhient_yVOutFOC7b7YZ20zcXpwQWU, aud=[0oaYYYYye2TDYIGy2p7], updated_at=2024-10-17T20:10:20Z, idp=0oa1s5gfqhqJxMeuV2p6, auth_time=2024-11-18T17:37:38Z, name=Ivan Bishop, exp=2024-11-18T19:02:53Z, family_name=Bishop, iat=2024-11-18T18:02:53Z, @., jti=ID.MyeSnjUgTjE1IU82Dq4_QvFWzy_iEeXvK--naJoMZxQ}], groups=[kafbat-admins]], Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[OIDC_USER, SCOPE_email, SCOPE_groups, SCOPE_openid, SCOPE_profile]]]' in WebSession: @.'

kafbat-ui | 2024-11-18 18:03:49,316 DEBUG [reactor-http-epoll-1] o.s.s.w.s.a.AuthorizationWebFilter: Authorization successful

kafb at-ui | 2024-11-18 18:03:49,501 DEBUG [reactor-http-epoll-1] o.s.s.w.s.c.WebSessionServerSecurityContextRepository: Found SecurityContext 'SecurityContextImpl [Authentication=OAuth2AuthenticationToken [Principal=RbacOidcUser[user=Name: @., Granted Authorities: [[OIDC_USER, SCOPE_email, SCOPE_groups, SCOPE_openid, SCOPE_profile]], User Attributes: [{at_hash=-tj850Q-hKiZRm3znqFllg, sub=00ue1yoqgcraBilFs2p7, zoneinfo=America/Los_Angeles, ver=1, email_verified=true, amr=[swk, mfa, pwd], iss=https://ACME.okta.com, groups=[kafbat-admins], @., locale=US, given_name=Ivan, nonce=peH4pIjVVE2JZjhient_yVOutFOC7b7YZ20zcXpwQWU, aud=[0oaYYYYye2TDYIGy2p7], updated_at=2024-10-17T20:10:20Z, idp=0oa1s5gfqhqJxMeuV2p6, auth_time=2024-11-18T17:37:38Z, name=Ivan Bishop, exp=2024-11-18T19:02:53Z, family_name=Bishop, iat=2024-11-18T18:02:53Z, @., jti=ID.MyeSnjUgTjE1IU82Dq4_QvFWzy_iEeXvK--naJoMZxQ}], groups=[kafbat-admins]], Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[OIDC_USER, SCOPE_email, SCOPE_groups, SCOPE_openid, SCOPE_profile]]]' in WebSession: @.'

kafbat-ui | 2024-11-18 18:03:49,531 ERROR [reactor-http-epoll- 1] o.s.b.a.w.r.e.AbstractErrorWebExceptionHandler: [f1b1da3b-30] 500 Server Error for HTTP PUT "/api/config/validated"

kafbat-ui | java.lang.NullPointerException: null kafbat-ui | at java.base/java.util.Objects.requireNonNull(Objects.java:209) kafbat-ui | Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: kafbat-ui | Error has been observed at the following site(s): kafbat-ui | __checkpoint ⇢ Handler io.kafbat.ui.controller.ApplicationConfigController#validateConfig(Mono, ServerWebExchange) [DispatcherHandler] kafbat-ui | checkpoint ⇢ io.kafbat.ui.config.CorsGlobalConfiguration$$Lambda$1211/0x00007fd46a7193b8 [DefaultWebFilterChain] kafbat-ui | *checkpoint ⇢ io.kafbat.ui.config.ReadOnlyModeFilter [DefaultWebFilterChain] kafbat-ui | __checkpoint ⇢ io.kafbat.ui.config.CustomWebFilter [DefaultWebFilterChain] kafbat-ui | checkpoint ⇢ AuthorizationWebFilter [DefaultWebFilterChain] kafbat-ui | *checkpoint ⇢ ExceptionTranslationWebFilter [DefaultWebFilterChain] kafbat-ui | __checkpoint ⇢ LogoutWebFilter [DefaultWebFilterChain] kafbat-ui | checkpoint ⇢ ServerRequestCacheWebFilter [DefaultWebFilterChain] kafbat-ui | *checkpoint ⇢ SecurityContextServerWebExchangeWebFilter [DefaultWebFilterChain] kafbat-ui | __checkpoint ⇢ LogoutPageGeneratingWebFilter [DefaultWebFilterChain] kafbat-ui | checkpoint ⇢ LoginPageGeneratingWebFilter [DefaultWebFilterChain] kafbat-ui | *checkpoint ⇢ OAuth2LoginAuthenticationWebFilter [DefaultWebFilterChain] kafbat-ui | __checkpoint ⇢ OAuth2AuthorizationRequestRedirectWebFilter [DefaultWebFilterChain] kafbat-ui | checkpoint ⇢ ReactorContextWebFilter [DefaultWebFilterChain] kafbat-ui | *checkpoint ⇢ HttpHeaderWriterWebFilter [DefaultWebFilterChain] kafbat-ui | __checkpoint ⇢ ServerWebExchangeReactorContextWebFilter [DefaultWebFilterChain] kafbat-ui | checkpoint ⇢ org.springframework.security.web.server.WebFilterChainProxy [DefaultWebFilterChain] kafbat-ui | *checkpoint ⇢ HTTP PUT "/api/config/validated" [ExceptionHandlingWebHandler] kafbat-ui | Original Stack Trace: kafbat-ui | at java.base/java.util.Objects.requireNonNull(Objects.java:209) kafbat-ui | at io.kafbat.ui.service.rbac.AccessControlService.lambda$getUserPermissions$4(AccessControlService.java:120) kafbat-ui | at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178) kafbat-ui | at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) kafbat-ui | at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) kafbat-ui | at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) kafbat-ui | at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) kafbat-ui | at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575) kafbat-ui | at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260) kafbat-ui | at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616) kafbat-ui | at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622) kafbat-ui | at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627) kafbat-ui | at io.kafbat.ui.service.rbac.AccessControlService.getUserPermissions(AccessControlService.java:122) kafbat-ui | at io.kafbat.ui.service.rbac.AccessControlService.isAccessible(AccessControlService.java:113) kafbat-ui | at io.kafbat.ui.service.rbac.AccessControlService.lambda$isAccessible$3(AccessControlService.java:106) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:113) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129) kafbat-ui | at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onNext(FluxFilterFuseable.java:118) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.onNext(FluxMapFuseable.java:299) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:245) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:305) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:158) kafbat-ui | at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1865) kafbat-ui | at reactor.core.publisher.MonoCacheTime.subscribeOrReturn(MonoCacheTime.java:151) kafbat-ui | at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:63) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) kafbat-ui | at reactor.core.publisher.FluxFilter$FilterSubscriber.onNext(FluxFilter.java:113) kafbat-ui | at reactor.core.publisher.FluxMap$MapConditionalSubscriber.onNext(FluxMap.java:224) kafbat-ui | at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2571) kafbat-ui | at reactor.core.publisher.FluxMap$MapConditionalSubscriber.request(FluxMap.java:295) kafbat-ui | at reactor.core.publisher.FluxFilter$FilterSubscriber.request(FluxFilter.java:186) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.request(MonoFlatMap.java:194) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.request(FluxMapFuseable.java:360) kafbat-ui | at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.request(MonoFlatMap.java:194) kafbat-ui | at reactor.core.publisher.MonoIgnoreElements$IgnoreElementsSubscriber.onSubscribe(MonoIgnoreElements.java:72) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.onSubscribe(MonoFlatMap.java:117) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:96) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:96) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:96) kafbat-ui | at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.onSubscribe(FluxMapFuseable.java:265) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.onSubscribe(MonoFlatMap.java:117) kafbat-ui | at reactor.core.publisher.FluxFilter$FilterSubscriber.onSubscribe(FluxFilter.java:85) kafbat-ui | at reactor.core.publisher.FluxMap$MapConditionalSubscriber.onSubscribe(FluxMap.java:194) kafbat-ui | at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) kafbat-ui | at reactor.core.publisher.MonoDeferContextual.subscribe(MonoDeferContextual.java:55) kafbat-ui | at reactor.core.publisher.Mono.subscribe(Mono.java:4576) kafbat-ui | at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:265) kafbat-ui | at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51) kafbat-ui | at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) kafbat-ui | at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79) kafbat-ui | at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79) kafbat-ui | at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:200) kafbat-ui | at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.complete(MonoIgnoreThen.java:294) kafbat-ui | at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onNext(MonoIgnoreThen.java:188) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:158) kafbat-ui | at reactor.core.publisher.MonoZip$ZipCoordinator.signal(MonoZip.java:297) kafbat-ui | at reactor.core.publisher.MonoZip$ZipInner.onNext(MonoZip.java:478) kafbat-ui | at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:180) kafbat-ui | at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2571) kafbat-ui | at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.request(MonoPeekTerminal.java:139) kafbat-ui | at reactor.core.publisher.MonoZip$ZipInner.onSubscribe(MonoZip.java:470) kafbat-ui | at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onSubscribe(MonoPeekTerminal.java:152) kafbat-ui | at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) kafbat-ui | at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) kafbat-ui | at reactor.core.publisher.MonoZip$ZipCoordinator.request(MonoZip.java:220) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.request(MonoFlatMap.java:194) kafbat-ui | at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onSubscribe(MonoIgnoreThen.java:135) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.onSubscribe(MonoFlatMap.java:117) kafbat-ui | at reactor.core.publisher.MonoZip.subscribe(MonoZip.java:129) kafbat-ui | at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) kafbat-ui | at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) kafbat-ui | at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:241) kafbat-ui | at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onComplete(MonoIgnoreThen.java:204) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.onComplete(MonoFlatMap.java:189) kafbat-ui | at reactor.core.publisher.Operators.complete(Operators.java:137) kafbat-ui | at reactor.core.publisher.MonoZip.subscribe(MonoZip.java:121) kafbat-ui | at reactor.core.publisher.Mono.subscribe(Mono.java:4576) kafbat-ui | at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:265) kafbat-ui | at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51) kafbat-ui | at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) kafbat-ui | at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79) kafbat-ui | at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74) kafbat-ui | at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:82) kafbat-ui | at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.innerNext(FluxConcatMapNoPrefetch.java:259) kafbat-ui | at reactor.core.publisher.FluxConcatMap$ConcatMapInner.onNext(FluxConcatMap.java:865) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129) kafbat-ui | at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:180) kafbat-ui | at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2571) kafbat-ui | at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.request(MonoPeekTerminal.java:139) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171) kafbat-ui | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.request(Operators.java:2331) kafbat-ui | at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.request(FluxConcatMapNoPrefetch.java:339) kafbat-ui | at reactor.core.publisher.MonoNext$NextSubscriber.request(MonoNext.java:108) kafbat-ui | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2367) kafbat-ui | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2241) kafbat-ui | at reactor.core.publisher.MonoNext$NextSubscriber.onSubscribe(MonoNext.java:70) kafbat-ui | at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onSubscribe(FluxConcatMapNoPrefetch.java:164) kafbat-ui | at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) kafbat-ui | at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) kafbat-ui | at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) kafbat-ui | at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) kafbat-ui | at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) kafbat-ui | at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) kafbat-ui | at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) kafbat-ui | at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) kafbat-ui | at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) kafbat-ui | at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) kafbat-ui | at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) kafbat-ui | at reactor.core.publisher.MonoDeferContextual.subscribe(MonoDeferContextual.java:55) kafbat-ui | at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) kafbat-ui | at reactor.core.publisher.Mono.subscribe(Mono.java:4576) kafbat-ui | at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:82) kafbat-ui | at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onComplete(MonoPeekTerminal.java:299) kafbat-ui | at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onComplete(MonoPeekTerminal.java:299) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:155) kafbat-ui | at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74) kafbat-ui | at reactor.core.publisher.FluxFilter$FilterSubscriber.onNext(FluxFilter.java:113) kafbat-ui | at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:180) kafbat-ui | at reactor.core.publisher.FluxPeekFuseable$PeekFuseableConditionalSubscriber.onNext(FluxPeekFuseable.java:503) kafbat-ui | at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:180) kafbat-ui | at reactor.core.publisher.FluxDefaultIfEmpty$DefaultIfEmptySubscriber.onNext(FluxDefaultIfEmpty.java:122) kafbat-ui | at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:82) kafbat-ui | at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.innerNext(FluxConcatMapNoPrefetch.java:259) kafbat-ui | at reactor.core.publisher.FluxConcatMap$ConcatMapInner.onNext(FluxConcatMap.java:865) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:245) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:305) kafbat-ui | at reactor.core.publisher.FluxDefaultIfEmpty$DefaultIfEmptySubscriber.onNext(FluxDefaultIfEmpty.java:122) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129) kafbat-ui | at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onNext(FluxFilterFuseable.java:118) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.onNext(FluxMapFuseable.java:299) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.onNext(FluxMapFuseable.java:299) kafbat-ui | at reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber.onNext(FluxFilterFuseable.java:337) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:245) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:305) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:158) kafbat-ui | at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1865) kafbat-ui | at reactor.core.publisher.MonoCacheTime.subscribeOrReturn(MonoCacheTime.java:151) kafbat-ui | at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:63) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) kafbat-ui | at reactor.core.publisher.FluxFilter$FilterSubscriber.onNext(FluxFilter.java:113) kafbat-ui | at reactor.core.publisher.FluxMap$MapConditionalSubscriber.onNext(FluxMap.java:224) kafbat-ui | at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2571) kafbat-ui | at reactor.core.publisher.FluxMap$MapConditionalSubscriber.request(FluxMap.java:295) kafbat-ui | at reactor.core.publisher.FluxFilter$FilterSubscriber.request(FluxFilter.java:186) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.request(MonoFlatMap.java:194) kafbat-ui | at reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber.request(FluxFilterFuseable.java:411) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.request(FluxMapFuseable.java:360) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.request(FluxMapFuseable.java:360) kafbat-ui | at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171) kafbat-ui | at reactor.core.publisher.FluxDefaultIfEmpty$DefaultIfEmptySubscriber.request(FluxDefaultIfEmpty.java:98) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapInner.onSubscribe(MonoFlatMap.java:291) kafbat-ui | at reactor.core.publisher.Operators$BaseFluxToMonoOperator.onSubscribe(Operators.java:2051) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:96) kafbat-ui | at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.onSubscribe(FluxMapFuseable.java:265) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.onSubscribe(FluxMapFuseable.java:265) kafbat-ui | at reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber.onSubscribe(FluxFilterFuseable.java:305) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.onSubscribe(MonoFlatMap.java:117) kafbat-ui | at reactor.core.publisher.FluxFilter$FilterSubscriber.onSubscribe(FluxFilter.java:85) kafbat-ui | at reactor.core.publisher.FluxMap$MapConditionalSubscriber.onSubscribe(FluxMap.java:194) kafbat-ui | at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) kafbat-ui | at reactor.core.publisher.MonoDeferContextual.subscribe(MonoDeferContextual.java:55) kafbat-ui | at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129) kafbat-ui | at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onNext(FluxFilterFuseable.java:118) kafbat-ui | at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2571) kafbat-ui | at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.request(MonoFlatMap.java:194) kafbat-ui | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2367) kafbat-ui | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2241) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.onSubscribe(MonoFlatMap.java:117) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:96) kafbat-ui | at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87) kafbat-ui | at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) kafbat-ui | at reactor.core.publisher.Mono.subscribe(Mono.java:4576) kafbat-ui | at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onNext(FluxConcatMapNoPrefetch.java:207) kafbat-ui | at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) kafbat-ui | at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) kafbat-ui | at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.innerComplete(FluxConcatMapNoPrefetch.java:275) kafbat-ui | at reactor.core.publisher.FluxConcatMap$ConcatMapInner.onComplete(FluxConcatMap.java:889) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.onComplete(MonoFlatMap.java:189) kafbat-ui | at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144) kafbat-ui | at reactor.core.publisher.FluxFilter$FilterSubscriber.onComplete(FluxFilter.java:166) kafbat-ui | at reactor.core.publisher.FluxPeekFuseable$PeekConditionalSubscriber.onComplete(FluxPeekFuseable.java:940) kafbat-ui | at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:85) kafbat-ui | at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2573) kafbat-ui | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2367) kafbat-ui | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2241) kafbat-ui | at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) kafbat-ui | at reactor.core.publisher.Mono.subscribe(Mono.java:4576) kafbat-ui | at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:82) kafbat-ui | at reactor.core.publisher.MonoNext$NextSubscriber.onComplete(MonoNext.java:102) kafbat-ui | at reactor.core.publisher.FluxFilter$FilterSubscriber.onComplete(FluxFilter.java:166) kafbat-ui | at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:850) kafbat-ui | at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:612) kafbat-ui | at reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:592) kafbat-ui | at reactor.core.publisher.FluxFlatMap$FlatMapMain.request(FluxFlatMap.java:349) kafbat-ui | at reactor.core.publisher.FluxFilter$FilterSubscriber.request(FluxFilter.java:186) kafbat-ui | at reactor.core.publisher.MonoNext$NextSubscriber.request(MonoNext.java:108) kafbat-ui | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.request(Operators.java:2331) kafbat-ui | at reactor.core.publisher.FluxPeekFuseable$PeekConditionalSubscriber.request(FluxPeekFuseable.java:783) kafbat-ui | at reactor.core.publisher.FluxFilter$FilterSubscriber.request(FluxFilter.java:186) kafbat-ui | at reactor.core.publisher.FluxMap$MapSubscriber.request(FluxMap.java:164) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.request(MonoFlatMap.java:194) kafbat-ui | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.request(Operators.java:2331) kafbat-ui | at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.request(FluxConcatMapNoPrefetch.java:339) kafbat-ui | at reactor.core.publisher.MonoNext$NextSubscriber.request(MonoNext.java:108) kafbat-ui | at reactor.core.publisher.FluxDefaultIfEmpty$DefaultIfEmptySubscriber.request(FluxDefaultIfEmpty.java:98) kafbat-ui | at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.request(MonoPeekTerminal.java:139) kafbat-ui | at reactor.core.publisher.FluxPeekFuseable$PeekFuseableConditionalSubscriber.request(FluxPeekFuseable.java:437) kafbat-ui | at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.request(MonoPeekTerminal.java:139) kafbat-ui | at reactor.core.publisher.FluxFilter$FilterSubscriber.request(FluxFilter.java:186) kafbat-ui | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2367) kafbat-ui | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2241) kafbat-ui | at reactor.core.publisher.FluxFilter$FilterSubscriber.onSubscribe(FluxFilter.java:85) kafbat-ui | at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onSubscribe(MonoPeekTerminal.java:152) kafbat-ui | at reactor.core.publisher.FluxPeekFuseable$PeekFuseableConditionalSubscriber.onSubscribe(FluxPeekFuseable.java:471) kafbat-ui | at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onSubscribe(MonoPeekTerminal.java:152) kafbat-ui | at reactor.core.publisher.Operators$BaseFluxToMonoOperator.onSubscribe(Operators.java:2051) kafbat-ui | at reactor.core.publisher.MonoNext$NextSubscriber.onSubscribe(MonoNext.java:70) kafbat-ui | at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onSubscribe(FluxConcatMapNoPrefetch.java:164) kafbat-ui | at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) kafbat-ui | at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) kafbat-ui | at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) kafbat-ui | at reactor.core.publisher.MonoDeferContextual.subscribe(MonoDeferContextual.java:55) kafbat-ui | at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) kafbat-ui | at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) kafbat-ui | at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) kafbat-ui | at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) kafbat-ui | at reactor.core.publisher.Mono.subscribe(Mono.java:4576) kafbat-ui | at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:265) kafbat-ui | at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51) kafbat-ui | at reactor.core.publisher.Mono.subscribe(Mono.java:4576) kafbat-ui | at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:82) kafbat-ui | at reactor.core.publisher.FluxFilter$FilterSubscriber.onComplete(FluxFilter.java:166) kafbat-ui | at reactor.core.publisher.FluxPeekFuseable$PeekConditionalSubscriber.onComplete(FluxPeekFuseable.java:940) kafbat-ui | at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:85) kafbat-ui | at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2573) kafbat-ui | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2367) kafbat-ui | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2241) kafbat-ui | at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) kafbat-ui | at reactor.core.publisher.Mono.subscribe(Mono.java:4576) kafbat-ui | at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:82) kafbat-ui | at reactor.core.publisher.MonoNext$NextSubscriber.onComplete(MonoNext.java:102) kafbat-ui | at reactor.core.publisher.FluxFilter$FilterSubscriber.onComplete(FluxFilter.java:166) kafbat-ui | at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:850) kafbat-ui | at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:612) kafbat-ui | at reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:592) kafbat-ui | at reactor.core.publisher.FluxFlatMap$FlatMapMain.onComplete(FluxFlatMap.java:469) kafbat-ui | at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onComplete(FluxPeekFuseable.java:277) kafbat-ui | at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:357) kafbat-ui | at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) kafbat-ui | at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.request(FluxPeekFuseable.java:144) kafbat-ui | at reactor.core.publisher.FluxFlatMap$FlatMapMain.onSubscribe(FluxFlatMap.java:373) kafbat-ui | at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onSubscribe(FluxPeekFuseable.java:178) kafbat-ui | at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) kafbat-ui | at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) kafbat-ui | at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) kafbat-ui | at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) kafbat-ui | at reactor.core.publisher.Operators$BaseFluxToMonoOperator.completePossiblyEmpty(Operators.java:2097) kafbat-ui | at reactor.core.publisher.FluxDefaultIfEmpty$DefaultIfEmptySubscriber.onComplete(FluxDefaultIfEmpty.java:134) kafbat-ui | at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144) kafbat-ui | at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144) kafbat-ui | at reactor.core.publisher.FluxFilter$FilterSubscriber.onComplete(FluxFilter.java:166) kafbat-ui | at reactor.core.publisher.FluxMap$MapConditionalSubscriber.onComplete(FluxMap.java:275) kafbat-ui | at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1866) kafbat-ui | at reactor.core.publisher.MonoCacheTime$CoordinatorSubscriber.signalCached(MonoCacheTime.java:337) kafbat-ui | at reactor.core.publisher.MonoCacheTime$CoordinatorSubscriber.onNext(MonoCacheTime.java:354) kafbat-ui | at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:200) kafbat-ui | at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74) kafbat-ui | at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:82) kafbat-ui | at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.innerNext(FluxConcatMapNoPrefetch.java:259) kafbat-ui | at reactor.core.publisher.FluxConcatMap$ConcatMapInner.onNext(FluxConcatMap.java:865) kafbat-ui | at reactor.core.publisher.FluxConcatMap$WeakScalarSubscription.request(FluxConcatMap.java:480) kafbat-ui | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.request(Operators.java:2331) kafbat-ui | at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.request(FluxConcatMapNoPrefetch.java:339) kafbat-ui | at reactor.core.publisher.MonoNext$NextSubscriber.request(MonoNext.java:108) kafbat-ui | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2367) kafbat-ui | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2241) kafbat-ui | at reactor.core.publisher.MonoNext$NextSubscriber.onSubscribe(MonoNext.java:70) kafbat-ui | at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onSubscribe(FluxConcatMapNoPrefetch.java:164) kafbat-ui | at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) kafbat-ui | at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) kafbat-ui | at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) kafbat-ui | at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) kafbat-ui | at reactor.core.publisher.MonoCacheTime.subscribeOrReturn(MonoCacheTime.java:143) kafbat-ui | at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:63) kafbat-ui | at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) kafbat-ui | at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) kafbat-ui | at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) kafbat-ui | at reactor.core.publisher.Mono.subscribe(Mono.java:4576) kafbat-ui | at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:265) kafbat-ui | at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51) kafbat-ui | at reactor.core.publisher.Mono.subscribe(Mono.java:4576) kafbat-ui | at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:82) kafbat-ui | at reactor.core.publisher.FluxFilter$FilterSubscriber.onComplete(FluxFilter.java:166) kafbat-ui | at reactor.core.publisher.FluxPeekFuseable$PeekConditionalSubscriber.onComplete(FluxPeekFuseable.java:940) kafbat-ui | at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:85) kafbat-ui | at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2573) kafbat-ui | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2367) kafbat-ui | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2241) kafbat-ui | at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) kafbat-ui | at reactor.core.publisher.Mono.subscribe(Mono.java:4576) kafbat-ui | at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:82) kafbat-ui | at reactor.core.publisher.MonoNext$NextSubscriber.onComplete(MonoNext.java:102) kafbat-ui | at reactor.core.publisher.FluxFilter$FilterSubscriber.onComplete(FluxFilter.java:166) kafbat-ui | at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:850) kafbat-ui | at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:612) kafbat-ui | at reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:592) kafbat-ui | at reactor.core.publisher.FluxFlatMap$FlatMapMain.onComplete(FluxFlatMap.java:469) kafbat-ui | at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onComplete(FluxPeekFuseable.java:277) kafbat-ui | at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:357) kafbat-ui | at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) kafbat-ui | at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.request(FluxPeekFuseable.java:144) kafbat-ui | at reactor.core.publisher.FluxFlatMap$FlatMapMain.onSubscribe(FluxFlatMap.java:373) kafbat-ui | at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onSubscribe(FluxPeekFuseable.java:178) kafbat-ui | at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) kafbat-ui | at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) kafbat-ui | at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) kafbat-ui | at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) kafbat-ui | at reactor.core.publisher.Mono.subscribe(Mono.java:4576) kafbat-ui | at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:265) kafbat-ui | at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51) kafbat-ui | at reactor.core.publisher.Mono.subscribe(Mono.java:4576) kafbat-ui | at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:82) kafbat-ui | at reactor.core.publisher.FluxFilter$FilterSubscriber.onComplete(FluxFilter.java:166) kafbat-ui | at reactor.core.publisher.FluxPeekFuseable$PeekConditionalSubscriber.onComplete(FluxPeekFuseable.java:940) kafbat-ui | at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:85) kafbat-ui | at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2573) kafbat-ui | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2367) kafbat-ui | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2241) kafbat-ui | at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) kafbat-ui | at reactor.core.publisher.Mono.subscribe(Mono.java:4576) kafbat-ui | at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:82) kafbat-ui | at reactor.core.publisher.MonoNext$NextSubscriber.onComplete(MonoNext.java:102) kafbat-ui | at reactor.core.publisher.FluxFilter$FilterSubscriber.onComplete(FluxFilter.java:166) kafbat-ui | at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:850) kafbat-ui | at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:612) kafbat-ui | at reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:592) kafbat-ui | at reactor.core.publisher.FluxFlatMap$FlatMapMain.onComplete(FluxFlatMap.java:469) kafbat-ui | at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onComplete(FluxPeekFuseable.java:277) kafbat-ui | at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:357) kafbat-ui | at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) kafbat-ui | at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.request(FluxPeekFuseable.java:144) kafbat-ui | at reactor.core.publisher.FluxFlatMap$FlatMapMain.onSubscribe(FluxFlatMap.java:373) kafbat-ui | at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onSubscribe(FluxPeekFuseable.java:178) kafbat-ui | at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) kafbat-ui | at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) kafbat-ui | at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) kafbat-ui | at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) kafbat-ui | at reactor.core.publisher.Mono.subscribe(Mono.java:4576) kafbat-ui | at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:265) kafbat-ui | at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51) kafbat-ui | at reactor.core.publisher.Mono.subscribe(Mono.java:4576) kafbat-ui | at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:82) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.onComplete(MonoFlatMap.java:189) kafbat-ui | at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onComplete(FluxFilterFuseable.java:171) kafbat-ui | at reactor.core.publisher.FluxPeekFuseable$PeekFuseableConditionalSubscriber.onComplete(FluxPeekFuseable.java:595) kafbat-ui | at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2573) kafbat-ui | at reactor.core.publisher.FluxPeekFuseable$PeekFuseableConditionalSubscriber.request(FluxPeekFuseable.java:437) kafbat-ui | at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.request(MonoFlatMap.java:194) kafbat-ui | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2367) kafbat-ui | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2241) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.onSubscribe(MonoFlatMap.java:117) kafbat-ui | at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87) kafbat-ui | at reactor.core.publisher.FluxPeekFuseable$PeekFuseableConditionalSubscriber.onSubscribe(FluxPeekFuseable.java:471) kafbat-ui | at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) kafbat-ui | at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) kafbat-ui | at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) kafbat-ui | at reactor.core.publisher.Mono.subscribe(Mono.java:4576) kafbat-ui | at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:265) kafbat-ui | at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51) kafbat-ui | at reactor.core.publisher.Mono.subscribe(Mono.java:4576) kafbat-ui | at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:82) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.onComplete(MonoFlatMap.java:189) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onComplete(FluxMapFuseable.java:152) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onComplete(FluxMapFuseable.java:152) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onComplete(FluxMapFuseable.java:152) kafbat-ui | at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onComplete(FluxFilterFuseable.java:171) kafbat-ui | at reactor.core.publisher.FluxPeekFuseable$PeekFuseableConditionalSubscriber.onComplete(FluxPeekFuseable.java:595) kafbat-ui | at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2573) kafbat-ui | at reactor.core.publisher.FluxPeekFuseable$PeekFuseableConditionalSubscriber.request(FluxPeekFuseable.java:437) kafbat-ui | at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.request(MonoFlatMap.java:194) kafbat-ui | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2367) kafbat-ui | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2241) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.onSubscribe(MonoFlatMap.java:117) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:96) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:96) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:96) kafbat-ui | at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87) kafbat-ui | at reactor.core.publisher.FluxPeekFuseable$PeekFuseableConditionalSubscriber.onSubscribe(FluxPeekFuseable.java:471) kafbat-ui | at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) kafbat-ui | at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) kafbat-ui | at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) kafbat-ui | at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) kafbat-ui | at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) kafbat-ui | at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) kafbat-ui | at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) kafbat-ui | at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) kafbat-ui | at reactor.core.publisher.MonoDeferContextual.subscribe(MonoDeferContextual.java:55) kafbat-ui | at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) kafbat-ui | at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) kafbat-ui | at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:245) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:305) kafbat-ui | at reactor.core.publisher.Operators$BaseFluxToMonoOperator.completePossiblyEmpty(Operators.java:2097) kafbat-ui | at reactor.core.publisher.MonoCollectList$MonoCollectListSubscriber.onComplete(MonoCollectList.java:118) kafbat-ui | at reactor.core.publisher.FluxIterable$IterableSubscription.fastPath(FluxIterable.java:424) kafbat-ui | at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:291) kafbat-ui | at reactor.core.publisher.Operators$BaseFluxToMonoOperator.request(Operators.java:2067) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapInner.onSubscribe(MonoFlatMap.java:291) kafbat-ui | at reactor.core.publisher.Operators$BaseFluxToMonoOperator.onSubscribe(Operators.java:2051) kafbat-ui | at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) kafbat-ui | at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) kafbat-ui | at reactor.core.publisher.MonoFromFluxOperator.subscribe(MonoFromFluxOperator.java:83) kafbat-ui | at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) kafbat-ui | at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74) kafbat-ui | at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:82) kafbat-ui | at reactor.core.publisher.FluxFilterWhen$FluxFilterWhenSubscriber.drain(FluxFilterWhen.java:302) kafbat-ui | at reactor.core.publisher.FluxFilterWhen$FluxFilterWhenSubscriber.onNext(FluxFilterWhen.java:140) kafbat-ui | at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) kafbat-ui | at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) kafbat-ui | at reactor.core.publisher.FluxFilterWhen$FluxFilterWhenSubscriber.onSubscribe(FluxFilterWhen.java:200) kafbat-ui | at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) kafbat-ui | at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) kafbat-ui | at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) kafbat-ui | at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) kafbat-ui | at reactor.core.publisher.Mono.subscribe(Mono.java:4576) kafbat-ui | at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:265) kafbat-ui | at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51) kafbat-ui | at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) kafbat-ui | at reactor.core.publisher.MonoDeferContextual.subscribe(MonoDeferContextual.java:55) kafbat-ui | at reactor.netty.http.server.HttpServer$HttpServerHandle.onStateChange(HttpServer.java:1176) kafbat-ui | at reactor.netty.ReactorNetty$CompositeConnectionObserver.onStateChange(ReactorNetty.java:715) kafbat-ui | at reactor.netty.transport.ServerTransport$ChildObserver.onStateChange(ServerTransport.java:481) kafbat-ui | at reactor.netty.http.server.HttpServerOperations.handleDefaultHttpRequest(HttpServerOperations.java:829) kafbat-ui | at reactor.netty.http.server.HttpServerOperations.onInboundNext(HttpServerOperations.java:774) kafbat-ui | at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:115) kafbat-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) kafbat-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) kafbat-ui | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) kafbat-ui | at reactor.netty.http.server.HttpTrafficHandler.channelRead(HttpTrafficHandler.java:262) kafbat-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) kafbat-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) kafbat-ui | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) kafbat-ui | at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436) kafbat-ui | at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) kafbat-ui | at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:333) kafbat-ui | at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:455) kafbat-ui | at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290) kafbat-ui | at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251) kafbat-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) kafbat-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) kafbat-ui | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) kafbat-ui | at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1357) kafbat-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) kafbat-ui | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) kafbat-ui | at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:868) kafbat-ui | at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:799) kafbat-ui | at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:501) kafbat-ui | at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:399) kafbat-ui | at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) kafbat-ui | at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) kafbat-ui | at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) kafbat-ui | at java.base/java.lang.Thread.run(Thread.java:840)

From: "Anand K" @.> To: "kafbat/kafka-ui" @.> Cc: "ivanbishop" @.>, "Mention" @.> Sent: Tuesday, November 19, 2024 11:05:27 AM Subject: Re: [kafbat/kafka-ui] OIDC (Okta) issue with using callback handler for AWS_IAM_MSK (Issue #642)

I looked at your config and compared to mine, and pretty much same except I dont have jwk-set-uri in okta config I have given permissions to consumer as you will to browse the topics. I have additional glue serde, and audit settings but those are optional.

Which servers are you getting 500 errors from? from kafkaui or okta? it seems from the logs authentication is working and its sending the group kafbat-admins back.

— Reply to this email directly, [ https://github.com/kafbat/kafka-ui/issues/642#issuecomment-2486519542 | view it on GitHub ] , or [ https://github.com/notifications/unsubscribe-auth/ABPMBW2WKA3G27XMGZ6WQWT2BODXPAVCNFSM6AAAAABQ4KVCPOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOBWGUYTSNJUGI | unsubscribe ] . You are receiving this because you were mentioned. Message ID: @.***>