Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions docs/generated/core_configuration.html
Original file line number Diff line number Diff line change
Expand Up @@ -746,6 +746,18 @@
<td>String</td>
<td>Format table commit hive sync uri.</td>
</tr>
<tr>
<td><h5>format-table.commit.cleanup-thread-num</h5></td>
<td style="word-wrap: break-word;">64</td>
<td>Integer</td>
<td>The maximum number of concurrent deletions of old data files during overwrite commits for an internal Format Table with catalog-managed partitions. Supported values are 1 through 64. Other Format Tables use serial cleanup. This limit uses a separate thread pool and is independent of file-operation.thread-num, so the total file-operation concurrency in one process may be the sum of both limits.</td>
</tr>
<tr>
<td><h5>format-table.commit.publish-thread-num</h5></td>
<td style="word-wrap: break-word;">64</td>
<td>Integer</td>
<td>The maximum number of concurrent file publications during commits for a partitioned Format Table with catalog-managed partitions. Supported values are 1 through 64. Other Format Tables publish serially.</td>
</tr>
<tr>
<td><h5>format-table.file.compression</h5></td>
<td style="word-wrap: break-word;">(none)</td>
Expand Down
43 changes: 43 additions & 0 deletions paimon-api/src/main/java/org/apache/paimon/CoreOptions.java
Original file line number Diff line number Diff line change
Expand Up @@ -2654,6 +2654,29 @@ public String toString() {
.noDefaultValue()
.withDescription("Format table commit hive sync uri.");

public static final ConfigOption<Integer> FORMAT_TABLE_COMMIT_CLEANUP_THREAD_NUM =
key("format-table.commit.cleanup-thread-num")
.intType()
.defaultValue(64)
.withDescription(
"The maximum number of concurrent deletions of old data files during "
+ "overwrite commits for an internal Format Table with "
+ "catalog-managed partitions. Supported values are 1 through "
+ "64. Other Format Tables use serial cleanup. This limit uses "
+ "a separate thread pool and is independent of "
+ "file-operation.thread-num, so the total file-operation "
+ "concurrency in one process may be the sum of both limits.");

public static final ConfigOption<Integer> FORMAT_TABLE_COMMIT_PUBLISH_THREAD_NUM =
key("format-table.commit.publish-thread-num")
.intType()
.defaultValue(64)
.withDescription(
"The maximum number of concurrent file publications during commits "
+ "for a partitioned Format Table with catalog-managed "
+ "partitions. Supported values are 1 through 64. Other Format "
+ "Tables publish serially.");

@Immutable
public static final ConfigOption<String> BLOB_FIELD =
key("blob-field")
Expand Down Expand Up @@ -3302,6 +3325,26 @@ public String formatTableCommitSyncPartitionHiveUri() {
return options.get(FORMAT_TABLE_COMMIT_HIVE_SYNC_URI);
}

public int formatTableCommitCleanupThreadNum() {
int threadNum = options.get(FORMAT_TABLE_COMMIT_CLEANUP_THREAD_NUM);
checkArgument(
threadNum >= 1 && threadNum <= 64,
"Option %s must be between 1 and 64, but was %s.",
FORMAT_TABLE_COMMIT_CLEANUP_THREAD_NUM.key(),
threadNum);
return threadNum;
}

public int formatTableCommitPublishThreadNum() {
int threadNum = options.get(FORMAT_TABLE_COMMIT_PUBLISH_THREAD_NUM);
checkArgument(
threadNum >= 1 && threadNum <= 64,
"Option %s must be between 1 and 64, but was %s.",
FORMAT_TABLE_COMMIT_PUBLISH_THREAD_NUM.key(),
threadNum);
return threadNum;
}

public MemorySize fileReaderAsyncThreshold() {
return options.get(FILE_READER_ASYNC_THRESHOLD);
}
Expand Down
Loading