Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.16.0
Description
Currently, AbstractStateChangeLogger use syncÂ
DataOutputViewStreamWrapper to serialize state change which is unnecessary because it will always be executed in single thread.
So replace it with a unsync one could improve the performance of serialization.
In my simple stateful WordCount case, it could improve TPS by 10% at least.
Furthermore, because the serialization and deserialization of key and value have been executed in some delegaed state backend, maybe we could avoid double serialization. It may improve the performance if the serialization logic is complex and even is the bottleneck.
This ticket focuses on the sync serializer problem.
The second problem about double serialization could also be disscussed, and I will create a new ticket if necessary.
Attachments
Issue Links
- links to