You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "satishd (via GitHub)" <gi...@apache.org> on 2023/06/30 10:09:17 UTC

[GitHub] [kafka] satishd commented on a diff in pull request #13923: KAFKA-15131: Improve RemoteStorageManager exception handling documentation

satishd commented on code in PR #13923:
URL: https://github.com/apache/kafka/pull/13923#discussion_r1247695189


##########
storage/api/src/main/java/org/apache/kafka/server/log/remote/storage/RemoteStorageManager.java:
##########
@@ -120,7 +123,10 @@ InputStream fetchLogSegment(RemoteLogSegmentMetadata remoteLogSegmentMetadata,
      * @param indexType                type of the index to be fetched for the segment.
      * @return input stream of the requested index.
      * @throws RemoteStorageException          if there are any errors while fetching the index.
-     * @throws RemoteResourceNotFoundException when there are no resources associated with the given remoteLogSegmentMetadata.
+     * @throws RemoteResourceNotFoundException the requested index is not found in the remote storage
+     * (e.g. Transaction index may not exist because segments create prior to version 2.8.0 will not have transaction index associated with them.).

Review Comment:
   minor typo: `segments create prior to version` -> `segments created prior to version`



##########
storage/api/src/main/java/org/apache/kafka/server/log/remote/storage/RemoteStorageManager.java:
##########
@@ -75,6 +75,9 @@ enum IndexType {
      * <p>
      * Invoker of this API should always send a unique id as part of {@link RemoteLogSegmentMetadata#remoteLogSegmentId()}
      * even when it retries to invoke this method for the same log segment data.
+     * <p>
+     * This operation is expected to be idempotent. If a copy operation is retried and there is existing content already written,

Review Comment:
   Newly added statement gives more clarity on idempotency. 
   
   The given unique id sent as part of `RemoteLogSegmentMetadata` can be used to avoid overwrites in RSM implementation. Caller makes sure it sends unique id for multiple invocations.



-- 
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-unsubscribe@kafka.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org