Hi Zakelly,

Thanks for your feedback! I address the comments in the following:

1. Good point! I’ve updated the REST API in the FLIP to make the URL more 
specific. 
2. The deployment details are omitted in the FLIP to maintain focus on the core 
interaction between Flink subtasks and the compaction service (rather than the 
service implementation details). The proposed design follows a distributed 
deployment model with components communicating through RPC. The dispatcher and 
workers can run in different processes or containers. Therefore the service can 
be independently scalable from the Flink jobs. The deployment can be quite 
flexible as the workers can be placed within or separated from the Flink 
cluster (or even colocated with DFS data nodes). The service configs are also 
customizable, e.g. tailored scheduling policies or specialized IO settings for 
compaction workloads.

Best regards,
Han Yin

> 2025年8月28日 19:28,Zakelly Lan <[email protected]> 写道:
> 
> Hi Han,
> 
> Thanks for your proposal! Remote compaction decouples compaction from
> computation, which is another great step toward cloud-native architecture.
> I have a few questions:
> 
> 1. I’d suggest including 'forst' in the URL used to update the remote
> compaction service endpoint, since this functionality is specific to
> ForStStateBackend.
> 2. What is the deployment model for the compaction service components
> (e.g., dispatcher and workers)? Do they run in the same process or
> container? How could we customize the setup of that service?
> 
> Best,
> Zakelly
> 
> On Thu, Aug 28, 2025 at 12:25 PM Han Yin <[email protected]> wrote:
> 
>> Hi everyone,
>> 
>> I would like to open a discussion on introducing remote compaction for
>> disaggregated state[1].
>> 
>> Flink state backends rely on LSM-Trees for large-scale storage, with file
>> compaction executed locally in TaskManager background threads. This
>> co-location creates local resource contention, causing latency spikes and
>> resource instability.
>> 
>> Flink 2.0 introduces disaggregated state management through the ForSt
>> StateBackend[2], employing a shared DFS as primary storage. This allows
>> ForSt to implement compaction-as-a-service (Remote Compaction) through
>> dedicated compaction workers.
>> 
>> This approach can clearly separate the responsibilities between computing
>> and storage nodes, therefore further complement Flink's disaggregated
>> architecture. Introducing a compaction service aligns with the pooling
>> concept prevalent in the cloud-native era, and can significantly improve
>> the resource efficiency and elasticity of Flink stateful jobs.
>> 
>> Looking forward to your comments or feedback. Best regards,
>> Han Yin
>> 
>> [1]
>> https://cwiki.apache.org/confluence/display/FLINK/FLIP-430%3A+Remote+Compaction+For+Disaggregated+State
>> [2] https://cwiki.apache.org/confluence/x/R4p3EQ
>> 
>> 

Reply via email to