Skip to content

[core] Fall back to renaming when multipart upload is unavailable - #9610

Open
Zouxxyy wants to merge 1 commit into
apache:masterfrom
Zouxxyy:fix/jindo-two-phase-fallback
Open

[core] Fall back to renaming when multipart upload is unavailable#9610
Zouxxyy wants to merge 1 commit into
apache:masterfrom
Zouxxyy:fix/jindo-two-phase-fallback

Conversation

@Zouxxyy

@Zouxxyy Zouxxyy commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Purpose

Jindo returns null from getMpuStore when the filesystem does not support multipart uploads, such as OSS-HDFS. The existing two-phase write path then dereferences the missing store.

Fall back to FileIO's rename-based two-phase output stream when MPU is unavailable. Filesystems supporting MPU continue using the multipart path with the already resolved store.

Tests

  • mvn -pl paimon-filesystems/paimon-jindo -Pspark3 spotless:apply
  • mvn -pl paimon-filesystems/paimon-jindo -am -Pspark3,fast-build -DfailIfNoTests=false -DwildcardSuites=none -Dtest=JindoFileIOTest test
    • Tests run: 5, Failures: 0, Errors: 0

Jindo returns null from getMpuStore for filesystems without multipart-upload capability, such as OSS-HDFS. This caused two-phase writes to fail when the multipart stream dereferenced the missing store.

Use FileIO’s rename-based two-phase stream in that case. Pass the already resolved store on the MPU path to avoid repeating Jindo’s native capability probe.

Co-Authored-By: Claude Code <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@openai.com>
AI-Model: gpt-5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant