fix(drivers/115_open): recover transient path metadata - #2816
Merged
Conversation
Fall back to the parent directory listing when path metadata is temporarily missing or incomplete so filesystem operations receive usable objects. Co-authored-by: Claude <[email protected]>
Continue resolving parent directories through ancestor listings when the path metadata endpoint briefly reports them missing. Co-authored-by: Claude <[email protected]>
Member
|
sdk侧改动这个code会更好一点吧 |
Member
|
sdk合并了 发一下然后这里更新下 |
Contributor
Author
|
The fixes have been migrated to 115-sdk-go(OpenListTeam/115-sdk-go#6) and are now being implemented. |
Use the merged SDK error semantics for code 430004 and pin the integration to its immutable merged pseudo-version until the next SDK release is published.
Member
|
getFromParent 在父路径也返回 NotFound 时会带着相同的尾斜杠路径递归,可能无限递归 size <= 0 会误判合法零字节文件。 |
Use the released SDK error semantics and normalize parent paths so transient metadata gaps recover from ancestor directory listings. Co-authored-by: Claude <[email protected]>
jyxjjj
approved these changes
Jul 22, 2026
9 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary / 摘要
Fix 115 Open path lookups that temporarily return object-not-found or incomplete
metadata after filesystem changes.
修复文件系统变更后,115 Open 按路径查询短暂返回对象不存在或不完整元数据的问题。
Falls back to parent directory listings when path metadata is unavailable or
incomplete.
当路径元数据不可用或不完整时,回退到父目录列表查询。
Maps 115 Open error code
430004to the driver’s object-not-found flow.将 115 Open 错误码
430004映射到驱动的对象不存在处理流程。Restores file size and timestamps from path metadata or directory listings.
从路径元数据或目录列表中恢复文件大小与时间戳。
Resolves transiently unavailable parent paths through ancestor listings.
当父路径短暂不可用时,通过祖先目录列表解析父路径。
This PR has breaking changes.
/ 此 PR 包含破坏性变更。
This PR changes public API, config, storage format, or migration behavior.
/ 此 PR 修改了公开 API、配置、存储格式或迁移行为。
This PR requires corresponding changes in related repositories.
/ 此 PR 需要关联仓库同步修改。
Related repository PRs / 关联仓库 PR:
Related Issues / 关联 Issue
Relates to #2721
Relates to #2788
Testing / 测试
go test ./...go test ./drivers/115_opengo vet ./drivers/115_opengofmton changed Go filesgit diff --check main...HEADFull project tests and product builds were not run per the task constraint.
Checklist / 检查清单
/ 我已阅读 CONTRIBUTING。
/ 我确认此贡献符合仓库许可证、贡献规范和行为准则。
gofmt,go fmt, orprettierwhere applicable./ 我已按适用情况使用
gofmt、go fmt或prettier格式化更改代码。/ 我已在适用情况下使用“Request review”功能请求相关代码作者审查。
AI Disclosure / AI 使用声明
/ 此 PR 包含 AI 辅助内容。
Tools used / 使用工具:
Usage scope / 使用范围:
Code generation / 代码生成
Refactoring / 重构
Documentation / 文档
Tests / 测试
Translation / 翻译
Review assistance / 审查辅助
I have reviewed and validated all AI-assisted content included in this PR.
/ 我已审核并验证此 PR 中包含的所有 AI 辅助内容。
I have ensured that all AI-assisted commits include
Co-Authored-Byattribution./ 我已确保所有 AI-assisted commits include
Co-Authored-Byattribution.I can reproduce all AI-assisted content included in this PR without any AI tools.
/ 我可以在没有任何 AI 工具的情况下重现此 PR 中包含的所有 AI 辅助内容。