chia7712 commented on code in PR #17957: URL: https://github.com/apache/kafka/pull/17957#discussion_r1866499132
########## core/src/main/java/kafka/server/share/SharePartition.java: ########## @@ -380,6 +380,14 @@ public CompletableFuture<Void> maybeInitialize() { // Update state to initializing to avoid any concurrent requests to be processed. partitionState = SharePartitionState.INITIALIZING; + } catch (Exception e) { + log.error("Failed to initialize the share partition: {}-{}", groupId, topicIdPartition, e); + completeInitializationWithException(future, e); + return future; + } finally { + lock.writeLock().unlock(); + } + try { Review Comment: > Shouldn't this try be inside of the response from persister read state, why to have a lock while invoking the persister read call? The `try` block is not related to the lock; instead, it handles exceptions thrown by `persister.readState`. This introduces another inconsistency in error handling - The `persister.writeState` can also throw exceptions, but we do not use `try-catch` blocks to complete the `future` with an exception. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org