📝 11 新 Issues
✅ 14 关闭
✨ 9 新 PRs
🎉 24 合并
🔥 核心要点
- 🎉 PR #2855 支持 KV 表恢复时从远程存储下载 CDC 日志段,显著提升数据恢复能力
- 🎉 PR #3042 Spark 新增 Lake 启用的主键表批量联合读取功能
- 🐛 PR #3104 修复远程文件下载时静默失败问题,增加异常捕获机制
- 🚀 PR #3114 Helm Chart 新增 Pod 注解、标签和 PodDisruptionBudget 支持
- 📚 PR #3087 新增贡献者成为 Committer 的流程文档
⚠️ 重点关注
- ⚠️ Issue #3101 RecordAccumulator 中出现 Accounted size went negative 错误
- ⚠️ Issue #3103 Java.lang.NoSuchFieldError: JAVA_9 兼容性问题
💬 Issue/PR 动态
Issue 讨论
Issue #3085 Remote log consumption is stuck because the semaphore permit cannot be acquired
- @wguo-talend: 提供了防御性信号量管理方案,在异常情况下正确释放信号量避免死锁
- @wuchong: 请求为 release-0.9 分支也创建对应的修复 PR
Issue #3102 [client] release the resource of record accumulator only when sender thread is stopped.
- @utafrali: 指出 getBufferAllocator 未被使用、destroyResources 缺少并发保护等代码问题
- @loserwang1024: 修复了测试专用方法并确保 destroyResources 对双重调用安全
- @platinumhamburg: 建议使用 AtomicBoolean 保证 destroyResources 的幂等性和线程安全
Issue #3074 add a page for reporting security issue
- @matrixsparse: 请求认领此任务,表示熟悉 Fluss 文档结构
- @luoyuxia: 将 Issue 分配给 matrixsparse
Issue #3095 [flink] Skip emitting update events when only non-projected columns are modified in source connector
- @wuchong: 将此任务转交给 loserwang1024 处理
- @loserwang1024: 确认将接手此任务的开发工作
Issue #3091 [server] RemoteLogFetcher optimize to async downloading
- @fresh-borzoni: 表示可以协助优化,因为有 Rust SDK 相关经验
PR Review
PR #2855 [kv] Support downloading CDC log segments from remote storage during KV table recovery
- @wuchong: 提出多项优化建议:懒加载临时目录、移除重复构造器、合并 readLogRecordsAndApply 方法等
- @swuferhong: 说明已在单元测试中验证了过期目录清理功能
PR #3114 [helm] Add pod annotations, labels, and pod disruption budget support
- @morazow: 要求增加 PDB minAvailable/maxUnavailable 互斥验证、测试覆盖及 podLabels 顺序调整
- @fresh-borzoni: 按要求调整了 selectorLabels 顺序确保不被覆盖
PR #3042 [spark] Support batch union read for lake-enabled primary key tables
- @luoyuxia: 建议添加 partition 过滤优化,并提议补充 Spark 快速入门文档
- @Yohahaha: 确认 filter pushdown 等更多读取优化将在后续 PR 中实现
PR #3107 Handle coordinator disconnect in TieringSourceEnumerator
- @Copilot: 建议增加 DisconnectException 测试用例,确保生产环境故障模式被完整覆盖
PR #3087 [docs] Add documentation for how contributors can become committers
- @matrixsparse: 已修复标题层级、语法问题,并保持与 Paimon 风格一致
- @Copilot: 指出标题结构不一致、语法错误,建议扩展 Committer Rights 内容
- @luoyuxia: 建议调整标题层级为 H3
PR #3098 [helm] Support injecting environment variables and external secrets
- @affo: 解释了 CI 修复原因:ASF 不允许使用未授权的外部 Action
- @morazow: 确认外部 Action 限制的合理性
PR #3069 [client] Add validation for client.scanner.log.max-poll-records and client.connect-timeout
- @fresh-borzoni: 建议使用 validMinValue、validMinDuration 辅助方法,并将验证前置到构造函数开头
- @Prajwal-banakar: 已采纳所有建议,添加辅助方法并提前验证配置
📝 新建 Issue/PR
Issues
- #3117 [spark] Support filter pushdown for log tables @fresh-borzoni
- #3115 [helm] Add pod annotations, pod labels, and PodDisruptionBudget support @fresh-borzoni
- #3106 TieringSource should fail over when coordinator IP changes and heartbeat retries a stale endpoint @luoyuxia good first issue, component=lake/tiering-flink
- #3103 Java.lang.NoSuchFieldError: JAVA_9 @loserwang1024
- #3101 java.lang.IllegalArgumentException: Accounted size went negative. @loserwang1024
- #3100 [test] Unstable test IcebergRewriteITCase.testPkTableCompaction @app/github-actions
- #3097 [helm] Support injecting environment variables and external secrets @fresh-borzoni
- #3096 [server] Add timeout mechanism for rebalance tasks to prevent indefinite blocking on missing completion events @swuferhong
- #3095 [flink] Skip emitting update events when only non-projected columns are modified in source connector @wuchong component=connector/flink
- #3093 [docs] Fix table cell overflow into sidebar @fresh-borzoni
- #3091 [server] RemoteLogFetcher optimize to async downloading @swuferhong
Pull Requests
- #3121 [docs] Fix broken anchors in getting-started.md @matrixsparse
- #3120 [docs] Add security reporting documentation @matrixsparse
- #3116 [spark] Support filter pushdown for log tables @fresh-borzoni
- #3113 [common] Remove MapUtils.newConcurrentMap() to avoid dependencies conflict. @loserwang1024
- #3110 Bump org.apache.logging.log4j:log4j-core from 2.17.1 to 2.25.4 @app/dependabot dependencies, java
- #3108 [server][netty] Introduce netty.server.max-request-size to limit the request size (#3050) @wuchong
- #3107 Handle coordinator disconnect in TieringSourceEnumerator @utafrali
- #3102 [client] release the resource of record accumulator only when sender thread is stopped. @loserwang1024
- #3099 [WIP][spark] Add spark tiering service @Yohahaha
✅ 关闭 Issue/PR
已关闭 Issues
- #3115 [helm] Add pod annotations, pod labels, and PodDisruptionBudget support @fresh-borzoni
- #3097 [helm] Support injecting environment variables and external secrets @fresh-borzoni
- #3093 [docs] Fix table cell overflow into sidebar @fresh-borzoni
- #3085 Remote log consumption is stuck because the semaphore permit cannot be acquired @zuston version: 0.9.1
- #3075 [lake/tiering] Add pendingTime and freshness metrics for lake tiering tables @beryllw
- #3073 add document for how contributors can be granted more rights such as commit access or decision power is clearly documented @luoyuxia
- #3066 [filesystem] S3 credential delegation requires static keys, blocking IRSA/IAM role usage @fresh-borzoni
- #3025 Replace Netty PooledByteBufAllocator with bump-pointer ChunkedAllocationManager for Arrow memory allocation @loserwang1024
- #2996 [filesystem][bug] client.fs.* config silently ignored by all filesystem plugins @fresh-borzoni
- #2990 [docs] Add documentation for lookup.insert-if-not-exists feature @platinumhamburg version: 0.9.1
- #2988 ArrayIndexOutOfBoundsException in partial updates after ADD COLUMN @fresh-borzoni version: 0.9.1
- #2984 [spark] Batch union read for pk table @Yohahaha
- #2853 [Feature] Support downloading CDC log segments from remote storage during KV table recovery @swuferhong
- #2663 [Umbrella] Improve Direct Memory OOM in client side. @loserwang1024
已合并 PRs
- #3119 [dependencies] Bump org.assertj:assertj-core to 3.27.7 in release-0.9 @luoyuxia
- #3118 [dependencies] Bump org.apache.logging.log4j:log4j-1.2-api to 2.25.4 in release-0.9 @luoyuxia
- #3114 [helm] Add pod annotations, labels, and pod disruption budget support @fresh-borzoni
- #3112 [dependencies] Bump com.google.protobuf:protobuf-java from 2.5.0 to 3.25.5 @luoyuxia
- #3111 [release-0.9] Bump org.apache.kafka:kafka-clients from 3.9.1 to 3.9.2 in /fluss-kafka @luoyuxia
- #3109 Bump org.apache.logging.log4j:log4j-1.2-api from 2.17.1 to 2.25.4 @app/dependabot dependencies, java
- #3105 Bump org.apache.kafka:kafka-clients from 3.9.1 to 3.9.2 in /fluss-kafka @app/dependabot dependencies, java
- #3104 [client] Catch throwable to avoid slient failure on remote file download @zuston
- #3098 [helm] Support injecting environment variables and external secrets @fresh-borzoni
- #3094 [backport][release-0.9][filesystem] Support default AWS credential chain for S3 delegation (… @fresh-borzoni
- #3092 [docs] chore: fix overlapping table and sidebar in docs @fresh-borzoni
- #3090 [release-0.9][backport] Fix OOB in partial update/delete after ADD COLUMN @fresh-borzoni
- #3089 [hotfix[ blog title @polyzos
- #3087 [docs] Add documentation for how contributors can become committers @matrixsparse
- #3076 [lake/tiering] add tiering table pending time and freshness metrics @beryllw
- #3071 [server] Make leader-only rebalance tasks execute sequentially @swuferhong
- #3067 [filesystem] Support default AWS credential chain for S3 delegation @fresh-borzoni
- #3042 [spark] Support batch union read for lake-enabled primary key tables @Yohahaha
- #3037 [docs] Add Insert If Not Exists section to Lookup Joins documentation @platinumhamburg
- #3026 [client] Replace Netty PooledByteBufAllocator with bump-pointer ChunkedAllocationManager for Arrow memory allocation. @loserwang1024
- #2997 [filesystem][bug] Fix client.fs.* config prefix not stripped before passing to… @fresh-borzoni
- #2855 [kv] Support downloading CDC log segments from remote storage during KV table recovery @swuferhong
- #2488 Bump org.assertj:assertj-core from 3.23.1 to 3.27.7 @app/dependabot dependencies, java
- #1775 Bump com.google.protobuf:protobuf-java from 2.5.0 to 3.25.5 in /fluss-filesystems/fluss-fs-hdfs @app/dependabot dependencies, java