Postpone-bucket getWriteId misparses the write id when data-file.prefix or the commit user contains the -s- separator
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 78/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
- 技术栈
- java
调研方向
从 PostponeBucketFileStoreWrite.getWriteId 开始,使用包含 -s- 的 data-file.prefix 或 commit user 重现 postpone-bucket 路径。跟踪 -w- marker 附近的文件名解析,然后验证提取出的 write id 是否通过 getWriteId(...) % parallelism 正确路由文件,以及格式错误的名称是否仍按预期失败。
由索引模型根据 Issue 内容生成。
描述
Search before asking
- I searched in the issues and found no similar issues.
Paimon version
master (1.5-SNAPSHOT)
Compute Engine
Flink (postpone-bucket write path).
Minimal reproduce step
- Create a postpone-bucket table and set
data-file.prefixto a value that contains the-s-separator (for examplea-s-b). - Write data so postpone-bucket data files are produced. Each file name is
{data-file.prefix}-u-{commitUser}-s-{writeId}-w-{uuid}-{count}. - Read or compact the table, which routes splits by
getWriteId(fileName) % parallelism.
What doesn't meet your expectations?
PostponeBucketFileStoreWrite.getWriteId recovered the write id by splitting on the first -s- in the file name. When data-file.prefix (or a custom commit user) already contains -s-, the first -s- is not the writer's separator, so the parse either throws Data file name ... does not match the pattern or returns a wrong write id. A wrong id then routes the split to the wrong reader under getWriteId(...) % parallelism.
Anything else?
The correct anchor is the -w- writer marker that always terminates the interpolated prefix, so the write id is the segment between the last -s- before -w- and -w- itself.
Are you willing to submit a PR?
- I'm willing to submit a PR!
- 主要语言
- Java
- 星标
- 3.4k
- 派生
- 1.4k
- 平均合并
- 1 天 11 小时
- 30 天内合并 PR
- 490
环境准备
我们还没有检查这个项目的环境配置文件。先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
apache/paimon 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 84/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 84/100
维护者通常 1 天内回复
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 78/100
redhat-developer/intellij-quarkus#1626 ·
-
Type/Bug
难度 2/5 1-3 小时 新手友好度 68/100
wso2/product-integrator-mi#5061 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 76/100
quarkiverse/quarkus-roq#1277 ·
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 90/100
apache/logging-site#48 ·
-
bug
难度 2/5 1-3 小时 新手友好度 78/100
apache/maven-surefire#3496 · 3 条评论 ·
维护者通常 1 天内回复