Hi William,

Indeed, we've just worked on RATIS-2096, which put zero-copy behind a flag that 
is disabled by default. It's safe to release Ratis 3.1.0 now.

Thanks for proposing the release.

Regards,
Duong

On 2024/05/23 03:48:45 William Song wrote:
> Hi Tsz-Wo and Duong,
> 
> Thanks very much for the response!
> 
> > I agree that we should have a release excluding Zero-Copy
> 
> Sure! Let me prepare for the release starting by cherry-pick changes since 
> 3.0.1. IoTDB plans to release an official version in June, so I’m hoping to 
> start the 3.1.0 release process in the early June.
> 
> > For twice off-heap memory usage, could you share more details?
> I’m trying to analyze the logs and metrics. I’ll share the details once any 
> uncommon patterns discovered.
> 
> > Also, an increase in off-heap memory utilization is indeed expected cted. 
> > The reason is, before zero-copy, incoming data is buffered (by netty) in 
> > the off-heap area and then is parsed by grpc/protobuf in a copy fashion as 
> > on-heap objects. The off-heap buffer is released immediately. With 
> > zero-copy optimization, when grpc/protobuf parses the proto objects with 
> > binary reference to the original off-heap buffer instead of copying to the 
> > heap. The original off-heap buffers are kept longer, hence increasing 
> > off-heap utilization. The compensation for this is a reduction of heap 
> > usage and copies so you should see less heap utilization and GC activities. 
> > The JVM process's resident set size (RSS) is also a fair metric to observe.
> 
> Thanks very much for the detailed explanation! It’s good to know the expected 
> behavior once Zero-Copy introduced. Let me check the usage of 
> StateMachine.write().
> 
> Best,
> William
> 
> > 2024年5月22日 03:23,Duong Nguyen <[email protected]> 写道:
> > 
> > Hi William,
> > 
> > If IoTDB uses stateMachineCache in any StateMachine, there's an open 
> > problem regarding extended (off-heap) memory utilzation 
> > (https://issues.apache.org/jira/browse/RATIS-2093).
> > 
> > Also, an increase in off-heap memory utilization is indeed expected. The 
> > reason is, before zero-copy, incoming data is buffered (by netty) in the 
> > off-heap area and then is parsed by grpc/protobuf in a copy fashion as 
> > on-heap objects. The off-heap buffer is released immediately.
> > With zero-copy optimization, when grpc/protobuf parses the proto objects 
> > with binary reference to the original off-heap buffer instead of copying to 
> > the heap. The original off-heap buffers are kept longer, hence increasing 
> > off-heap utilization. The compensation for this is a reduction of heap 
> > usage and copies so you should see less heap utilization and GC activities. 
> > The JVM process's resident set size (RSS) is also a fair metric to observe.
> > However, there're a few required adaptations to the StateMachine code. The 
> > following APIs are kept alive (deprecated) for backward compatibility, and 
> > to avoid corruption, we need to copy data for those APIs. It's required to 
> > remove the usage of them to fully utilize the benefit of zero-copy:
> > 1. StateMachine.write(LogEntryProto)
> > 2. StateMachine.write(LogEntryProto, TransactionContext)
> > 3. TransactionContext.getLogEntry()
> > 
> > Regarding the release of 3.1.0, please wait until the following issues are 
> > resolved: RATIS-2092, RATIS-2093 and RATIS-2094. 
> > 
> > Thanks,
> > Duong
> > 
> > On 2024/05/21 08:02:42 William Song wrote:
> >> Hi dev,
> >> 
> >> I would like to propose the release of Apache Ratis version 3.1.0. Our 
> >> last release was about 5 months ago and there are a lot of new features, 
> >> improvements and bug fixes since then.
> >> 
> >> However, I suggest that we exclude the zero-copy feature [RATIS-1931 and 
> >> its child issues] from this release. The recent build of 
> >> Ratis-3.1.0-snapshot (master branch, commit 192ce48, built in 2024.05.16) 
> >> showed twice off-heap memory usage in IoTDB regression tests. (Please let 
> >> me know if anyone encounter the same issue, thanks in advance!)
> >> 
> >> Best Regards,
> >> William
> >> 
> 
> 

Reply via email to