Skip to content

Conversation

@qingfei1994
Copy link
Contributor

@qingfei1994 qingfei1994 commented Dec 18, 2025

Purpose

Linked issue: close #6825

Tests

DataFilePathFactory.java

API and Format

Documentation

with data-file.external-paths config and data-file.external-paths.strategy configured as entropy-inject, It will use a hash of the file name to create multi-level directory structures, so that the request sent to object storage will be distributed, preventing beting throttled.
the path will be something like '${data_external_path}/0001/1110/0101/1111/bucket-1/data-xxx.parquet'

@qingfei1994
Copy link
Contributor Author

@zhongyujiang @JingsongLi Could you help reivew when you have time? mainly leveraging the External Path concept and introduce the entropy-inject strategy to prevent being throttled by object storage.

Copy link
Contributor

@JingsongLi JingsongLi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

@JingsongLi JingsongLi merged commit f15bcfe into apache:master Dec 28, 2025
19 of 24 checks passed
jerry-024 added a commit to jerry-024/paimon that referenced this pull request Dec 29, 2025
* upstream/master: (51 commits)
  [test] Fix unstable test: handle MiniCluster shutdown gracefully in collect method (apache#6913)
  [python] fix ray dataset not lazy loading issue when parallelism = 1 (apache#6916)
  [core] Refactor ExternalPathProviders abstraction
  [spark] fix Merge Into unstable tests (apache#6912)
  [core] Enable Entropy Inject for data file path to prevent being throttled by object storage (apache#6832)
  [iceberg] support millisecond timestamps in iceberg compatibility mode (apache#6352)
  [spark] Handle NPE for pushdown aggregate when a datasplit has a null max/min value (apache#6611)
  [test] Fix unstable case testLimitPushDown
  [core] Refactor row id pushdown to DataEvolutionFileStoreScan
  [spark] paimon-spark supports row id push down (apache#6697)
  [spark] Support compact_database procedure (apache#6328) (apache#6910)
  [lucene] Fix row count in IndexManifestEntry
  [test] Remove unstable test: AppendTableITCase.testFlinkMemoryPool
  [core] Refactor Global index writer and reader for Btree
  [core] Minor refactor to magic number into footer
  [core] Support btree global index in paimon-common (apache#6869)
  [spark] Optimize compact for data-evolution table, commit multiple times to avoid out of memory (apache#6907)
  [rest] Add fromSnapshot to rollback (apache#6905)
  [test] Fix unstable RowTrackingTestBase test
  [core] Simplify FileStoreCommitImpl to extract some classes (apache#6904)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] Enable Entropy Inject for data file path to prevent being throttled by object storage

2 participants