📝 6 新 Issues
✅ 5 关闭
✨ 4 新 PRs
🎉 7 合并
⚠️ 重点关注
- ⚠️ Issue #3292 Flink/Spark 分区剪枝对非字符串分区键范围谓词产生错误结果,属于正确性问题
💬 Issue/PR 动态
Issue 讨论
Issue #1600 [Umbrella] FIP-17: Support Full KV Scan for Primary Key Tables
- @wuchong: 询问是否需要客户端和连接器端的实现,建议创建子问题
- @polyzos: 已创建 Java、Flink 和 Rust 客户端子问题,目标是 1.0 版本实现
Issue #3287 Batched split assignment to per flink TM reader
- @zuston: 参考 Paimon 的实现方式处理批量分配
Issue #145 [FIP-33] Fluss server supports writing to multiple disks.
- @wuchong: 建议创建文档说明如何配置多目录集群
Issue #3218 [test] Unstable test BatchScannerITCase.testKvSnapshotLease
- @kevin91nl: 推荐使用 Teststep GitHub Action 追踪测试通过率以识别不稳定测试
Issue #2942 [server] Fix TabletServer fails to restart after unclean shutdown due to EOFException in log recovery
- @wuchong: 同意处理更多类型的异常,感谢发现
- @LiebingYu: 解释了 Fluss 与 Kafka 在批处理验证上的核心差异及异常处理方案
Issue #3227 [spark] Fix empty projection causing Invalid metadata length for COUNT(*)/COUNT(1)
- @Kaixuan-Duan: Spark 连接器实现 COUNT 直接通过 Admin API 获取行数,无需扫描数据
PR Review
PR #3151 [KV] Kvscan Server Side
- @wuchong: 建议将 kvScanMaxBatchSizeBytes 移入 ScannerManager,避免无界自旋等待
PR #3256 [lake/hudi] Introduce fluss-lake-hudi module and HudiLakeStorage
- @fhan688: 介绍 Hudi 相关核心工厂实现和目录依赖设置
- @XuQianJin-Stars: 建议 visibility 改为 private,保持一致性;应遵循 Iceberg 模式避免硬依赖污染
PR #3286 [flink] Support kv snapshot lease in tiering service (#2898)
- @Copilot: 指出 lease 释放时机、异常处理和不可用快照检查等问题
- @luoyuxia: 质疑 failover 逻辑变更、lease 释放和状态设计,建议简化实现
PR #3288 [flink] introduce batched splits assignment mechanism
- @Copilot: 建议参数验证、考虑更安全的默认值,避免日志过大开销
PR #3240 [spark] partition filter pushdown for non-lake log and kv tables
- @luoyuxia: 发现分区剪枝对非字符串分区键有正确性 Bug,字符串比较导致错误结果
- @fresh-borzoni: 计划将修复提升到 fluss-common 层,已创建 issue #3292 跟踪
PR #3242 [client] Fix tiering hang on first_row merge engine empty batches
- @luoyuxia: 建议简化代码结构、删除过长注释、优化命名
- @Kaixuan-Duan: 已采纳建议:删除过长注释、重命名变量、简化代码逻辑
PR #3208 [flink] Fix batch query on empty datalake-enabled table to return 0 rows instead of failing
- @luoyuxia: 指出主键表批处理回退可能生成混合类型 splits,当前连接器不支持合并
- @matrixsparse: 计划提交后续 PR 修复此限制
PR #3295 [Client] Kvscan java client
- @Copilot: 指出文档与实现不一致:快照边界是逐 bucket 的,非表级一致性视图
📝 新建 Issue/PR
Issues
- #3294 [Rust] Extend the Rust Client to support KvScan @polyzos component=client
- #3293 [Flink] Extend the Flink connector to support KvScan @polyzos
- #3292 [flink][spark] Partition pruning gives wrong results for non-STRING partition keys with range predicates @fresh-borzoni
- #3290 [flink] Avoid creating empty lake writer in TieringSplitReader @luoyuxia
- #3289 [FIP-37] Implement RoaringBitmap SQL functions via FlussCatalog @Prajwal-banakar
- #3287 Batched split assignment to per flink TM reader @zuston
Pull Requests
- #3296 [flink] Fix batch fallback generating mixed split types for primary-key tables @matrixsparse
- #3295 [Client] Kvscan java client @polyzos
- #3288 [flink] introduce batched splits assignment mechanism @zuston
- #3286 [flink] Support kv snapshot lease in tiering service (#2898) @XuQianJin-Stars
✅ 关闭 Issue/PR
已关闭 Issues
- #3290 [flink] Avoid creating empty lake writer in TieringSplitReader @luoyuxia
- #3241 [spark] partition filter pushdown for non-lake log and kv tables @fresh-borzoni
- #3180 Add documentation for contributing a blog post @wuchong good first issue, component=website
- #3125 Implement Server-Side KvScan @wuchong
- #145 [FIP-33] Fluss server supports writing to multiple disks. @XuQianJin-Stars component=server
已合并 PRs
- #3291 [flink] Avoid creating empty lake writer in TieringSplitReader @luoyuxia
- #3281 [catalog] Preserve exception cause when rethrowing catalog exceptions @XuQianJin-Stars
- #3240 [spark] partition filter pushdown for non-lake log and kv tables @fresh-borzoni
- #3237 [lake/iceberg] Enhance IcebergSplitPlanner to only include filter column stats @zuston
- #3182 [docs] add contribute a blog post guide (#3180) @tmchow
- #3151 [KV] Kvscan Server Side @polyzos
- #3030 [server] Implement JBOD Phase 1 Local Multi-Directory Support @hanliu0830