-
Notifications
You must be signed in to change notification settings - Fork 13.8k
[FLINK-11313][checkpoint] Introduce LZ4 compression for keyed state in full checkpoints and savepoints #7819
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Thanks a lot for your contribution to the Apache Flink project. I'm the @flinkbot. I help the community Review Progress
Please see the Pull Request Review Guide for a full explanation of the review process. DetailsThe Bot is tracking the review progress through labels. Labels are applied according to the order of the review items. For consensus, approval by a Flink committer of PMC member is required Bot commandsThe @flinkbot bot supports the following commands:
|
38210f1 to
ce48769
Compare
|
Since #7586 already merged, I need to rebase the latest code. |
ce48769 to
c59b5a7
Compare
|
Since Yu has completed refactoring the builder of state backend, I have to rebase with the latest code. |
…n full checkpoints and savepoints
c59b5a7 to
def5147
Compare
|
Rebase latest code again... |
|
This PR is being marked as stale since it has not had any activity in the last 180 days. If you are having difficulty finding a reviewer, please reach out to the [community](https://flink.apache.org/what-is-flink/community/). If this PR is no longer valid or desired, please feel free to close it. If no activity occurs in the next 90 days, it will be automatically closed. |
|
This PR has been closed since it has not had any activity in 120 days. |
What is the purpose of the change
This PR created based on the discussion within PR-7515.
LZ4 is a popular lightweight compression, which has better performance than Snappy in many cases, and also recommended by RocksDB.
Based on this, I introduce LZ4 except for now existing snappy compression for keyed state in full checkpoint and savepoints.
Brief change log
StreamCompressionDecoratorSnapshotinterface. The relationship betweenStreamCompressionDecoratorand it just likeTypeSerializerSnapshotandTypeSerializerSnapshot. We serializeStreamCompressionDecoratorSnapshotwithinKeyedBackendSerializationProxyso that we even support user definedStreamCompressionDecorator.setCompressionDecoratorinAbstractStateBackend.KeyedBackendSerializationProxyto a newer version to support customized compression decorator.Verifying this change
This change added tests and can be verified as follows:
SerializationProxiesTestandStateSnapshotCompressionTestfor newely added compression type.testSetCompressionDecoratorwithinStateBackendTestBaseto verify different state backends could setStreamCompressionDecoratorwell.EventTimeWindowCheckpointingITCaseIT cases to use LZ4 compression.Does this pull request potentially affect one of the following parts:
@Public(Evolving): yesKeyedBackendSerializationProxyDocumentation