codelipenghui commented on issue #11962:
URL: https://github.com/apache/pulsar/issues/11962#issuecomment-915716242


   @wangjialing218 
   
   > We could consider how to keep FIFO semantics when using multiple managed 
ledgers. For example, only one primary ledger is writeable (store original 
messages from producer), other ledgers are readable (store conversion result 
for each message from primary ledger), and keep the message order same in all 
ledgers. consumer could select primary ledger or one readable ledger to consume 
messages.
   
   @wangjialing218 This looks like need to copy data between different managed 
ledgers? and we have multiple copies with the primary managed ledger and the 
other managed ledgers.
   
   > I have also considerd convert message at broker level from other 
motivation (not only for protocol handler).
   Currently, if we want to do some customized message conversion before send 
messages to consumer, we could use pulsar funtion to consume messages from the 
original topic, do the conversion and publish result to another topic. This is 
a inefficiency way that would cost much more network and storage.
   
   I think it's not the same storage as the PIP-94 right? PIP 94 is converting 
the data encoding format, it will not touch the user's data, if you want to 
convert the user's data, the broker needs to deserialize data which will bring 
more GC workload on the broker. Yes do data conversion on the broker side can 
reduce the network workload, but increase the CPU workload, the burden of JVM 
GC, you might get a more unstable broker. 
   
   > The purpose of multiple managed ledgers for a topic is to do message 
conversion asynchronously. This will cost more storage but no need to sacrifice 
performance neither producer nor consumer side.
   
   But there are also many disadvantages, each managed ledger we need to 
maintain the metadata, more data copies, more entries write to bookies. 


-- 
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