[ 
https://issues.apache.org/jira/browse/KAFKA-14182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17597950#comment-17597950
 ] 

Svyatoslav commented on KAFKA-14182:
------------------------------------

[~showuon] on a latest trunk branch some other errors founded:

{code:java}
[2022-08-30 18:34:53,743] ERROR [ControllerApis nodeId=1] Unexpected error 
handling request RequestHeader(apiKey=BROKER_REGISTRATION, apiVersion=0, 
clientId=1, correlationId=0) -- BrokerRegistrationRequestData(brokerId=1, 
clusterId='1Q4_YE8pQmq9yZM3C3zxIw', incarnationId=zaZ1xoFxRGOiSiPKx-QjaA, 
listeners=[Listener(name='BROKER', host='FQDN', port=9092, 
securityProtocol=2)], features=[Feature(name='metadata.version', 
minSupportedVersion=1, maxSupportedVersion=7)], rack=null) with context 
RequestContext(header=RequestHeader(apiKey=BROKER_REGISTRATION, apiVersion=0, 
clientId=1, correlationId=0), 
connectionId='XXX.XXX.XXX.XXX:PORT-XXX.XXX.XXX.XXX:44058-0', 
clientAddress=/XXX.XXX.XXX.XXX, principal=User:kafka, 
listenerName=ListenerName(CONTROLLER), securityProtocol=SASL_PLAINTEXT, 
clientInformation=ClientInformation(softwareName=apache-kafka-java, 
softwareVersion=3.4.0-SNAPSHOT), fromPrivilegedListener=false, 
principalSerde=Optional[org.apache.kafka.common.security.authenticator.DefaultKafkaPrincipalBuilder@2b0f939a])
 (kafka.server.ControllerApis)
org.apache.kafka.common.errors.AuthorizerNotReadyException

[2022-08-30 18:34:53,749] INFO [BrokerLifecycleManager id=1] Unable to register 
broker 1 because the controller returned error UNKNOWN_SERVER_ERROR 
(kafka.server.BrokerLifecycleManager)
....
[2022-08-30 18:35:53,352] ERROR [BrokerLifecycleManager id=1] Shutting down 
because we were unable to register with the controller quorum. 
(kafka.server.BrokerLifecycleManager)
....
[2022-08-30 18:35:53,392] ERROR [BrokerServer id=1] Fatal error during broker 
startup. Prepare to shutdown (kafka.server.BrokerServer)
java.util.concurrent.CancellationException
        at 
java.util.concurrent.CompletableFuture.cancel(CompletableFuture.java:2276)
        at 
kafka.server.BrokerLifecycleManager$ShutdownEvent.run(BrokerLifecycleManager.scala:485)
        at 
org.apache.kafka.queue.KafkaEventQueue$EventHandler.run(KafkaEventQueue.java:174)
        at java.lang.Thread.run(Thread.java:750)

[2022-08-30 18:35:53,393] INFO [BrokerServer id=1] Transition from STARTED to 
SHUTTING_DOWN (kafka.server.BrokerServer)
...
[2022-08-30 18:35:53,506] INFO Shutting down. (kafka.log.LogManager)

[2022-08-30 18:35:53,525] WARN /var/kafka/kafka-logs/.kafka_cleanshutdown 
(kafka.utils.CoreUtils$)
java.nio.file.FileAlreadyExistsException: 
/var/kafka/kafka-logs/.kafka_cleanshutdown
        at 
sun.nio.fs.UnixException.translateToIOException(UnixException.java:88)
        at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
        at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
        at 
sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:214)
        at java.nio.file.Files.newByteChannel(Files.java:361)
        at java.nio.file.Files.createFile(Files.java:632)
        at kafka.log.LogManager.$anonfun$shutdown$16(LogManager.scala:618)
        at kafka.utils.CoreUtils$.swallow(CoreUtils.scala:68)
        at kafka.log.LogManager.$anonfun$shutdown$10(LogManager.scala:618)
        at 
kafka.log.LogManager.$anonfun$shutdown$10$adapted(LogManager.scala:604)
        at 
kafka.utils.Implicits$MapExtensionMethods$.$anonfun$forKeyValue$1(Implicits.scala:62)
        at scala.collection.mutable.HashMap$Node.foreachEntry(HashMap.scala:633)
        at scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:499)
        at kafka.log.LogManager.shutdown(LogManager.scala:604)
        at 
kafka.server.BrokerServer.$anonfun$shutdown$21(BrokerServer.scala:562)
        at kafka.utils.CoreUtils$.swallow(CoreUtils.scala:68)
        at kafka.server.BrokerServer.shutdown(BrokerServer.scala:562)
        at kafka.server.BrokerServer.startup(BrokerServer.scala:484)
        at 
kafka.server.KafkaRaftServer.$anonfun$startup$2(KafkaRaftServer.scala:141)
        at 
kafka.server.KafkaRaftServer.$anonfun$startup$2$adapted(KafkaRaftServer.scala:141)
        at scala.Option.foreach(Option.scala:437)
        at kafka.server.KafkaRaftServer.startup(KafkaRaftServer.scala:141)
        at kafka.Kafka$.main(Kafka.scala:109)
        at kafka.Kafka.main(Kafka.scala)

[2022-08-30 18:35:53,527] INFO Shutdown complete. (kafka.log.LogManager)

[2022-08-30 18:35:53,604] ERROR Exiting Kafka due to fatal exception during 
startup. (kafka.Kafka$)
java.util.concurrent.CancellationException
        at 
java.util.concurrent.CompletableFuture.cancel(CompletableFuture.java:2276)
        at 
kafka.server.BrokerLifecycleManager$ShutdownEvent.run(BrokerLifecycleManager.scala:485)
        at 
org.apache.kafka.queue.KafkaEventQueue$EventHandler.run(KafkaEventQueue.java:174)
        at java.lang.Thread.run(Thread.java:750)

[2022-08-30 18:35:53,814] ERROR [Controller 1] maybeBalancePartitionLeaders: 
unable to start processing because of TimeoutException. 
(org.apache.kafka.controller.QuorumController)

...
[2022-08-30 18:35:53,820] INFO [Controller 1] closed event queue. 
(org.apache.kafka.queue.KafkaEventQueue)
...
[2022-08-30 18:35:53,821] INFO App info kafka.server for 1 unregistered 
(org.apache.kafka.common.utils.AppInfoParser)

{code}


> KRaft and ACL + GSSAPI
> ----------------------
>
>                 Key: KAFKA-14182
>                 URL: https://issues.apache.org/jira/browse/KAFKA-14182
>             Project: Kafka
>          Issue Type: Bug
>          Components: kraft
>    Affects Versions: 3.2.1
>            Reporter: Svyatoslav
>            Priority: Trivial
>
> In KRaft mode with GSSAPI and ACL when i am adding any new ACL in log file i 
> am always have some information like this:
> {code:java}
> [2022-08-24 18:04:41,830] ERROR [StandardAuthorizer 1] addAcl error 
> (org.apache.kafka.metadata.authorizer.StandardAuthorizerData)
> java.lang.RuntimeException: An ACL with ID Gk-Hx0tvQIS8B1RT8R-odw already 
> exists.
>     at 
> org.apache.kafka.metadata.authorizer.StandardAuthorizerData.addAcl(StandardAuthorizerData.java:169)
>     at 
> org.apache.kafka.metadata.authorizer.StandardAuthorizer.addAcl(StandardAuthorizer.java:83)
>     at 
> kafka.server.metadata.BrokerMetadataPublisher.$anonfun$publish$19(BrokerMetadataPublisher.scala:234)
>     at java.util.LinkedHashMap$LinkedEntrySet.forEach(LinkedHashMap.java:671)
>     at 
> kafka.server.metadata.BrokerMetadataPublisher.$anonfun$publish$18(BrokerMetadataPublisher.scala:232)
>     at 
> kafka.server.metadata.BrokerMetadataPublisher.$anonfun$publish$18$adapted(BrokerMetadataPublisher.scala:221)
>     at scala.Option.foreach(Option.scala:437)
>     at 
> kafka.server.metadata.BrokerMetadataPublisher.publish(BrokerMetadataPublisher.scala:221)
>     at 
> kafka.server.metadata.BrokerMetadataListener.kafka$server$metadata$BrokerMetadataListener$$publish(BrokerMetadataListener.scala:258)
>     at 
> kafka.server.metadata.BrokerMetadataListener$HandleCommitsEvent.$anonfun$run$2(BrokerMetadataListener.scala:119)
>     at 
> kafka.server.metadata.BrokerMetadataListener$HandleCommitsEvent.$anonfun$run$2$adapted(BrokerMetadataListener.scala:119)
>     at scala.Option.foreach(Option.scala:437)
>     at 
> kafka.server.metadata.BrokerMetadataListener$HandleCommitsEvent.run(BrokerMetadataListener.scala:119)
>     at 
> org.apache.kafka.queue.KafkaEventQueue$EventContext.run(KafkaEventQueue.java:121)
>     at 
> org.apache.kafka.queue.KafkaEventQueue$EventHandler.handleEvents(KafkaEventQueue.java:200)
>     at 
> org.apache.kafka.queue.KafkaEventQueue$EventHandler.run(KafkaEventQueue.java:173)
>     at java.lang.Thread.run(Thread.java:750)
> [2022-08-24 18:04:41,858] ERROR [BrokerMetadataPublisher id=1] Error 
> publishing broker metadata at OffsetAndEpoch(offset=500, epoch=4) 
> (kafka.server.metadata.BrokerMetadataPublisher)
> java.lang.RuntimeException: An ACL with ID Gk-Hx0tvQIS8B1RT8R-odw already 
> exists.
>     at 
> org.apache.kafka.metadata.authorizer.StandardAuthorizerData.addAcl(StandardAuthorizerData.java:169)
>     at 
> org.apache.kafka.metadata.authorizer.StandardAuthorizer.addAcl(StandardAuthorizer.java:83)
>     at 
> kafka.server.metadata.BrokerMetadataPublisher.$anonfun$publish$19(BrokerMetadataPublisher.scala:234)
>     at java.util.LinkedHashMap$LinkedEntrySet.forEach(LinkedHashMap.java:671)
>     at 
> kafka.server.metadata.BrokerMetadataPublisher.$anonfun$publish$18(BrokerMetadataPublisher.scala:232)
>     at 
> kafka.server.metadata.BrokerMetadataPublisher.$anonfun$publish$18$adapted(BrokerMetadataPublisher.scala:221)
>     at scala.Option.foreach(Option.scala:437)
>     at 
> kafka.server.metadata.BrokerMetadataPublisher.publish(BrokerMetadataPublisher.scala:221)
>     at 
> kafka.server.metadata.BrokerMetadataListener.kafka$server$metadata$BrokerMetadataListener$$publish(BrokerMetadataListener.scala:258)
>     at 
> kafka.server.metadata.BrokerMetadataListener$HandleCommitsEvent.$anonfun$run$2(BrokerMetadataListener.scala:119)
>     at 
> kafka.server.metadata.BrokerMetadataListener$HandleCommitsEvent.$anonfun$run$2$adapted(BrokerMetadataListener.scala:119)
>     at scala.Option.foreach(Option.scala:437)
>     at 
> kafka.server.metadata.BrokerMetadataListener$HandleCommitsEvent.run(BrokerMetadataListener.scala:119)
>     at 
> org.apache.kafka.queue.KafkaEventQueue$EventContext.run(KafkaEventQueue.java:121)
>     at 
> org.apache.kafka.queue.KafkaEventQueue$EventHandler.handleEvents(KafkaEventQueue.java:200)
>     at 
> org.apache.kafka.queue.KafkaEventQueue$EventHandler.run(KafkaEventQueue.java:173)
>     at java.lang.Thread.run(Thread.java:750)
> [2022-08-24 18:04:41,859] ERROR [BrokerMetadataListener id=1] Unexpected 
> error handling HandleCommitsEvent 
> (kafka.server.metadata.BrokerMetadataListener)
> java.lang.RuntimeException: An ACL with ID Gk-Hx0tvQIS8B1RT8R-odw already 
> exists.
>     at 
> org.apache.kafka.metadata.authorizer.StandardAuthorizerData.addAcl(StandardAuthorizerData.java:169)
>     at 
> org.apache.kafka.metadata.authorizer.StandardAuthorizer.addAcl(StandardAuthorizer.java:83)
>     at 
> kafka.server.metadata.BrokerMetadataPublisher.$anonfun$publish$19(BrokerMetadataPublisher.scala:234)
>     at java.util.LinkedHashMap$LinkedEntrySet.forEach(LinkedHashMap.java:671)
>     at 
> kafka.server.metadata.BrokerMetadataPublisher.$anonfun$publish$18(BrokerMetadataPublisher.scala:232)
>     at 
> kafka.server.metadata.BrokerMetadataPublisher.$anonfun$publish$18$adapted(BrokerMetadataPublisher.scala:221)
>     at scala.Option.foreach(Option.scala:437)
>     at 
> kafka.server.metadata.BrokerMetadataPublisher.publish(BrokerMetadataPublisher.scala:221)
>     at 
> kafka.server.metadata.BrokerMetadataListener.kafka$server$metadata$BrokerMetadataListener$$publish(BrokerMetadataListener.scala:258)
>     at 
> kafka.server.metadata.BrokerMetadataListener$HandleCommitsEvent.$anonfun$run$2(BrokerMetadataListener.scala:119)
>     at 
> kafka.server.metadata.BrokerMetadataListener$HandleCommitsEvent.$anonfun$run$2$adapted(BrokerMetadataListener.scala:119)
>     at scala.Option.foreach(Option.scala:437)
>     at 
> kafka.server.metadata.BrokerMetadataListener$HandleCommitsEvent.run(BrokerMetadataListener.scala:119)
>     at 
> org.apache.kafka.queue.KafkaEventQueue$EventContext.run(KafkaEventQueue.java:121)
>     at 
> org.apache.kafka.queue.KafkaEventQueue$EventHandler.handleEvents(KafkaEventQueue.java:200)
>     at 
> org.apache.kafka.queue.KafkaEventQueue$EventHandler.run(KafkaEventQueue.java:173)
>     at java.lang.Thread.run(Thread.java:750)
>  {code}
> The main problem is here:
> https://github.com/apache/kafka/blob/4878653016c32e55d6e829ea1b4f80a825459706/metadata/src/main/java/org/apache/kafka/metadata/authorizer/StandardAuthorizerData.java
> {code:java}
>             if (prevAcl != null) {
>                 throw new RuntimeException("An ACL with ID " + id + " already 
> exists.");
>             }
> {code}
> Do we need an exeption or may be just change it to:
> {code:java}
>             if (prevAcl != null) {
>                 log.info("An ACL with ID " + id + " already exists.");
>             }
>             if (!aclsByResource.add(acl)) {
>                 //aclsById.remove(id);
>                 log.info("Unable to add the ACL with ID " + id + " to 
> aclsByResource");
>             }
> ...
> {code}
> ?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to