heesung-sn commented on code in PR #20948:
URL: https://github.com/apache/pulsar/pull/20948#discussion_r1286134923


##########
pulsar-client/src/main/java/org/apache/pulsar/client/impl/ProducerImpl.java:
##########
@@ -553,9 +555,8 @@ public void sendAsync(Message<?> message, SendCallback 
callback) {
                 synchronized (this) {
                     // Update the message metadata before computing the 
payload chunk size
                     // to avoid a large message cannot be split into chunks.
-                    final long sequenceId = 
updateMessageMetadataSequenceId(msgMetadata);
-                    String uuid = totalChunks > 1 ? String.format("%s-%d", 
producerName, sequenceId) : null;
-
+                    final long sequenceId = 
updateMessageMetadataSequenceId(msgMetadata, chunkId > 0);
+                    String uuid = totalChunks > 1 ? String.format("%s-%s", 
producerName, chunkUUid) : null;

Review Comment:
   - What's the purpose of this uuid?  According to this PIP, 
https://github.com/apache/pulsar/wiki/PIP-37:-Large-message-size-handling-in-Pulsar,
 this uuid needs to be the same for all chunks for the same message. Doesn't 
this violate the original logic?
   ```
   optional string uuid; // Original message uuid that will be same for all the 
chunks
   optional int32 num_chunks_from_msg;
   optional int32 total_chunk_msg_size; 
   optional int32 chunk_id;
   ```
   - Do we need to worry about any uuid collision?



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to