📝 13 新 Issues
✅ 13 关闭
✨ 9 新 PRs
🎉 20 合并
⚠️ 重点关注
- ⚠️ Issue #3100 不稳定测试 IcebergRewriteITCase.testPkTableCompaction
- ⚠️ Issue #3129 不稳定测试 SparkStreamingTest read: log table
- ⚠️ Issue #3106 TieringSource 在 Coordinator IP 变更时心跳重试失败(good first issue)
💬 Issue/PR 动态
Issue 讨论
Issue #3128 [website] Move blog content to a separate repository
- @wuchong: 咨询 @polyzos @fresh-borzoni 对将博客迁移到独立仓库的看法
- @polyzos: 同意方案,长期来看图片积累是个问题,需要考虑额外维护开销
- @wuchong: 主要维护开销在于同步 CSS 和格式,更新不频繁,延迟同步不会破坏网站
- @fresh-borzoni: 建议将整个网站拆分到独立仓库,网站也会积累二进制资源
Issue #3114 [helm] Add pod annotations, labels, and pod disruption budget support
- @fresh-borzoni: 请求 @affo @morazow @polyzos 帮忙审核
- @morazow: 建议 PDB 增加 minAvailable/maxUnavailable 互斥校验和空值校验
- @fresh-borzoni: 已处理审核意见,重新排序 podLabels 和 selectorLabels
Issue #3102 [client] release the resource of record accumulator only when sender thread is stopped.
- @loserwang1024: CC @platinumhamburg 查看此修复
- @utafrali: 建议移除未使用的 getBufferAllocator(),destroyResources() 添加 Javadoc 和 AtomicBoolean 防护
- @loserwang1024: 已处理审核意见,确保 destroyResources() 可安全处理重复调用
- @platinumhamburg: 指出 volatile 不保证原子性,建议用 AtomicBoolean.compareAndSet 替代
Issue #3107 Handle coordinator disconnect in TieringSourceEnumerator
- @Copilot: 建议增加 DisconnectException 测试用例覆盖嵌套异常链场景
Issue #3087 [docs] Add documentation for how contributors can become committers
- @Copilot: 建议修复标题层级不一致和语法问题,Committer Rights 章节应更名或扩展
- @luoyuxia: 建议使用 ### 代替 #### 作为标题级别
- @matrixsparse: 已处理审核意见:修复标题层级、语法问题,保持与 Paimon 一致
Issue #3098 [helm] Support injecting environment variables and external secrets
- @affo: 解释 ASF 不允许外部 action,已转换为本地安装 unittest
- @morazow: 理解更改原因,供应链安全问题需要谨慎处理外部 action
- @fresh-borzoni: 感谢 @luoyuxia 帮助解决 CI 问题
Issue #3106 TieringSource should fail over when coordinator IP changes and heartbeat retries a stale endpoint
PR Review
PR #3114 [helm] Add pod annotations, labels, and pod disruption budget support
- @morazow: 建议 PDB 校验 minAvailable/maxUnavailable 互斥,确保至少设置一个值
- @fresh-borzoni: 处理审核意见,调整 podLabels 顺序防止覆盖 selectorLabels
PR #3102 [client] release the resource of record accumulator only when sender thread is stopped.
- @utafrali: 建议移除未使用的 getBufferAllocator(),为 destroyResources() 添加 Javadoc 说明生命周期
- @platinumhamburg: 指出 volatile 不保证原子性,建议用 AtomicBoolean 防止并发双重调用
- @loserwang1024: 已处理建议,确保 destroyResources() 可安全处理意外双重调用
PR #3069 [client] Add validation for client.scanner.log.max-poll-records and client.connect-timeout
- @fresh-borzoni: 建议使用 validMinValue/validMinDuration 辅助方法,配置校验应提前到构造函数开头
- @Prajwal-banakar: 已处理所有审核意见,添加辅助方法并提前配置校验
PR #3087 [docs] Add documentation for how contributors can become committers
- @Copilot: 建议修复标题层级、语法错误,Committer Rights 章节内容与标题不符
- @luoyuxia: 建议使用 ### 作为标题级别
- @matrixsparse: 已处理审核意见,修复标题层级和语法问题
PR #3042 [spark] Support batch union read for lake-enabled primary key tables
- @Yohahaha: 后续将继续支持 filter pushdown 和细粒度 split 生成等读取优化
PR #3007 [client] Implement adaptive fetch rate control for LogScanner
- @fresh-borzoni: 提出空 fetch 是否触发跳过、过滤后空数据误判、日志级别等设计问题
PR #3107 Handle coordinator disconnect in TieringSourceEnumerator
- @Copilot: 建议增加 DisconnectException 测试用例,覆盖嵌套异常链场景
PR #3098 [helm] Support injecting environment variables and external secrets
- @morazow: 询问 CI 为何之前没运行检查
- @affo: 解释 ASF 不允许外部 action,已转换为本地安装 unittest
- @fresh-borzoni: 该 action 不在白名单,感谢 @luoyuxia 协助解决
PR #3088 [Blog] Column Pruning
- @wuchong: 应使用本地图片而非外部资源,ASF 会阻止外部资源引用
PR #2924 [server] Allow enabling lakehouse on tables created before cluster-level lakehouse is enabled
PR #2836 [FLUSS-2686] Add COS filesystem support
- @leekeiabstraction: 建议增加集成测试,重命名 hadoop cos version,解释默认值选择原因
📝 新建 Issue/PR
Issues
- #3129 [Test] Unstable test SparkStreamingTest read: log table @wuchong component=connector/spark
- #3128 [website] Move blog content to a separate repository @wuchong component=website
- #3127 [test] Unstable test FlussAdminITCase.testDynamicConfigs @app/github-actions
- #3126 Extend the API to support KvScan @wuchong
- #3125 Implement Server-Side KvScan @wuchong
- #3124 Introduce Protobuf definitions for RPC @wuchong
- #3122 [spark] Make LakeSplit extend Serializable to simplify Spark serialization @YannByron
- #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
Pull Requests
- #3123 [spark] Make LakeSplit extend Serializable to simplify Spark serialization @YannByron
- #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
- #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
- #3128 [website] Move blog content to a separate repository @wuchong component=website
- #3124 Introduce Protobuf definitions for RPC @wuchong
- #3115 [helm] Add pod annotations, pod labels, and PodDisruptionBudget support @fresh-borzoni
- #3097 [helm] Support injecting environment variables and external secrets @fresh-borzoni
- #3085 Remote log consumption is stuck because the semaphore permit cannot be acquired @zuston version: 0.9.1
- #3073 add document for how contributors can be granted more rights such as commit access or decision power is clearly documented @luoyuxia
- #3049 Introduce `netty.server.max-request-size` to limit the request size @loserwang1024 version: 0.9.1
- #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
- #2908 Allow enabling lakehouse on tables created before cluster-level lakehouse is enabled @luoyuxia
- #2673 [spark] to support map type @YannByron
- #2667 [spark] to support scala2.13 @YannByron
已合并 PRs
- #3130 [website] Move blog content to a separate repository "apache/fluss-blog" @wuchong
- #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
- #3108 [server][netty] Introduce netty.server.max-request-size to limit the request size (#3050) @wuchong
- #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
- #3087 [docs] Add documentation for how contributors can become committers @matrixsparse
- #3042 [spark] Support batch union read for lake-enabled primary key tables @Yohahaha
- #3041 [spark] support scala 2.13 @YannByron
- #3037 [docs] Add Insert If Not Exists section to Lookup Joins documentation @platinumhamburg
- #2976 Introduce RPC Layer for KV Scan @polyzos
- #2924 [server] Allow enabling lakehouse on tables created before cluster-level lakehouse is enabled @luoyuxia priority=critical
- #2740 [spark] support map type @YannByron
- #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