Details
-
Improvement
-
Status: Closed
-
Not a Priority
-
Resolution: Won't Fix
-
1.10.0
-
None
Description
I think the StreamingFileSink contains some problems that will affect us in the long-run if we intend this sink to be the main exactly-once FS sink.
1. Code duplication
The StreamingFileSink currently has 2 builders for row and bulk formats:
RowFormatBuilder, BulkFormatBuilder
They both contain almost exactly the same config settings with a lot of code duplication that should be moved to a common superclass (StreamingFileSink.BucketsBuilder).
2. Inconsistent config options
I also noticed some strange/invalid configuration settings for the builders:
- RowFormatBuilder#withBucketAssignerAndPolicy : feels like an internal method that is not used anywhere. It also overwrites the bucket factory
- BulkFormatBuilder#withBucketAssigner : takes an extra type parameter compared to the row format for the bucket ID type
- BulkFormatBuilder#withBucketCheckInterval : does not affect behavior as it always uses the OnCheckpointRollingPolicy
This can probably solved by fixing the code duplication
3. Fragmented configuration
This is not a big problem but only affects the part file config options that were introduced recently. We have added 2 methods: withPartFilePrefix and withPartFileSuffix
I think we should aim to group configs that belong together -> withPartFileConfig
Attachments
1.
|
Refactor part file configuration into a single method | Closed | João Boto |
|