Skip to content

[spark] Allow specific plugin impl can use catalog config to overwrite default table prop#3364

Merged
luoyuxia merged 2 commits into
apache:mainfrom
Yohahaha:spark-dlf-token
May 22, 2026
Merged

[spark] Allow specific plugin impl can use catalog config to overwrite default table prop#3364
luoyuxia merged 2 commits into
apache:mainfrom
Yohahaha:spark-dlf-token

Conversation

@Yohahaha
Copy link
Copy Markdown
Contributor

Purpose

Linked issue: close #xxx

Brief change log

as title.

Tests

API and Format

Documentation

@Yohahaha
Copy link
Copy Markdown
Contributor Author

@YannByron @luoyuxia PTAL!

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the Spark lake read path so that lake storage plugins can receive (and potentially use) Spark catalog configuration in addition to the per-table datalake properties when constructing a LakeSource.

Changes:

  • Extend FlussLakeUtils.createLakeSource to accept catalog-level properties and merge them into the lake plugin Configuration.
  • Thread flussConfig through Spark scan builders / batches / reader factory so catalog properties can be provided at lake source creation time.
  • Update lake filter pushdown path to create lake sources using both catalog and table properties.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
fluss-spark/fluss-spark-common/src/main/scala/org/apache/fluss/spark/read/lake/FlussLakeUtils.scala Changes lake source construction to merge catalog properties into lake plugin config.
fluss-spark/fluss-spark-common/src/main/scala/org/apache/fluss/spark/read/lake/FlussLakeUpsertBatch.scala Passes flussConfig.toMap into lake source creation for upsert lake reads.
fluss-spark/fluss-spark-common/src/main/scala/org/apache/fluss/spark/read/lake/FlussLakeAppendBatch.scala Passes flussConfig.toMap into lake source creation for append lake reads.
fluss-spark/fluss-spark-common/src/main/scala/org/apache/fluss/spark/read/lake/FlussLakePartitionReaderFactory.scala Creates lake source using both catalog and table properties.
fluss-spark/fluss-spark-common/src/main/scala/org/apache/fluss/spark/read/FlussScanBuilder.scala Makes flussConfig available for lake filter pushdown source creation.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +44 to +46
catalogProperties.asScala.foreach {
case (k, v) => lakeConfig.setString(s"$SPARK_CATALOG_PREFIX$k", v)
}
@luoyuxia
Copy link
Copy Markdown
Contributor

@Yohahaha lgtm overall. Please take care of the comments of copilot

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

@luoyuxia luoyuxia left a comment

Choose a reason for hiding this comment

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

+1

@luoyuxia luoyuxia merged commit 85dba21 into apache:main May 22, 2026
6 of 7 checks passed
@Yohahaha Yohahaha deleted the spark-dlf-token branch May 23, 2026 08:42
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.

3 participants