Skip to content

Sync df55 Iceberg fixes and handle Horizon no-content responses - #104

Merged
osipovartem merged 9 commits into
embucket-sync-df55.0.0from
fix/horizon-rename-response-df55
Oct 14, 2026
Merged

osipovartem merged 9 commits into
embucket-sync-df55.0.0from
fix/horizon-rename-response-df55

Conversation

@osipovartem

Copy link
Copy Markdown

Summary

  • Bring the df55 branch up to the commits already pinned by Rustice: file-catalog commit conflict reporting and null-safe transformed/bucket partition pruning.
  • Accept successful REST rename responses with either an empty body or Horizon's non-JSON NO_CONTENT payload, while retaining HTTP error details.
  • Treat bodyless HEAD 404 as an absent namespace; propagate 403 and other errors. This allows Rustice's lazy Horizon bootstrap to choose the physical namespace without listing all namespaces.

Verification

  • REST unit tests for 2xx rename bodies and 4xx responses.
  • Loopback HEAD test covers 200, bodyless 404, and 403, with bounded listener waits.
  • cargo +1.95.0 clippy -p iceberg-rest-catalog --lib -- -D warnings.
  • Rustice live Horizon smoke: Snowflake-created Iceberg v3 table, Rustice rename and INSERT, fresh Rustice read and Snowflake read both returned IDs 1 and 2; disposable table removed and X-Small warehouse suspended.
  • Independent read-only review of the full diff approved with no blocking findings.

This PR intentionally includes the earlier df55 commits because they are already used by Rustice but are not yet on embucket-sync-df55.0.0.

@osipovartem
osipovartem merged commit 54c95a3 into embucket-sync-df55.0.0 Oct 14, 2026
2 checks passed
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