lovelle opened a new pull request #3267: Support set publish time on broker side
URL: https://github.com/apache/pulsar/pull/3267
 
 
   ### Motivation
   
   Since #3155 there is a real need not to depend on client side clock for 
publish time field on message metadata.
   
   This change sets a default value for publish time field at client side in 
order to be able to be identified by broker easily and set newly calculated 
time on it. If time was normally set by the client on publish time, this update 
will be just ignored by broker.
   
   ### Modifications
   
   [pulsar-broker]
     - Read message metadata for produced messages in order to know whether the
       message was set onto default value and should be updated with time
       calculated by broker.
     - Add method to return previous metadata with publish time set by broker.
   
   [pulsar-client]
     - ProducerImpl client side set a default fixed size value for publish time.
   
   [pulsar-common]
     - Add modifyMessageMetadata method on Commands in order to update new 
modified
       fields on payload.
   
   The default constant value used to define the undefined number of 
milliseconds since epoch is going to be 13 decimal digits, the method 
currentTimeMillis will always return 13 decimal digits assuming the broker has 
the current time set correctly.
   
   ### Result
   
   Any client which set publish time with default value will be updated by 
broker with current time.
   
   ### TODO
   
   Once this change is accepted:
   
   - [ ] Add proper tests
   - [ ] Add default publish time on the rest of clients.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to