Implementation:Apache Flink CompactorRequest Construction
| Knowledge Sources | |
|---|---|
| Domains | Stream_Processing, File_IO |
| Last Updated | 2026-02-09 00:00 GMT |
Overview
Concrete tool for encapsulating per-bucket file lists into serializable compaction requests provided by the Apache Flink connector-files module.
Description
CompactorRequest is a simple Serializable container with a bucket ID and two lists of FileSinkCommittable: files to compact and files to pass through unchanged. CompactorRequestSerializer handles serialization using a magic number (0x2fc61e19) for validation and delegates to FileSinkCommittableSerializer for individual committable serialization.
Usage
This is an internal data class used as the transfer format between the CompactCoordinator and CompactorOperator.
Code Reference
Source Location
- Repository: Apache Flink
- File: flink-connectors/flink-connector-files/src/main/java/org/apache/flink/connector/file/sink/compactor/operator/CompactorRequest.java
- Lines: L33-73
Signature
@Internal
public class CompactorRequest implements Serializable {
public CompactorRequest(String bucketId);
public CompactorRequest(
String bucketId,
List<FileSinkCommittable> committableToCompact,
List<FileSinkCommittable> committableToPassthrough);
public void addToCompact(FileSinkCommittable committable);
public void addToPassthrough(FileSinkCommittable committable);
public String getBucketId();
public List<FileSinkCommittable> getCommittableToCompact();
public List<FileSinkCommittable> getCommittableToPassthrough();
}
Import
import org.apache.flink.connector.file.sink.compactor.operator.CompactorRequest;
// Internal class
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| bucketId | String | Yes | Bucket being compacted |
| committableToCompact | List<FileSinkCommittable> | Yes | Files to merge |
| committableToPassthrough | List<FileSinkCommittable> | No | Files to forward unchanged |
Outputs
| Name | Type | Description |
|---|---|---|
| request | CompactorRequest | Serializable request for the compactor operator |
Usage Examples
Request Creation
// Created by CompactCoordinator when trigger fires:
CompactorRequest request = new CompactorRequest("2024/01/15/14");
request.addToCompact(pendingFile1);
request.addToCompact(pendingFile2);
request.addToPassthrough(cleanupCommittable);
// Emitted downstream to CompactorOperator