The GitHub Actions job "Nightly" on fluss.git/main has failed.
Run started by GitHub user wuchong (triggered by wuchong).

Head commit for run:
38fae3467ccd95c0a4929c3fe6aef69035630de0 / Evan 
<[email protected]>
[client] Avoid per-record AutoPartitionStrategy construction in 
WriterClient.doSend in log tables (#3529)

* perf(write): skip auto-partition work for non-partitioned tables

Building the AutoPartitionStrategy on every record needlessly cost CPU in the 
hot write path, even for tables without partition keys.

Guard the dynamic partition creation call in WriterClient.doSend behind a 
partition-keys check so the strategy is only resolved for partitioned tables, 
and cache AutoPartitionStrategy lazily in TableConfig via a volatile field 
rather than rebuilding it on each access.

Signed-off-by: Evan <[email protected]>

* address comments

- test  the strategy is memoized, so repeated calls return the same 
instancetestAutoPartitionStrategyIsCached

- use tableInfo.isPartitioned instead of !tableInfo.getPartitionKeys().isEmpty()

- address comments

Signed-off-by: Evan <[email protected]>

* Address review feedback on #3529

instead of memoizing the strategy on TableConfig, pass TableInfo into
checkAndCreatePartitionAsync and resolve getAutoPartitionStrategy()
inside the create branch. The strategy is only needed when a partition
is actually created, so on the common "already exists" path it is never
built. This removes the cached field

- WriterClient: pass tableInfo instead of pre-computing the strategy
- DynamicPartitionCreator: resolve partitionKeys + strategy in the create 
branch only
- TableConfig: drop the cached volatile field and stale javadoc
- Remove the caching test added previously

Signed-off-by: Evan <[email protected]>

---------

Signed-off-by: Evan <[email protected]>

Report URL: https://github.com/apache/fluss/actions/runs/28681974746

With regards,
GitHub Actions via GitBox

Reply via email to