Skip to content

Support prefix-scoped object stores in the registry#23287

Draft
kszucs wants to merge 6 commits into
apache:mainfrom
kszucs:prefixed-object-store-registry
Draft

Support prefix-scoped object stores in the registry#23287
kszucs wants to merge 6 commits into
apache:mainfrom
kszucs:prefixed-object-store-registry

Conversation

@kszucs

@kszucs kszucs commented Jul 2, 2026

Copy link
Copy Markdown
Member

Which issue does this PR close?

Addresses the double-prefixing problem described in apache/opendal#7786, where an object store registered under a path-prefixed URI (e.g. an OpenDAL store rooted at a specific repo) is handed paths that still contain the registered prefix.

  • Closes #.

Rationale for this change

DataFusion's object store registry keys stores by scheme + authority only. A store registered for hf://bucket/user/repo therefore collapses to the key hf://bucket, so (1) multiple repos under one authority cannot coexist, and (2) the full path (user/repo/data/f.parquet) is handed to the store, which — being rooted at the repo — prepends its root again, producing user/repo/user/repo/... and a not-found error.

This PR lets stores be registered under a path prefix and hands each store paths with its registered prefix stripped.

What changes are included in this PR?

  • Wrap object_store's path-aware registry (longest-prefix register/resolve/deregister) and add ObjectStoreRegistry::resolve, returning the store plus a store-relative path.
  • Add ListingTableUrl::resolve, returning the store, the base ObjectStoreUrl scan key (including any registered prefix), and a rebased ListingTableUrl whose prefix is store-relative.
  • Rewire the read scan and schema/partition inference paths to list against the rebased url.
  • Allow ObjectStoreUrl to carry a path prefix; key the datafusion-cli stdin:// store by authority.

Warning

Draft: this depends on a deregister method being added to object_store's registry (apache/arrow-rs-object-store#784). The Cargo.toml patch currently points at a fork branch and must be replaced with a released object_store version before merge.

Are these changes tested?

Yes:

  • Unit tests for ListingTableUrl::resolve edge cases: authority-only (prefix unchanged), prefixed (prefix stripped), collection trailing-slash preserved, query at the registered root, and percent-encoding preserved in the base key.
  • Registry tests: prefixed stores coexisting under one authority, resolve stripping, deregister, authority-only registration, and deregistering an unknown URL.
  • End-to-end tests (object_store_access): a store registered at a prefixed URL receives store-relative paths (no double-prefixing) and a query succeeds; two repos coexist under one authority.

Are there any user-facing changes?

Yes. ObjectStoreUrl::parse now accepts a path prefix (previously rejected), and ObjectStoreRegistry gains a resolve method (defaulted, so existing implementations keep working). Behavior for authority-only registrations (s3://bucket, file://) is unchanged.

@github-actions github-actions Bot added core Core DataFusion crate catalog Related to the catalog crate execution Related to the execution crate datasource Changes to the datasource crate labels Jul 2, 2026
@kszucs kszucs force-pushed the prefixed-object-store-registry branch from 7936d42 to a46c62c Compare July 2, 2026 11:20
@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown

Thank you for opening this pull request!

Reviewer note: cargo-semver-checks reported the current version number is not SemVer-compatible with the changes in this pull request (compared against the base branch).

Details
     Cloning apache/main
    Building datafusion v54.0.0 (current)
error: running cargo-doc on crate 'datafusion' failed with output:
-----
   Compiling proc-macro2 v1.0.106
   Compiling quote v1.0.46
   Compiling unicode-ident v1.0.24
   Compiling libc v0.2.186
    Checking cfg-if v1.0.4
   Compiling shlex v2.0.1
   Compiling find-msvc-tools v0.1.9
   Compiling autocfg v1.5.1
    Checking memchr v2.8.2
   Compiling libm v0.2.16
   Compiling syn v2.0.118
   Compiling num-traits v0.2.19
   Compiling jobserver v0.1.34
   Compiling version_check v0.9.5
   Compiling cc v1.2.66
    Checking bytes v1.12.0
   Compiling zerocopy v0.8.52
   Compiling serde_core v1.0.228
    Checking itoa v1.0.18
   Compiling getrandom v0.3.4
    Checking once_cell v1.21.4
    Checking foldhash v0.2.0
    Checking equivalent v1.0.2
    Checking allocator-api2 v0.2.21
    Checking hashbrown v0.17.1
   Compiling zmij v1.0.21
    Checking num-integer v0.1.46
   Compiling serde v1.0.228
    Checking indexmap v2.14.0
   Compiling serde_json v1.0.150
    Checking num-bigint v0.4.8
    Checking siphasher v1.0.3
    Checking iana-time-zone v0.1.65
   Compiling pkg-config v0.3.33
   Compiling synstructure v0.13.2
    Checking chrono v0.4.45
    Checking phf_shared v0.12.1
   Compiling ahash v0.8.12
   Compiling chrono-tz v0.10.4
    Checking stable_deref_trait v1.2.1
    Checking phf v0.12.1
    Checking num-complex v0.4.6
   Compiling zstd-sys v2.0.16+zstd.1.5.7
    Checking pin-project-lite v0.2.17
    Checking litemap v0.8.2
    Checking futures-core v0.3.32
    Checking writeable v0.6.3
    Checking futures-sink v0.3.32
   Compiling zstd-safe v7.2.4
   Compiling object v0.37.3
   Compiling zerocopy-derive v0.8.52
   Compiling serde_derive v1.0.228
   Compiling zerofrom-derive v0.1.7
    Checking zerofrom v0.1.8
   Compiling yoke-derive v0.8.2
    Checking half v2.7.1
    Checking arrow-schema v59.0.0
    Checking arrow-buffer v59.0.0
    Checking yoke v0.8.3
   Compiling zerovec-derive v0.11.3
   Compiling displaydoc v0.2.6
    Checking arrow-data v59.0.0
    Checking lexical-util v1.0.7
    Checking arrow-array v59.0.0
    Checking smallvec v1.15.2
    Checking zerovec v0.11.6
    Checking zerotrie v0.2.4
    Checking utf8_iter v1.0.4
   Compiling icu_properties_data v2.2.0
   Compiling icu_normalizer_data v2.2.0
    Checking tinystr v0.8.3
    Checking potential_utf v0.1.5
    Checking icu_locale_core v2.2.0
    Checking icu_provider v2.2.0
    Checking arrow-select v59.0.0
    Checking icu_collections v2.2.0
   Compiling tokio-macros v2.7.0
   Compiling crc32fast v1.5.0
   Compiling semver v1.0.28
    Checking tokio v1.52.3
   Compiling rustc_version v0.4.1
    Checking lexical-write-integer v1.0.6
    Checking lexical-parse-integer v1.0.6
   Compiling futures-macro v0.3.32
    Checking futures-channel v0.3.32
    Checking bitflags v2.13.0
    Checking adler2 v2.0.1
    Checking simd-adler32 v0.3.9
   Compiling ar_archive_writer v0.5.2
    Checking futures-task v0.3.32
    Checking slab v0.4.12
    Checking futures-io v0.3.32
   Compiling parking_lot_core v0.9.12
    Checking futures-util v0.3.32
    Checking miniz_oxide v0.8.9
   Compiling psm v0.1.31
    Checking lexical-parse-float v1.0.6
    Checking lexical-write-float v1.0.6
    Checking icu_normalizer v2.2.0
    Checking icu_properties v2.2.0
   Compiling flatbuffers v25.12.19
    Checking aho-corasick v1.1.4
    Checking ryu v1.0.23
   Compiling getrandom v0.4.3
    Checking scopeguard v1.2.0
    Checking zstd v0.13.3
    Checking base64 v0.22.1
    Checking unicode-width v0.2.2
    Checking unicode-segmentation v1.13.3
    Checking zlib-rs v0.6.5
    Checking regex-syntax v0.8.11
    Checking lock_api v0.4.14
    Checking comfy-table v7.2.2
    Checking idna_adapter v1.2.2
    Checking lexical-core v1.0.6
    Checking arrow-ord v59.0.0
   Compiling stacker v0.1.24
    Checking atoi v2.0.0
    Checking twox-hash v2.1.2
    Checking either v1.16.0
    Checking alloc-no-stdlib v2.0.4
   Compiling thiserror v2.0.18
   Compiling snap v1.1.1
    Checking flate2 v1.1.9
    Checking percent-encoding v2.3.2
    Checking form_urlencoded v1.2.2
    Checking alloc-stdlib v0.2.4
    Checking arrow-cast v59.0.0
    Checking lz4_flex v0.13.1
    Checking regex-automata v0.4.14
    Checking idna v1.1.0
    Checking futures-executor v0.3.32
   Compiling tracing-attributes v0.1.31
   Compiling thiserror-impl v2.0.18
   Compiling ring v0.17.14
    Checking tracing-core v0.1.36
    Checking csv-core v0.1.13
   Compiling paste v1.0.15
    Checking simdutf8 v0.1.5
    Checking same-file v1.0.6
    Checking walkdir v2.5.0
    Checking regex v1.12.4
    Checking csv v1.4.0
    Checking tracing v0.1.44
    Checking futures v0.3.32
    Checking url v2.5.8
    Checking arrow-ipc v59.0.0
    Checking brotli-decompressor v5.0.3
    Checking itertools v0.14.0
    Checking parking_lot v0.12.5
   Compiling async-trait v0.1.89
   Compiling recursive-proc-macro-impl v0.1.1
    Checking http v1.4.2
    Checking getrandom v0.2.17
    Checking log v0.4.33
    Checking untrusted v0.9.0
    Checking humantime v2.4.0
    Checking recursive v0.1.1
    Checking brotli v8.0.4
    Checking arrow-csv v59.0.0
    Checking object_store v0.13.2
    Checking arrow-string v59.0.0
    Checking arrow-json v59.0.0
    Checking uuid v1.23.4
    Checking arrow-arith v59.0.0
    Checking arrow-row v59.0.0
   Compiling sqlparser_derive v0.5.0
   Compiling seq-macro v0.3.6
    Checking arrow v59.0.0
    Checking itertools v0.15.0
    Checking typenum v1.20.1
    Checking sqlparser v0.62.0
    Checking hex v0.4.3
   Compiling pin-project-internal v1.1.13
   Compiling generic-array v0.14.7
    Checking datafusion-doc v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/doc)
    Checking hybrid-array v0.4.13
    Checking parquet v59.0.0
    Checking ppv-lite86 v0.2.21
    Checking pin-project v1.1.13
    Checking rand_core v0.9.5
   Compiling crossbeam-utils v0.8.21
   Compiling rustix v1.1.4
    Checking foldhash v0.1.5
    Checking hashbrown v0.15.5
    Checking rand_chacha v0.9.0
    Checking linux-raw-sys v0.12.1
    Checking fixedbitset v0.5.7
    Checking petgraph v0.8.3
    Checking rand v0.9.4
    Checking block-buffer v0.12.1
    Checking crypto-common v0.2.2
    Checking tokio-util v0.7.18
    Checking fastrand v2.4.1
    Checking const-oid v0.10.2
    Checking hashbrown v0.14.5
   Compiling datafusion-macros v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/macros)
    Checking dashmap v6.2.1
    Checking digest v0.11.3
    Checking tempfile v3.27.0
    Checking crypto-common v0.1.7
    Checking block-buffer v0.10.4
   Compiling blake3 v1.8.5
    Checking subtle v2.6.1
    Checking cpufeatures v0.3.0
    Checking digest v0.10.7
    Checking arrayref v0.3.9
    Checking constant_time_eq v0.4.2
    Checking arrayvec v0.7.8
    Checking blake2 v0.10.6
    Checking sha2 v0.11.0
    Checking md-5 v0.11.0
   Compiling liblzma-sys v0.4.7
    Checking libbz2-rs-sys v0.2.5
    Checking datafusion-common-runtime v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/common-runtime)
    Checking compression-core v0.4.32
    Checking glob v0.3.3
    Checking bzip2 v0.6.1
   Compiling bigdecimal v0.4.10
   Compiling heck v0.5.0
    Checking crc-catalog v2.5.0
    Checking crc v3.4.0
   Compiling strum_macros v0.28.0
    Checking tokio-stream v0.1.18
    Checking datafusion-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/common)
    Checking liblzma v0.4.7
    Checking compression-codecs v0.4.38
    Checking arrow-avro v59.0.0
    Checking async-compression v0.4.42
    Checking datafusion-expr-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/expr-common)
    Checking datafusion-physical-expr-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/physical-expr-common)
    Checking datafusion-functions-aggregate-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/functions-aggregate-common)
    Checking datafusion-functions-window-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/functions-window-common)
    Checking datafusion-expr v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/expr)
    Checking datafusion-physical-expr v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/physical-expr)
    Checking datafusion-execution v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/execution)
error[E0599]: no method named `deregister` found for struct `object_store::registry::DefaultObjectStoreRegistry` in the current scope
   --> /home/runner/work/datafusion/datafusion/datafusion/execution/src/object_store.rs:316:32
    |
316 |         let store = self.inner.deregister(url).ok_or_else(|| {
    |                                ^^^^^^^^^^
    |
help: there is a method `register` with a similar name, but with different arguments
   --> /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object_store-0.13.2/src/registry.rs:32:5
    |
 32 |     fn register(&self, url: Url, store: Arc<dyn ObjectStore>) -> Option<Arc<dyn ObjectStore>>;
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

For more information about this error, try `rustc --explain E0599`.
error: could not compile `datafusion-execution` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...

-----

error: failed to build rustdoc for crate datafusion v54.0.0
note: this is usually due to a compilation error in the crate,
      and is unlikely to be a bug in cargo-semver-checks
note: the following command can be used to reproduce the error:
      cargo new --lib example &&
          cd example &&
          echo '[workspace]' >> Cargo.toml &&
          cargo add --path /home/runner/work/datafusion/datafusion/datafusion/core --features array_expressions,avro,backtrace,bzip2,compression,crypto_expressions,datafusion-datasource-avro,datafusion-datasource-parquet,datafusion-functions-nested,datafusion-sql,datetime_expressions,default,encoding_expressions,extended_tests,flate2,force_hash_collisions,liblzma,math_expressions,nested_expressions,parquet,parquet_encryption,recursive_protection,regex_expressions,serde,sql,sqlparser,string_expressions,unicode_expressions,zstd &&
          cargo check &&
          cargo doc

    Building datafusion-catalog-listing v54.0.0 (current)
error: running cargo-doc on crate 'datafusion-catalog-listing' failed with output:
-----
   Compiling proc-macro2 v1.0.106
   Compiling unicode-ident v1.0.24
   Compiling quote v1.0.46
   Compiling libc v0.2.186
    Checking cfg-if v1.0.4
   Compiling libm v0.2.16
   Compiling autocfg v1.5.1
    Checking memchr v2.8.2
   Compiling num-traits v0.2.19
   Compiling syn v2.0.118
   Compiling zerocopy v0.8.52
    Checking bytes v1.12.0
   Compiling serde_core v1.0.228
    Checking once_cell v1.21.4
    Checking foldhash v0.2.0
    Checking itoa v1.0.18
   Compiling getrandom v0.3.4
    Checking allocator-api2 v0.2.21
    Checking equivalent v1.0.2
   Compiling zmij v1.0.21
    Checking hashbrown v0.17.1
   Compiling serde_json v1.0.150
    Checking num-integer v0.1.46
    Checking indexmap v2.14.0
   Compiling version_check v0.9.5
    Checking iana-time-zone v0.1.65
    Checking siphasher v1.0.3
    Checking stable_deref_trait v1.2.1
    Checking chrono v0.4.45
    Checking phf_shared v0.12.1
   Compiling ahash v0.8.12
    Checking num-bigint v0.4.8
   Compiling chrono-tz v0.10.4
    Checking phf v0.12.1
    Checking num-complex v0.4.6
   Compiling synstructure v0.13.2
    Checking arrow-schema v59.0.0
   Compiling shlex v2.0.1
   Compiling find-msvc-tools v0.1.9
    Checking lexical-util v1.0.7
    Checking pin-project-lite v0.2.17
    Checking litemap v0.8.2
    Checking smallvec v1.15.2
   Compiling jobserver v0.1.34
    Checking writeable v0.6.3
   Compiling zerocopy-derive v0.8.52
   Compiling zerofrom-derive v0.1.7
   Compiling yoke-derive v0.8.2
   Compiling zerovec-derive v0.11.3
    Checking zerofrom v0.1.8
    Checking yoke v0.8.3
   Compiling displaydoc v0.2.6
   Compiling cc v1.2.66
    Checking zerovec v0.11.6
    Checking tinystr v0.8.3
   Compiling pkg-config v0.3.33
    Checking icu_locale_core v2.2.0
    Checking potential_utf v0.1.5
    Checking zerotrie v0.2.4
    Checking utf8_iter v1.0.4
   Compiling icu_normalizer_data v2.2.0
   Compiling zstd-sys v2.0.16+zstd.1.5.7
   Compiling icu_properties_data v2.2.0
    Checking futures-core v0.3.32
    Checking futures-sink v0.3.32
    Checking icu_collections v2.2.0
    Checking icu_provider v2.2.0
    Checking lexical-write-integer v1.0.6
    Checking lexical-parse-integer v1.0.6
   Compiling semver v1.0.28
    Checking lexical-write-float v1.0.6
   Compiling rustc_version v0.4.1
    Checking lexical-parse-float v1.0.6
    Checking futures-channel v0.3.32
   Compiling futures-macro v0.3.32
    Checking aho-corasick v1.1.4
    Checking half v2.7.1
    Checking futures-task v0.3.32
    Checking slab v0.4.12
   Compiling parking_lot_core v0.9.12
    Checking arrow-buffer v59.0.0
    Checking regex-syntax v0.8.11
    Checking ryu v1.0.23
    Checking bitflags v2.13.0
    Checking unicode-width v0.2.2
    Checking futures-io v0.3.32
    Checking unicode-segmentation v1.13.3
    Checking arrow-data v59.0.0
   Compiling zstd-safe v7.2.4
    Checking comfy-table v7.2.2
    Checking arrow-array v59.0.0
    Checking futures-util v0.3.32
    Checking regex-automata v0.4.14
    Checking arrow-select v59.0.0
    Checking lexical-core v1.0.6
    Checking icu_properties v2.2.0
    Checking icu_normalizer v2.2.0
    Checking arrow-ord v59.0.0
   Compiling flatbuffers v25.12.19
   Compiling tokio-macros v2.7.0
    Checking atoi v2.0.0
   Compiling getrandom v0.4.3
    Checking base64 v0.22.1
    Checking scopeguard v1.2.0
    Checking lock_api v0.4.14
    Checking arrow-cast v59.0.0
    Checking idna_adapter v1.2.2
    Checking tokio v1.52.3
    Checking regex v1.12.4
    Checking csv-core v0.1.13
    Checking twox-hash v2.1.2
    Checking percent-encoding v2.3.2
    Checking either v1.16.0
   Compiling thiserror v2.0.18
    Checking form_urlencoded v1.2.2
    Checking lz4_flex v0.13.1
    Checking csv v1.4.0
    Checking idna v1.1.0
   Compiling tracing-attributes v0.1.31
   Compiling thiserror-impl v2.0.18
    Checking tracing-core v0.1.36
    Checking same-file v1.0.6
    Checking simdutf8 v0.1.5
    Checking arrow-json v59.0.0
    Checking tracing v0.1.44
    Checking walkdir v2.5.0
    Checking url v2.5.8
    Checking arrow-csv v59.0.0
    Checking itertools v0.14.0
    Checking arrow-string v59.0.0
    Checking parking_lot v0.12.5
    Checking arrow-row v59.0.0
    Checking arrow-arith v59.0.0
   Compiling async-trait v0.1.89
    Checking http v1.4.2
    Checking log v0.4.33
    Checking humantime v2.4.0
    Checking uuid v1.23.4
    Checking itertools v0.15.0
    Checking object_store v0.13.2
   Compiling pin-project-internal v1.1.13
    Checking pin-project v1.1.13
   Compiling crossbeam-utils v0.8.21
   Compiling rustix v1.1.4
    Checking futures-executor v0.3.32
    Checking ppv-lite86 v0.2.21
    Checking rand_core v0.9.5
    Checking linux-raw-sys v0.12.1
    Checking datafusion-doc v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/doc)
    Checking rand_chacha v0.9.0
    Checking futures v0.3.32
    Checking fastrand v2.4.1
    Checking hashbrown v0.14.5
    Checking zstd v0.13.3
    Checking foldhash v0.1.5
    Checking arrow-ipc v59.0.0
    Checking hashbrown v0.15.5
    Checking dashmap v6.2.1
    Checking rand v0.9.4
    Checking tokio-util v0.7.18
    Checking fixedbitset v0.5.7
    Checking petgraph v0.8.3
    Checking arrow v59.0.0
    Checking datafusion-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/common)
   Compiling datafusion-macros v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/macros)
    Checking tempfile v3.27.0
    Checking hex v0.4.3
    Checking datafusion-common-runtime v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/common-runtime)
    Checking glob v0.3.3
    Checking datafusion-expr-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/expr-common)
    Checking datafusion-physical-expr-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/physical-expr-common)
    Checking datafusion-functions-aggregate-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/functions-aggregate-common)
    Checking datafusion-functions-window-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/functions-window-common)
    Checking datafusion-expr v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/expr)
    Checking datafusion-execution v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/execution)
    Checking datafusion-physical-expr v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/physical-expr)
error[E0599]: no method named `deregister` found for struct `object_store::registry::DefaultObjectStoreRegistry` in the current scope
   --> /home/runner/work/datafusion/datafusion/datafusion/execution/src/object_store.rs:316:32
    |
316 |         let store = self.inner.deregister(url).ok_or_else(|| {
    |                                ^^^^^^^^^^
    |
help: there is a method `register` with a similar name, but with different arguments
   --> /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object_store-0.13.2/src/registry.rs:32:5
    |
 32 |     fn register(&self, url: Url, store: Arc<dyn ObjectStore>) -> Option<Arc<dyn ObjectStore>>;
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

For more information about this error, try `rustc --explain E0599`.
error: could not compile `datafusion-execution` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...

-----

error: failed to build rustdoc for crate datafusion-catalog-listing v54.0.0
note: this is usually due to a compilation error in the crate,
      and is unlikely to be a bug in cargo-semver-checks
note: the following command can be used to reproduce the error:
      cargo new --lib example &&
          cd example &&
          echo '[workspace]' >> Cargo.toml &&
          cargo add --path /home/runner/work/datafusion/datafusion/datafusion/catalog-listing &&
          cargo check &&
          cargo doc

    Building datafusion-cli v54.0.0 (current)
error: running cargo-doc on crate 'datafusion-cli' failed with output:
-----
   Compiling proc-macro2 v1.0.106
   Compiling quote v1.0.46
   Compiling unicode-ident v1.0.24
    Checking cfg-if v1.0.4
   Compiling libc v0.2.186
   Compiling shlex v2.0.1
   Compiling find-msvc-tools v0.1.9
    Checking memchr v2.8.2
    Checking bytes v1.12.0
   Compiling syn v2.0.118
   Compiling jobserver v0.1.34
    Checking itoa v1.0.18
   Compiling autocfg v1.5.1
   Compiling cc v1.2.66
   Compiling libm v0.2.16
   Compiling num-traits v0.2.19
    Checking once_cell v1.21.4
    Checking smallvec v1.15.2
    Checking pin-project-lite v0.2.17
    Checking futures-core v0.3.32
   Compiling pkg-config v0.3.33
   Compiling parking_lot_core v0.9.12
    Checking scopeguard v1.2.0
    Checking lock_api v0.4.14
    Checking errno v0.3.14
    Checking foldhash v0.2.0
    Checking futures-sink v0.3.32
    Checking allocator-api2 v0.2.21
    Checking num-integer v0.1.46
    Checking equivalent v1.0.2
    Checking signal-hook-registry v1.4.8
    Checking parking_lot v0.12.5
    Checking socket2 v0.6.4
    Checking hashbrown v0.17.1
    Checking mio v1.2.1
    Checking slab v0.4.12
    Checking futures-channel v0.3.32
    Checking http v1.4.2
   Compiling version_check v0.9.5
    Checking indexmap v2.14.0
    Checking futures-task v0.3.32
    Checking futures-io v0.3.32
   Compiling serde_core v1.0.228
    Checking ryu v1.0.23
    Checking fnv v1.0.7
    Checking http-body v1.0.1
    Checking zeroize v1.9.0
    Checking tracing-core v0.1.36
    Checking either v1.16.0
   Compiling zerocopy v0.8.52
    Checking typenum v1.20.1
   Compiling synstructure v0.13.2
   Compiling serde v1.0.228
    Checking http-body-util v0.1.3
   Compiling cmake v0.1.58
   Compiling fs_extra v1.3.0
   Compiling dunce v1.0.5
   Compiling zmij v1.0.21
   Compiling aws-lc-sys v0.42.0
   Compiling getrandom v0.3.4
   Compiling tokio-macros v2.7.0
   Compiling futures-macro v0.3.32
   Compiling tracing-attributes v0.1.31
    Checking tokio v1.52.3
    Checking futures-util v0.3.32
   Compiling zerocopy-derive v0.8.52
    Checking tracing v0.1.44
   Compiling serde_derive v1.0.228
   Compiling zerofrom-derive v0.1.7
    Checking zerofrom v0.1.8
   Compiling yoke-derive v0.8.2
   Compiling serde_json v1.0.150
    Checking percent-encoding v2.3.2
    Checking stable_deref_trait v1.2.1
    Checking yoke v0.8.3
   Compiling ring v0.17.14
   Compiling aws-lc-rs v1.17.1
    Checking subtle v2.6.1
   Compiling zerovec-derive v0.11.3
    Checking num-bigint v0.4.8
    Checking iana-time-zone v0.1.65
    Checking siphasher v1.0.3
    Checking base64 v0.22.1
    Checking phf_shared v0.12.1
    Checking chrono v0.4.45
    Checking zerovec v0.11.6
    Checking half v2.7.1
    Checking tokio-util v0.7.18
   Compiling displaydoc v0.2.6
    Checking rustls-pki-types v1.15.0
   Compiling ahash v0.8.12
    Checking getrandom v0.2.17
    Checking untrusted v0.9.0
   Compiling semver v1.0.28
   Compiling chrono-tz v0.10.4
   Compiling httparse v1.10.1
   Compiling rustc_version v0.4.1
    Checking arrow-buffer v59.0.0
    Checking phf v0.12.1
    Checking arrow-schema v59.0.0
    Checking tower-service v0.3.3
    Checking try-lock v0.2.5
    Checking atomic-waker v1.1.2
   Compiling rustls v0.23.41
    Checking h2 v0.4.15
    Checking arrow-data v59.0.0
    Checking want v0.3.1
    Checking num-complex v0.4.6
   Compiling getrandom v0.4.3
    Checking rand_core v0.10.1
    Checking hyper v1.10.1
    Checking tinystr v0.8.3
    Checking form_urlencoded v1.2.2
    Checking sync_wrapper v1.0.2
    Checking tower-layer v0.3.3
    Checking litemap v0.8.2
    Checking cpufeatures v0.3.0
    Checking openssl-probe v0.2.1
    Checking writeable v0.6.3
    Checking ipnet v2.12.0
    Checking icu_locale_core v2.2.0
    Checking hyper-util v0.1.20
    Checking rustls-native-certs v0.8.4
    Checking tower v0.5.3
    Checking zerotrie v0.2.4
    Checking potential_utf v0.1.5
   Compiling generic-array v0.14.7
   Compiling zstd-sys v2.0.16+zstd.1.5.7
    Checking utf8_iter v1.0.4
   Compiling icu_normalizer_data v2.2.0
    Checking bitflags v2.13.0
   Compiling icu_properties_data v2.2.0
    Checking arrow-array v59.0.0
    Checking icu_collections v2.2.0
    Checking icu_provider v2.2.0
    Checking lexical-util v1.0.7
   Compiling object v0.37.3
   Compiling zstd-safe v7.2.4
    Checking icu_properties v2.2.0
    Checking arrow-select v59.0.0
    Checking icu_normalizer v2.2.0
    Checking log v0.4.33
    Checking idna_adapter v1.2.2
    Checking block-buffer v0.10.4
    Checking crypto-common v0.1.7
    Checking aho-corasick v1.1.4
    Checking regex-syntax v0.8.11
   Compiling crc32fast v1.5.0
    Checking regex-automata v0.4.14
   Compiling ar_archive_writer v0.5.2
    Checking digest v0.10.7
    Checking idna v1.1.0
    Checking lexical-parse-integer v1.0.6
    Checking lexical-write-integer v1.0.6
    Checking uuid v1.23.4
    Checking adler2 v2.0.1
    Checking hex v0.4.3
    Checking simd-adler32 v0.3.9
    Checking unicode-segmentation v1.13.3
    Checking unicode-width v0.2.2
    Checking miniz_oxide v0.8.9
    Checking lexical-write-float v1.0.6
   Compiling psm v0.1.31
    Checking lexical-parse-float v1.0.6
    Checking url v2.5.8
    Checking regex v1.12.4
   Compiling flatbuffers v25.12.19
    Checking zlib-rs v0.6.5
    Checking lexical-core v1.0.6
    Checking comfy-table v7.2.2
    Checking arrow-ord v59.0.0
    Checking atoi v2.0.0
   Compiling stacker v0.1.24
    Checking twox-hash v2.1.2
   Compiling snap v1.1.1
    Checking flate2 v1.1.9
    Checking alloc-no-stdlib v2.0.4
   Compiling thiserror v2.0.18
    Checking alloc-stdlib v0.2.4
    Checking lz4_flex v0.13.1
    Checking arrow-cast v59.0.0
    Checking tower-http v0.6.11
    Checking chacha20 v0.10.1
    Checking serde_urlencoded v0.7.1
    Checking futures-executor v0.3.32
   Compiling thiserror-impl v2.0.18
    Checking csv-core v0.1.13
    Checking simdutf8 v0.1.5
    Checking same-file v1.0.6
   Compiling paste v1.0.15
    Checking walkdir v2.5.0
    Checking csv v1.4.0
    Checking futures v0.3.32
    Checking rand v0.10.2
    Checking brotli-decompressor v5.0.3
    Checking md-5 v0.10.6
    Checking quick-xml v0.39.4
   Compiling recursive-proc-macro-impl v0.1.1
   Compiling async-trait v0.1.89
    Checking itertools v0.14.0
    Checking humantime v2.4.0
    Checking recursive v0.1.1
    Checking brotli v8.0.4
    Checking zstd v0.13.3
    Checking arrow-ipc v59.0.0
    Checking arrow-csv v59.0.0
    Checking arrow-json v59.0.0
    Checking arrow-string v59.0.0
    Checking arrow-row v59.0.0
    Checking arrow-arith v59.0.0
   Compiling sqlparser_derive v0.5.0
    Checking hybrid-array v0.4.13
   Compiling seq-macro v0.3.6
    Checking sqlparser v0.62.0
    Checking arrow v59.0.0
    Checking itertools v0.15.0
    Checking cmov v0.5.4
    Checking ctutils v0.4.2
    Checking block-buffer v0.12.1
    Checking crypto-common v0.2.2
   Compiling pin-project-internal v1.1.13
    Checking const-oid v0.10.2
    Checking digest v0.11.3
    Checking fastrand v2.4.1
    Checking sha2 v0.11.0
    Checking pin-project v1.1.13
    Checking datafusion-doc v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/doc)
    Checking ppv-lite86 v0.2.21
    Checking rand_core v0.9.5
   Compiling crossbeam-utils v0.8.21
   Compiling rustix v1.1.4
    Checking foldhash v0.1.5
    Checking hashbrown v0.15.5
    Checking rand_chacha v0.9.0
    Checking linux-raw-sys v0.12.1
    Checking fixedbitset v0.5.7
    Checking petgraph v0.8.3
    Checking rand v0.9.4
    Checking hashbrown v0.14.5
   Compiling datafusion-macros v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/macros)
    Checking tempfile v3.27.0
    Checking dashmap v6.2.1
   Compiling blake3 v1.8.5
    Checking constant_time_eq v0.4.2
    Checking arrayvec v0.7.8
    Checking arrayref v0.3.9
    Checking md-5 v0.11.0
    Checking blake2 v0.10.6
    Checking http v0.2.12
   Compiling liblzma-sys v0.4.7
    Checking time-core v0.1.9
    Checking deranged v0.5.8
    Checking outref v0.5.2
    Checking num-conv v0.2.2
    Checking vsimd v0.8.0
    Checking powerfmt v0.2.0
    Checking base64-simd v0.8.0
    Checking time v0.3.53
    Checking http-body v0.4.6
    Checking bytes-utils v0.1.4
    Checking pin-utils v0.1.0
    Checking aws-smithy-types v1.5.0
    Checking libbz2-rs-sys v0.2.5
    Checking bzip2 v0.6.1
    Checking aws-smithy-async v1.2.14
   Compiling aws-smithy-runtime-api-macros v1.0.0
    Checking aws-smithy-runtime-api v1.12.3
    Checking datafusion-common-runtime v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/common-runtime)
    Checking compression-core v0.4.32
    Checking glob v0.3.3
    Checking aws-smithy-schema v0.1.0
    Checking aws-smithy-http v0.63.6
    Checking aws-credential-types v1.2.14
   Compiling aws-types v1.3.16
   Compiling rustversion v1.0.22
    Checking aws-smithy-observability v0.2.6
    Checking hmac v0.13.0
   Compiling heck v0.5.0
    Checking utf8parse v0.2.2
    Checking aws-sigv4 v1.4.5
    Checking anstyle-parse v1.0.0
    Checking aws-smithy-json v0.62.7
    Checking arc-swap v1.9.2
   Compiling bigdecimal v0.4.10
    Checking regex-lite v0.1.9
   Compiling cfg_aliases v0.2.1
    Checking anstyle-query v1.1.5
    Checking anstyle v1.0.14
    Checking is_terminal_polyfill v1.70.2
    Checking colorchoice v1.0.5
    Checking crc-catalog v2.5.0
    Checking crc v3.4.0
    Checking anstream v1.0.0
   Compiling nix v0.31.3
   Compiling strum_macros v0.28.0
   Compiling libmimalloc-sys v0.1.49
    Checking urlencoding v2.1.3
    Checking xmlparser v0.13.6
    Checking aws-smithy-xml v0.60.15
    Checking aws-smithy-query v0.60.15
    Checking tokio-stream v0.1.18
    Checking nibble_vec v0.1.0
    Checking endian-type v0.2.0
    Checking option-ext v0.2.0
    Checking clap_lex v1.1.0
    Checking cpufeatures v0.2.17
    Checking strsim v0.11.1
    Checking sha1 v0.10.6
    Checking clap_builder v4.6.0
    Checking dirs-sys v0.5.0
    Checking radix_trie v0.3.0
   Compiling clap_derive v4.6.1
    Checking env_filter v2.0.0
    Checking jiff v0.2.31
    Checking liblzma v0.4.7
    Checking compression-codecs v0.4.38
    Checking async-compression v0.4.42
    Checking arrow-avro v59.0.0
    Checking home v0.5.12
    Checking rustyline v18.0.1
    Checking clap v4.6.1
    Checking mimalloc v0.1.52
    Checking dirs v6.0.0
    Checking env_logger v0.11.11
    Checking rustls-webpki v0.103.13
    Checking tokio-rustls v0.26.4
    Checking hyper-rustls v0.27.9
    Checking reqwest v0.12.28
    Checking aws-smithy-http-client v1.1.13
    Checking aws-smithy-runtime v1.11.3
    Checking object_store v0.13.2
    Checking aws-runtime v1.7.5
    Checking aws-sdk-ssooidc v1.104.0
    Checking aws-sdk-sso v1.102.0
    Checking aws-sdk-sts v1.107.0
    Checking aws-config v1.8.18
    Checking parquet v59.0.0
    Checking datafusion-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/common)
    Checking datafusion-expr-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/expr-common)
    Checking datafusion-physical-expr-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/physical-expr-common)
    Checking datafusion-functions-aggregate-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/functions-aggregate-common)
    Checking datafusion-functions-window-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/functions-window-common)
    Checking datafusion-expr v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/expr)
    Checking datafusion-physical-expr v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/physical-expr)
    Checking datafusion-execution v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/execution)
error[E0599]: no method named `deregister` found for struct `object_store::registry::DefaultObjectStoreRegistry` in the current scope
   --> /home/runner/work/datafusion/datafusion/datafusion/execution/src/object_store.rs:316:32
    |
316 |         let store = self.inner.deregister(url).ok_or_else(|| {
    |                                ^^^^^^^^^^
    |
help: there is a method `register` with a similar name, but with different arguments
   --> /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object_store-0.13.2/src/registry.rs:32:5
    |
 32 |     fn register(&self, url: Url, store: Arc<dyn ObjectStore>) -> Option<Arc<dyn ObjectStore>>;
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

For more information about this error, try `rustc --explain E0599`.
error: could not compile `datafusion-execution` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...

-----

error: failed to build rustdoc for crate datafusion-cli v54.0.0
note: this is usually due to a compilation error in the crate,
      and is unlikely to be a bug in cargo-semver-checks
note: the following command can be used to reproduce the error:
      cargo new --lib example &&
          cd example &&
          echo '[workspace]' >> Cargo.toml &&
          cargo add --path /home/runner/work/datafusion/datafusion/datafusion-cli --features backtrace,default &&
          cargo check &&
          cargo doc

    Building datafusion-datasource v54.0.0 (current)
error: running cargo-doc on crate 'datafusion-datasource' failed with output:
-----
   Compiling proc-macro2 v1.0.106
   Compiling unicode-ident v1.0.24
   Compiling quote v1.0.46
   Compiling libc v0.2.186
    Checking cfg-if v1.0.4
    Checking memchr v2.8.2
   Compiling libm v0.2.16
   Compiling autocfg v1.5.1
   Compiling syn v2.0.118
   Compiling num-traits v0.2.19
   Compiling zerocopy v0.8.52
    Checking bytes v1.12.0
    Checking equivalent v1.0.2
   Compiling getrandom v0.3.4
    Checking itoa v1.0.18
    Checking allocator-api2 v0.2.21
    Checking once_cell v1.21.4
   Compiling serde_core v1.0.228
    Checking foldhash v0.2.0
    Checking hashbrown v0.17.1
   Compiling zmij v1.0.21
    Checking indexmap v2.14.0
   Compiling jobserver v0.1.34
   Compiling find-msvc-tools v0.1.9
   Compiling shlex v2.0.1
   Compiling serde_json v1.0.150
   Compiling cc v1.2.66
    Checking num-integer v0.1.46
   Compiling pkg-config v0.3.33
    Checking siphasher v1.0.3
    Checking stable_deref_trait v1.2.1
    Checking iana-time-zone v0.1.65
   Compiling version_check v0.9.5
    Checking chrono v0.4.45
   Compiling synstructure v0.13.2
   Compiling ahash v0.8.12
    Checking phf_shared v0.12.1
    Checking num-bigint v0.4.8
   Compiling chrono-tz v0.10.4
    Checking phf v0.12.1
    Checking arrow-schema v59.0.0
    Checking num-complex v0.4.6
   Compiling zerocopy-derive v0.8.52
   Compiling zerofrom-derive v0.1.7
   Compiling yoke-derive v0.8.2
   Compiling zerovec-derive v0.11.3
    Checking zerofrom v0.1.8
    Checking yoke v0.8.3
   Compiling displaydoc v0.2.6
   Compiling zstd-sys v2.0.16+zstd.1.5.7
    Checking zerovec v0.11.6
    Checking pin-project-lite v0.2.17
    Checking lexical-util v1.0.7
    Checking tinystr v0.8.3
    Checking litemap v0.8.2
    Checking smallvec v1.15.2
    Checking writeable v0.6.3
    Checking icu_locale_core v2.2.0
    Checking potential_utf v0.1.5
    Checking zerotrie v0.2.4
    Checking futures-core v0.3.32
   Compiling icu_normalizer_data v2.2.0
   Compiling icu_properties_data v2.2.0
   Compiling zstd-safe v7.2.4
    Checking futures-sink v0.3.32
    Checking utf8_iter v1.0.4
    Checking icu_provider v2.2.0
    Checking icu_collections v2.2.0
    Checking lexical-write-integer v1.0.6
    Checking lexical-parse-integer v1.0.6
   Compiling semver v1.0.28
    Checking lexical-parse-float v1.0.6
   Compiling rustc_version v0.4.1
    Checking lexical-write-float v1.0.6
    Checking futures-channel v0.3.32
   Compiling futures-macro v0.3.32
   Compiling tokio-macros v2.7.0
    Checking half v2.7.1
    Checking arrow-buffer v59.0.0
    Checking aho-corasick v1.1.4
    Checking futures-io v0.3.32
    Checking unicode-segmentation v1.13.3
    Checking arrow-data v59.0.0
    Checking futures-task v0.3.32
    Checking unicode-width v0.2.2
    Checking arrow-array v59.0.0
    Checking slab v0.4.12
   Compiling parking_lot_core v0.9.12
    Checking regex-syntax v0.8.11
    Checking bitflags v2.13.0
    Checking ryu v1.0.23
    Checking futures-util v0.3.32
    Checking arrow-select v59.0.0
    Checking regex-automata v0.4.14
    Checking arrow-ord v59.0.0
    Checking comfy-table v7.2.2
    Checking tokio v1.52.3
    Checking icu_properties v2.2.0
    Checking icu_normalizer v2.2.0
   Compiling flatbuffers v25.12.19
    Checking lexical-core v1.0.6
    Checking atoi v2.0.0
   Compiling getrandom v0.4.3
    Checking base64 v0.22.1
    Checking scopeguard v1.2.0
    Checking lock_api v0.4.14
    Checking arrow-cast v59.0.0
    Checking idna_adapter v1.2.2
    Checking regex v1.12.4
    Checking csv-core v0.1.13
    Checking percent-encoding v2.3.2
    Checking either v1.16.0
   Compiling thiserror v2.0.18
    Checking twox-hash v2.1.2
    Checking lz4_flex v0.13.1
    Checking form_urlencoded v1.2.2
    Checking csv v1.4.0
    Checking idna v1.1.0
   Compiling thiserror-impl v2.0.18
   Compiling tracing-attributes v0.1.31
    Checking tracing-core v0.1.36
    Checking same-file v1.0.6
    Checking simdutf8 v0.1.5
    Checking arrow-json v59.0.0
    Checking walkdir v2.5.0
    Checking arrow-csv v59.0.0
    Checking url v2.5.8
    Checking tracing v0.1.44
    Checking itertools v0.14.0
    Checking parking_lot v0.12.5
    Checking arrow-string v59.0.0
    Checking arrow-arith v59.0.0
    Checking arrow-row v59.0.0
   Compiling async-trait v0.1.89
    Checking http v1.4.2
    Checking log v0.4.33
    Checking humantime v2.4.0
    Checking uuid v1.23.4
    Checking itertools v0.15.0
   Compiling pin-project-internal v1.1.13
    Checking object_store v0.13.2
    Checking zstd v0.13.3
    Checking arrow-ipc v59.0.0
    Checking pin-project v1.1.13
   Compiling rustix v1.1.4
   Compiling crossbeam-utils v0.8.21
    Checking futures-executor v0.3.32
    Checking ppv-lite86 v0.2.21
    Checking rand_core v0.9.5
    Checking datafusion-doc v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/doc)
    Checking linux-raw-sys v0.12.1
    Checking arrow v59.0.0
    Checking rand_chacha v0.9.0
    Checking datafusion-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/common)
    Checking futures v0.3.32
    Checking fastrand v2.4.1
    Checking foldhash v0.1.5
    Checking hashbrown v0.14.5
    Checking hashbrown v0.15.5
    Checking dashmap v6.2.1
    Checking rand v0.9.4
    Checking tokio-util v0.7.18
   Compiling liblzma-sys v0.4.7
    Checking fixedbitset v0.5.7
   Compiling crc32fast v1.5.0
    Checking tempfile v3.27.0
   Compiling datafusion-macros v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/macros)
    Checking petgraph v0.8.3
    Checking adler2 v2.0.1
    Checking simd-adler32 v0.3.9
    Checking hex v0.4.3
    Checking miniz_oxide v0.8.9
    Checking libbz2-rs-sys v0.2.5
    Checking bzip2 v0.6.1
    Checking flate2 v1.1.9
    Checking datafusion-common-runtime v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/common-runtime)
    Checking compression-core v0.4.32
    Checking glob v0.3.3
    Checking datafusion-expr-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/expr-common)
    Checking datafusion-physical-expr-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/physical-expr-common)
    Checking datafusion-functions-window-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/functions-window-common)
    Checking datafusion-functions-aggregate-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/functions-aggregate-common)
    Checking datafusion-expr v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/expr)
    Checking liblzma v0.4.7
    Checking compression-codecs v0.4.38
    Checking async-compression v0.4.42
    Checking datafusion-execution v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/execution)
    Checking datafusion-physical-expr v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/physical-expr)
error[E0599]: no method named `deregister` found for struct `object_store::registry::DefaultObjectStoreRegistry` in the current scope
   --> /home/runner/work/datafusion/datafusion/datafusion/execution/src/object_store.rs:316:32
    |
316 |         let store = self.inner.deregister(url).ok_or_else(|| {
    |                                ^^^^^^^^^^
    |
help: there is a method `register` with a similar name, but with different arguments
   --> /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object_store-0.13.2/src/registry.rs:32:5
    |
 32 |     fn register(&self, url: Url, store: Arc<dyn ObjectStore>) -> Option<Arc<dyn ObjectStore>>;
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

For more information about this error, try `rustc --explain E0599`.
error: could not compile `datafusion-execution` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...

-----

error: failed to build rustdoc for crate datafusion-datasource v54.0.0
note: this is usually due to a compilation error in the crate,
      and is unlikely to be a bug in cargo-semver-checks
note: the following command can be used to reproduce the error:
      cargo new --lib example &&
          cd example &&
          echo '[workspace]' >> Cargo.toml &&
          cargo add --path /home/runner/work/datafusion/datafusion/datafusion/datasource --features async-compression,backtrace,bzip2,compression,default,flate2,liblzma,tempfile,tokio-util,zstd &&
          cargo check &&
          cargo doc

    Building datafusion-datasource-csv v54.0.0 (current)
error: running cargo-doc on crate 'datafusion-datasource-csv' failed with output:
-----
   Compiling proc-macro2 v1.0.106
   Compiling quote v1.0.46
   Compiling unicode-ident v1.0.24
   Compiling libc v0.2.186
    Checking cfg-if v1.0.4
   Compiling autocfg v1.5.1
   Compiling libm v0.2.16
    Checking memchr v2.8.2
   Compiling num-traits v0.2.19
   Compiling zerocopy v0.8.52
    Checking bytes v1.12.0
   Compiling syn v2.0.118
    Checking once_cell v1.21.4
    Checking equivalent v1.0.2
   Compiling getrandom v0.3.4
    Checking allocator-api2 v0.2.21
    Checking foldhash v0.2.0
   Compiling serde_core v1.0.228
    Checking itoa v1.0.18
    Checking hashbrown v0.17.1
   Compiling zmij v1.0.21
   Compiling serde_json v1.0.150
    Checking num-integer v0.1.46
    Checking indexmap v2.14.0
    Checking iana-time-zone v0.1.65
    Checking siphasher v1.0.3
    Checking stable_deref_trait v1.2.1
   Compiling version_check v0.9.5
    Checking phf_shared v0.12.1
    Checking chrono v0.4.45
   Compiling ahash v0.8.12
    Checking num-bigint v0.4.8
   Compiling chrono-tz v0.10.4
    Checking phf v0.12.1
    Checking num-complex v0.4.6
   Compiling synstructure v0.13.2
    Checking arrow-schema v59.0.0
   Compiling jobserver v0.1.34
   Compiling shlex v2.0.1
    Checking lexical-util v1.0.7
   Compiling find-msvc-tools v0.1.9
   Compiling cc v1.2.66
   Compiling pkg-config v0.3.33
   Compiling zerocopy-derive v0.8.52
   Compiling zerofrom-derive v0.1.7
   Compiling yoke-derive v0.8.2
    Checking zerofrom v0.1.8
   Compiling zerovec-derive v0.11.3
    Checking yoke v0.8.3
   Compiling displaydoc v0.2.6
    Checking zerovec v0.11.6
    Checking litemap v0.8.2
    Checking writeable v0.6.3
    Checking pin-project-lite v0.2.17
    Checking tinystr v0.8.3
    Checking smallvec v1.15.2
    Checking potential_utf v0.1.5
    Checking icu_locale_core v2.2.0
    Checking zerotrie v0.2.4
   Compiling zstd-sys v2.0.16+zstd.1.5.7
    Checking futures-core v0.3.32
    Checking futures-sink v0.3.32
   Compiling icu_properties_data v2.2.0
   Compiling icu_normalizer_data v2.2.0
    Checking utf8_iter v1.0.4
    Checking icu_collections v2.2.0
    Checking icu_provider v2.2.0
    Checking lexical-write-integer v1.0.6
    Checking lexical-parse-integer v1.0.6
   Compiling semver v1.0.28
    Checking lexical-write-float v1.0.6
   Compiling rustc_version v0.4.1
    Checking lexical-parse-float v1.0.6
    Checking futures-channel v0.3.32
   Compiling futures-macro v0.3.32
    Checking aho-corasick v1.1.4
    Checking half v2.7.1
    Checking futures-task v0.3.32
    Checking regex-syntax v0.8.11
    Checking arrow-buffer v59.0.0
   Compiling zstd-safe v7.2.4
    Checking unicode-width v0.2.2
   Compiling parking_lot_core v0.9.12
    Checking unicode-segmentation v1.13.3
    Checking arrow-data v59.0.0
    Checking ryu v1.0.23
    Checking slab v0.4.12
    Checking bitflags v2.13.0
    Checking futures-io v0.3.32
    Checking futures-util v0.3.32
    Checking arrow-array v59.0.0
    Checking regex-automata v0.4.14
    Checking arrow-select v59.0.0
    Checking comfy-table v7.2.2
    Checking icu_normalizer v2.2.0
    Checking arrow-ord v59.0.0
    Checking icu_properties v2.2.0
    Checking lexical-core v1.0.6
   Compiling flatbuffers v25.12.19
   Compiling tokio-macros v2.7.0
    Checking atoi v2.0.0
   Compiling getrandom v0.4.3
    Checking base64 v0.22.1
    Checking scopeguard v1.2.0
    Checking tokio v1.52.3
    Checking lock_api v0.4.14
    Checking arrow-cast v59.0.0
    Checking idna_adapter v1.2.2
    Checking regex v1.12.4
    Checking csv-core v0.1.13
    Checking percent-encoding v2.3.2
    Checking either v1.16.0
    Checking twox-hash v2.1.2
   Compiling thiserror v2.0.18
    Checking lz4_flex v0.13.1
    Checking form_urlencoded v1.2.2
    Checking csv v1.4.0
    Checking idna v1.1.0
   Compiling tracing-attributes v0.1.31
   Compiling thiserror-impl v2.0.18
    Checking tracing-core v0.1.36
    Checking simdutf8 v0.1.5
    Checking same-file v1.0.6
    Checking tracing v0.1.44
    Checking arrow-json v59.0.0
    Checking walkdir v2.5.0
    Checking url v2.5.8
    Checking arrow-csv v59.0.0
    Checking itertools v0.14.0
    Checking arrow-string v59.0.0
    Checking parking_lot v0.12.5
    Checking arrow-arith v59.0.0
    Checking arrow-row v59.0.0
   Compiling async-trait v0.1.89
    Checking http v1.4.2
    Checking log v0.4.33
    Checking humantime v2.4.0
    Checking uuid v1.23.4
    Checking itertools v0.15.0
   Compiling pin-project-internal v1.1.13
    Checking object_store v0.13.2
    Checking pin-project v1.1.13
   Compiling rustix v1.1.4
   Compiling crossbeam-utils v0.8.21
    Checking zstd v0.13.3
    Checking futures-executor v0.3.32
    Checking ppv-lite86 v0.2.21
    Checking rand_core v0.9.5
    Checking arrow-ipc v59.0.0
    Checking datafusion-doc v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/doc)
    Checking linux-raw-sys v0.12.1
    Checking rand_chacha v0.9.0
    Checking futures v0.3.32
    Checking hashbrown v0.14.5
    Checking fastrand v2.4.1
    Checking foldhash v0.1.5
    Checking hashbrown v0.15.5
    Checking dashmap v6.2.1
    Checking arrow v59.0.0
    Checking rand v0.9.4
    Checking tokio-util v0.7.18
    Checking datafusion-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/common)
    Checking fixedbitset v0.5.7
    Checking petgraph v0.8.3
   Compiling datafusion-macros v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/macros)
    Checking tempfile v3.27.0
    Checking hex v0.4.3
    Checking datafusion-common-runtime v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/common-runtime)
    Checking glob v0.3.3
    Checking datafusion-expr-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/expr-common)
    Checking datafusion-physical-expr-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/physical-expr-common)
    Checking datafusion-functions-window-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/functions-window-common)
    Checking datafusion-functions-aggregate-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/functions-aggregate-common)
    Checking datafusion-expr v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/expr)
    Checking datafusion-execution v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/execution)
    Checking datafusion-physical-expr v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/physical-expr)
error[E0599]: no method named `deregister` found for struct `object_store::registry::DefaultObjectStoreRegistry` in the current scope
   --> /home/runner/work/datafusion/datafusion/datafusion/execution/src/object_store.rs:316:32
    |
316 |         let store = self.inner.deregister(url).ok_or_else(|| {
    |                                ^^^^^^^^^^
    |
help: there is a method `register` with a similar name, but with different arguments
   --> /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object_store-0.13.2/src/registry.rs:32:5
    |
 32 |     fn register(&self, url: Url, store: Arc<dyn ObjectStore>) -> Option<Arc<dyn ObjectStore>>;
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

For more information about this error, try `rustc --explain E0599`.
error: could not compile `datafusion-execution` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...

-----

error: failed to build rustdoc for crate datafusion-datasource-csv v54.0.0
note: this is usually due to a compilation error in the crate,
      and is unlikely to be a bug in cargo-semver-checks
note: the following command can be used to reproduce the error:
      cargo new --lib example &&
          cd example &&
          echo '[workspace]' >> Cargo.toml &&
          cargo add --path /home/runner/work/datafusion/datafusion/datafusion/datasource-csv &&
          cargo check &&
          cargo doc

    Building datafusion-datasource-json v54.0.0 (current)
error: running cargo-doc on crate 'datafusion-datasource-json' failed with output:
-----
   Compiling proc-macro2 v1.0.106
   Compiling quote v1.0.46
   Compiling unicode-ident v1.0.24
   Compiling libc v0.2.186
    Checking cfg-if v1.0.4
   Compiling libm v0.2.16
    Checking memchr v2.8.2
   Compiling autocfg v1.5.1
   Compiling num-traits v0.2.19
   Compiling syn v2.0.118
   Compiling zerocopy v0.8.52
    Checking bytes v1.12.0
   Compiling getrandom v0.3.4
    Checking once_cell v1.21.4
    Checking itoa v1.0.18
   Compiling serde_core v1.0.228
    Checking foldhash v0.2.0
    Checking allocator-api2 v0.2.21
    Checking equivalent v1.0.2
   Compiling zmij v1.0.21
    Checking hashbrown v0.17.1
   Compiling serde_json v1.0.150
    Checking num-integer v0.1.46
    Checking indexmap v2.14.0
    Checking iana-time-zone v0.1.65
    Checking siphasher v1.0.3
    Checking stable_deref_trait v1.2.1
   Compiling version_check v0.9.5
   Compiling ahash v0.8.12
    Checking phf_shared v0.12.1
    Checking chrono v0.4.45
    Checking num-bigint v0.4.8
   Compiling chrono-tz v0.10.4
    Checking phf v0.12.1
    Checking num-complex v0.4.6
   Compiling synstructure v0.13.2
    Checking arrow-schema v59.0.0
    Checking lexical-util v1.0.7
    Checking pin-project-lite v0.2.17
   Compiling shlex v2.0.1
   Compiling find-msvc-tools v0.1.9
    Checking futures-sink v0.3.32
    Checking smallvec v1.15.2
   Compiling jobserver v0.1.34
    Checking writeable v0.6.3
    Checking litemap v0.8.2
   Compiling zerocopy-derive v0.8.52
   Compiling zerofrom-derive v0.1.7
   Compiling yoke-derive v0.8.2
   Compiling zerovec-derive v0.11.3
    Checking zerofrom v0.1.8
    Checking yoke v0.8.3
   Compiling displaydoc v0.2.6
   Compiling cc v1.2.66
    Checking zerovec v0.11.6
    Checking tinystr v0.8.3
   Compiling pkg-config v0.3.33
    Checking futures-core v0.3.32
    Checking icu_locale_core v2.2.0
    Checking potential_utf v0.1.5
    Checking zerotrie v0.2.4
   Compiling zstd-sys v2.0.16+zstd.1.5.7
    Checking utf8_iter v1.0.4
   Compiling icu_normalizer_data v2.2.0
   Compiling icu_properties_data v2.2.0
    Checking icu_provider v2.2.0
    Checking icu_collections v2.2.0
    Checking lexical-write-integer v1.0.6
    Checking lexical-parse-integer v1.0.6
   Compiling semver v1.0.28
    Checking lexical-write-float v1.0.6
   Compiling rustc_version v0.4.1
    Checking lexical-parse-float v1.0.6
    Checking futures-channel v0.3.32
   Compiling futures-macro v0.3.32
   Compiling tokio-macros v2.7.0
    Checking half v2.7.1
    Checking arrow-buffer v59.0.0
    Checking aho-corasick v1.1.4
   Compiling zstd-safe v7.2.4
    Checking futures-io v0.3.32
    Checking regex-syntax v0.8.11
    Checking arrow-data v59.0.0
    Checking unicode-width v0.2.2
    Checking unicode-segmentation v1.13.3
    Checking arrow-array v59.0.0
    Checking ryu v1.0.23
    Checking slab v0.4.12
   Compiling parking_lot_core v0.9.12
    Checking futures-task v0.3.32
    Checking bitflags v2.13.0
    Checking futures-util v0.3.32
    Checking regex-automata v0.4.14
    Checking arrow-select v59.0.0
    Checking comfy-table v7.2.2
    Checking tokio v1.52.3
    Checking arrow-ord v59.0.0
    Checking lexical-core v1.0.6
    Checking icu_properties v2.2.0
    Checking icu_normalizer v2.2.0
   Compiling flatbuffers v25.12.19
    Checking atoi v2.0.0
   Compiling getrandom v0.4.3
    Checking base64 v0.22.1
    Checking scopeguard v1.2.0
    Checking lock_api v0.4.14
    Checking arrow-cast v59.0.0
    Checking idna_adapter v1.2.2
    Checking regex v1.12.4
    Checking csv-core v0.1.13
   Compiling thiserror v2.0.18
    Checking percent-encoding v2.3.2
    Checking twox-hash v2.1.2
    Checking either v1.16.0
    Checking lz4_flex v0.13.1
    Checking form_urlencoded v1.2.2
    Checking csv v1.4.0
    Checking idna v1.1.0
   Compiling thiserror-impl v2.0.18
   Compiling tracing-attributes v0.1.31
    Checking tracing-core v0.1.36
    Checking simdutf8 v0.1.5
    Checking same-file v1.0.6
    Checking walkdir v2.5.0
    Checking arrow-json v59.0.0
    Checking tracing v0.1.44
    Checking url v2.5.8
    Checking arrow-csv v59.0.0
    Checking itertools v0.14.0
    Checking arrow-string v59.0.0
    Checking parking_lot v0.12.5
    Checking arrow-row v59.0.0
    Checking arrow-arith v59.0.0
   Compiling async-trait v0.1.89
    Checking http v1.4.2
    Checking log v0.4.33
    Checking humantime v2.4.0
    Checking uuid v1.23.4
    Checking itertools v0.15.0
   Compiling pin-project-internal v1.1.13
    Checking object_store v0.13.2
    Checking pin-project v1.1.13
   Compiling crossbeam-utils v0.8.21
   Compiling rustix v1.1.4
    Checking futures-executor v0.3.32
    Checking ppv-lite86 v0.2.21
    Checking rand_core v0.9.5
    Checking zstd v0.13.3
    Checking linux-raw-sys v0.12.1
    Checking datafusion-doc v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/doc)
    Checking rand_chacha v0.9.0
    Checking futures v0.3.32
    Checking arrow-ipc v59.0.0
    Checking tokio-util v0.7.18
    Checking hashbrown v0.14.5
    Checking fastrand v2.4.1
    Checking foldhash v0.1.5
    Checking hashbrown v0.15.5
    Checking dashmap v6.2.1
    Checking rand v0.9.4
    Checking fixedbitset v0.5.7
    Checking arrow v59.0.0
    Checking datafusion-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/common)
    Checking petgraph v0.8.3
   Compiling datafusion-macros v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/macros)
    Checking tempfile v3.27.0
    Checking hex v0.4.3
    Checking datafusion-common-runtime v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/common-runtime)
    Checking glob v0.3.3
    Checking tokio-stream v0.1.18
    Checking datafusion-expr-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/expr-common)
    Checking datafusion-physical-expr-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/physical-expr-common)
    Checking datafusion-functions-aggregate-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/functions-aggregate-common)
    Checking datafusion-functions-window-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/functions-window-common)
    Checking datafusion-expr v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/expr)
    Checking datafusion-execution v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/execution)
    Checking datafusion-physical-expr v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/physical-expr)
error[E0599]: no method named `deregister` found for struct `object_store::registry::DefaultObjectStoreRegistry` in the current scope
   --> /home/runner/work/datafusion/datafusion/datafusion/execution/src/object_store.rs:316:32
    |
316 |         let store = self.inner.deregister(url).ok_or_else(|| {
    |                                ^^^^^^^^^^
    |
help: there is a method `register` with a similar name, but with different arguments
   --> /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object_store-0.13.2/src/registry.rs:32:5
    |
 32 |     fn register(&self, url: Url, store: Arc<dyn ObjectStore>) -> Option<Arc<dyn ObjectStore>>;
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

For more information about this error, try `rustc --explain E0599`.
error: could not compile `datafusion-execution` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...

-----

error: failed to build rustdoc for crate datafusion-datasource-json v54.0.0
note: this is usually due to a compilation error in the crate,
      and is unlikely to be a bug in cargo-semver-checks
note: the following command can be used to reproduce the error:
      cargo new --lib example &&
          cd example &&
          echo '[workspace]' >> Cargo.toml &&
          cargo add --path /home/runner/work/datafusion/datafusion/datafusion/datasource-json &&
          cargo check &&
          cargo doc

    Building datafusion-datasource-parquet v54.0.0 (current)
error: running cargo-doc on crate 'datafusion-datasource-parquet' failed with output:
-----
   Compiling proc-macro2 v1.0.106
   Compiling unicode-ident v1.0.24
   Compiling quote v1.0.46
   Compiling libc v0.2.186
    Checking cfg-if v1.0.4
    Checking memchr v2.8.2
   Compiling libm v0.2.16
   Compiling autocfg v1.5.1
   Compiling syn v2.0.118
   Compiling num-traits v0.2.19
   Compiling zerocopy v0.8.52
    Checking bytes v1.12.0
    Checking foldhash v0.2.0
    Checking equivalent v1.0.2
   Compiling serde_core v1.0.228
   Compiling getrandom v0.3.4
    Checking once_cell v1.21.4
    Checking allocator-api2 v0.2.21
    Checking itoa v1.0.18
   Compiling zmij v1.0.21
    Checking hashbrown v0.17.1
   Compiling serde_json v1.0.150
    Checking num-integer v0.1.46
    Checking indexmap v2.14.0
   Compiling version_check v0.9.5
    Checking iana-time-zone v0.1.65
    Checking stable_deref_trait v1.2.1
    Checking siphasher v1.0.3
    Checking phf_shared v0.12.1
    Checking chrono v0.4.45
   Compiling ahash v0.8.12
    Checking num-bigint v0.4.8
   Compiling chrono-tz v0.10.4
    Checking phf v0.12.1
   Compiling synstructure v0.13.2
    Checking arrow-schema v59.0.0
   Compiling jobserver v0.1.34
   Compiling shlex v2.0.1
   Compiling find-msvc-tools v0.1.9
   Compiling cc v1.2.66
    Checking num-complex v0.4.6
   Compiling pkg-config v0.3.33
    Checking pin-project-lite v0.2.17
    Checking lexical-util v1.0.7
   Compiling zerocopy-derive v0.8.52
   Compiling zerofrom-derive v0.1.7
   Compiling yoke-derive v0.8.2
    Checking zerofrom v0.1.8
   Compiling zerovec-derive v0.11.3
    Checking yoke v0.8.3
   Compiling displaydoc v0.2.6
    Checking writeable v0.6.3
    Checking litemap v0.8.2
    Checking smallvec v1.15.2
    Checking zerovec v0.11.6
    Checking zerotrie v0.2.4
   Compiling zstd-sys v2.0.16+zstd.1.5.7
   Compiling icu_properties_data v2.2.0
    Checking tinystr v0.8.3
    Checking potential_utf v0.1.5
    Checking icu_locale_core v2.2.0
    Checking utf8_iter v1.0.4
    Checking futures-sink v0.3.32
    Checking futures-core v0.3.32
   Compiling icu_normalizer_data v2.2.0
    Checking icu_collections v2.2.0
    Checking icu_provider v2.2.0
   Compiling semver v1.0.28
    Checking futures-channel v0.3.32
   Compiling rustc_version v0.4.1
    Checking lexical-write-integer v1.0.6
    Checking lexical-parse-integer v1.0.6
   Compiling futures-macro v0.3.32
    Checking futures-task v0.3.32
    Checking slab v0.4.12
   Compiling zstd-safe v7.2.4
    Checking bitflags v2.13.0
    Checking futures-io v0.3.32
   Compiling parking_lot_core v0.9.12
    Checking lexical-parse-float v1.0.6
    Checking futures-util v0.3.32
    Checking half v2.7.1
   Compiling flatbuffers v25.12.19
    Checking arrow-buffer v59.0.0
    Checking lexical-write-float v1.0.6
    Checking icu_normalizer v2.2.0
    Checking arrow-data v59.0.0
    Checking icu_properties v2.2.0
    Checking arrow-array v59.0.0
   Compiling tokio-macros v2.7.0
    Checking aho-corasick v1.1.4
    Checking base64 v0.22.1
    Checking scopeguard v1.2.0
    Checking regex-syntax v0.8.11
    Checking ryu v1.0.23
    Checking unicode-width v0.2.2
    Checking arrow-select v59.0.0
    Checking unicode-segmentation v1.13.3
    Checking comfy-table v7.2.2
    Checking lock_api v0.4.14
    Checking tokio v1.52.3
    Checking regex-automata v0.4.14
    Checking arrow-ord v59.0.0
    Checking idna_adapter v1.2.2
    Checking lexical-core v1.0.6
    Checking atoi v2.0.0
    Checking twox-hash v2.1.2
   Compiling getrandom v0.4.3
    Checking alloc-no-stdlib v2.0.4
    Checking percent-encoding v2.3.2
    Checking either v1.16.0
   Compiling thiserror v2.0.18
    Checking regex v1.12.4
    Checking form_urlencoded v1.2.2
    Checking alloc-stdlib v0.2.4
    Checking lz4_flex v0.13.1
    Checking arrow-cast v59.0.0
    Checking idna v1.1.0
    Checking futures-executor v0.3.32
   Compiling ring v0.17.14
   Compiling tracing-attributes v0.1.31
   Compiling thiserror-impl v2.0.18
    Checking tracing-core v0.1.36
    Checking csv-core v0.1.13
   Compiling paste v1.0.15
    Checking simdutf8 v0.1.5
    Checking same-file v1.0.6
   Compiling snap v1.1.1
    Checking tracing v0.1.44
    Checking walkdir v2.5.0
    Checking csv v1.4.0
    Checking futures v0.3.32
    Checking url v2.5.8
    Checking brotli-decompressor v5.0.3
    Checking itertools v0.14.0
    Checking parking_lot v0.12.5
   Compiling async-trait v0.1.89
    Checking http v1.4.2
    Checking getrandom v0.2.17
    Checking zlib-rs v0.6.5
    Checking humantime v2.4.0
    Checking untrusted v0.9.0
    Checking object_store v0.13.2
    Checking flate2 v1.1.9
    Checking brotli v8.0.4
    Checking arrow-csv v59.0.0
    Checking zstd v0.13.3
    Checking arrow-ipc v59.0.0
    Checking arrow-json v59.0.0
    Checking arrow-string v59.0.0
    Checking arrow-arith v59.0.0
    Checking arrow-row v59.0.0
    Checking log v0.4.33
   Compiling seq-macro v0.3.6
    Checking uuid v1.23.4
    Checking arrow v59.0.0
    Checking itertools v0.15.0
    Checking hex v0.4.3
   Compiling pin-project-internal v1.1.13
   Compiling crossbeam-utils v0.8.21
   Compiling rustix v1.1.4
    Checking parquet v59.0.0
    Checking ppv-lite86 v0.2.21
    Checking rand_core v0.9.5
    Checking linux-raw-sys v0.12.1
    Checking pin-project v1.1.13
    Checking datafusion-doc v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/doc)
    Checking rand_chacha v0.9.0
    Checking hashbrown v0.14.5
    Checking foldhash v0.1.5
    Checking fastrand v2.4.1
    Checking hashbrown v0.15.5
    Checking dashmap v6.2.1
    Checking rand v0.9.4
    Checking tokio-util v0.7.18
    Checking fixedbitset v0.5.7
    Checking petgraph v0.8.3
    Checking tempfile v3.27.0
   Compiling datafusion-macros v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/macros)
    Checking datafusion-common-runtime v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/common-runtime)
    Checking glob v0.3.3
    Checking datafusion-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/common)
    Checking datafusion-expr-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/expr-common)
    Checking datafusion-physical-expr-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/physical-expr-common)
    Checking datafusion-functions-aggregate-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/functions-aggregate-common)
    Checking datafusion-functions-window-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/functions-window-common)
    Checking datafusion-expr v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/expr)
    Checking datafusion-execution v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/execution)
    Checking datafusion-physical-expr v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/physical-expr)
error[E0599]: no method named `deregister` found for struct `object_store::registry::DefaultObjectStoreRegistry` in the current scope
   --> /home/runner/work/datafusion/datafusion/datafusion/execution/src/object_store.rs:316:32
    |
316 |         let store = self.inner.deregister(url).ok_or_else(|| {
    |                                ^^^^^^^^^^
    |
help: there is a method `register` with a similar name, but with different arguments
   --> /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object_store-0.13.2/src/registry.rs:32:5
    |
 32 |     fn register(&self, url: Url, store: Arc<dyn ObjectStore>) -> Option<Arc<dyn ObjectStore>>;
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

For more information about this error, try `rustc --explain E0599`.
error: could not compile `datafusion-execution` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...

-----

error: failed to build rustdoc for crate datafusion-datasource-parquet v54.0.0
note: this is usually due to a compilation error in the crate,
      and is unlikely to be a bug in cargo-semver-checks
note: the following command can be used to reproduce the error:
      cargo new --lib example &&
          cd example &&
          echo '[workspace]' >> Cargo.toml &&
          cargo add --path /home/runner/work/datafusion/datafusion/datafusion/datasource-parquet --features parquet_encryption &&
          cargo check &&
          cargo doc

    Building datafusion-execution v54.0.0 (current)
       Built [  28.923s] (current)
     Parsing datafusion-execution v54.0.0 (current)
      Parsed [   0.025s] (current)
    Building datafusion-execution v54.0.0 (baseline)
       Built [  29.635s] (baseline)
     Parsing datafusion-execution v54.0.0 (baseline)
      Parsed [   0.026s] (baseline)
    Checking datafusion-execution v54.0.0 -> v54.0.0 (no change; assume patch)
     Checked [   0.351s] 223 checks: 223 pass, 30 skip
     Summary no semver update required
    Finished [  60.370s] datafusion-execution
    Building datafusion-proto v54.0.0 (current)
error: running cargo-doc on crate 'datafusion-proto' failed with output:
-----
   Compiling proc-macro2 v1.0.106
   Compiling unicode-ident v1.0.24
   Compiling quote v1.0.46
   Compiling libc v0.2.186
    Checking cfg-if v1.0.4
    Checking memchr v2.8.2
   Compiling libm v0.2.16
   Compiling autocfg v1.5.1
   Compiling syn v2.0.118
   Compiling num-traits v0.2.19
   Compiling zerocopy v0.8.52
    Checking bytes v1.12.0
   Compiling serde_core v1.0.228
    Checking itoa v1.0.18
    Checking allocator-api2 v0.2.21
   Compiling getrandom v0.3.4
    Checking once_cell v1.21.4
    Checking equivalent v1.0.2
    Checking foldhash v0.2.0
   Compiling zmij v1.0.21
    Checking hashbrown v0.17.1
   Compiling serde_json v1.0.150
    Checking num-integer v0.1.46
    Checking indexmap v2.14.0
    Checking siphasher v1.0.3
    Checking iana-time-zone v0.1.65
   Compiling version_check v0.9.5
    Checking chrono v0.4.45
   Compiling ahash v0.8.12
   Compiling jobserver v0.1.34
    Checking phf_shared v0.12.1
    Checking num-bigint v0.4.8
   Compiling chrono-tz v0.10.4
   Compiling synstructure v0.13.2
   Compiling shlex v2.0.1
   Compiling find-msvc-tools v0.1.9
    Checking stable_deref_trait v1.2.1
   Compiling cc v1.2.66
    Checking arrow-schema v59.0.0
    Checking phf v0.12.1
   Compiling pkg-config v0.3.33
    Checking num-complex v0.4.6
    Checking pin-project-lite v0.2.17
    Checking writeable v0.6.3
    Checking litemap v0.8.2
   Compiling zerocopy-derive v0.8.52
   Compiling zerofrom-derive v0.1.7
   Compiling yoke-derive v0.8.2
    Checking zerofrom v0.1.8
   Compiling zerovec-derive v0.11.3
    Checking yoke v0.8.3
   Compiling displaydoc v0.2.6
   Compiling zstd-sys v2.0.16+zstd.1.5.7
    Checking futures-core v0.3.32
    Checking zerovec v0.11.6
    Checking futures-sink v0.3.32
    Checking smallvec v1.15.2
    Checking lexical-util v1.0.7
    Checking tinystr v0.8.3
    Checking potential_utf v0.1.5
    Checking icu_locale_core v2.2.0
    Checking zerotrie v0.2.4
   Compiling icu_normalizer_data v2.2.0
    Checking utf8_iter v1.0.4
   Compiling icu_properties_data v2.2.0
    Checking icu_collections v2.2.0
    Checking icu_provider v2.2.0
   Compiling zstd-safe v7.2.4
   Compiling semver v1.0.28
   Compiling rustc_version v0.4.1
    Checking lexical-write-integer v1.0.6
    Checking half v2.7.1
    Checking lexical-parse-integer v1.0.6
    Checking futures-channel v0.3.32
   Compiling futures-macro v0.3.32
   Compiling tokio-macros v2.7.0
    Checking arrow-buffer v59.0.0
    Checking slab v0.4.12
    Checking arrow-data v59.0.0
    Checking futures-io v0.3.32
    Checking futures-task v0.3.32
   Compiling parking_lot_core v0.9.12
    Checking bitflags v2.13.0
    Checking base64 v0.22.1
    Checking futures-util v0.3.32
    Checking tokio v1.52.3
    Checking arrow-array v59.0.0
    Checking arrow-select v59.0.0
    Checking lexical-parse-float v1.0.6
    Checking lexical-write-float v1.0.6
   Compiling flatbuffers v25.12.19
    Checking icu_properties v2.2.0
    Checking icu_normalizer v2.2.0
    Checking aho-corasick v1.1.4
   Compiling crc32fast v1.5.0
    Checking ryu v1.0.23
    Checking unicode-segmentation v1.13.3
    Checking scopeguard v1.2.0
    Checking unicode-width v0.2.2
   Compiling getrandom v0.4.3
    Checking regex-syntax v0.8.11
    Checking comfy-table v7.2.2
    Checking idna_adapter v1.2.2
    Checking lock_api v0.4.14
    Checking arrow-ord v59.0.0
    Checking lexical-core v1.0.6
    Checking atoi v2.0.0
    Checking either v1.16.0
   Compiling snap v1.1.1
    Checking twox-hash v2.1.2
    Checking adler2 v2.0.1
    Checking alloc-no-stdlib v2.0.4
    Checking simd-adler32 v0.3.9
   Compiling thiserror v2.0.18
    Checking percent-encoding v2.3.2
    Checking form_urlencoded v1.2.2
    Checking miniz_oxide v0.8.9
    Checking alloc-stdlib v0.2.4
    Checking lz4_flex v0.13.1
    Checking arrow-cast v59.0.0
    Checking regex-automata v0.4.14
    Checking idna v1.1.0
    Checking futures-executor v0.3.32
   Compiling thiserror-impl v2.0.18
   Compiling tracing-attributes v0.1.31
    Checking regex v1.12.4
    Checking tracing-core v0.1.36
    Checking csv-core v0.1.13
   Compiling paste v1.0.15
    Checking simdutf8 v0.1.5
    Checking zlib-rs v0.6.5
    Checking same-file v1.0.6
    Checking tracing v0.1.44
    Checking walkdir v2.5.0
    Checking csv v1.4.0
    Checking futures v0.3.32
    Checking url v2.5.8
    Checking brotli-decompressor v5.0.3
    Checking itertools v0.14.0
    Checking flate2 v1.1.9
    Checking parking_lot v0.12.5
   Compiling async-trait v0.1.89
    Checking http v1.4.2
    Checking zstd v0.13.3
   Compiling serde v1.0.228
    Checking arrow-ipc v59.0.0
   Compiling anyhow v1.0.103
    Checking humantime v2.4.0
    Checking object_store v0.13.2
    Checking brotli v8.0.4
    Checking arrow-csv v59.0.0
    Checking arrow-json v59.0.0
    Checking arrow-string v59.0.0
    Checking uuid v1.23.4
    Checking arrow-arith v59.0.0
    Checking arrow-row v59.0.0
   Compiling serde_derive v1.0.228
   Compiling seq-macro v0.3.6
    Checking log v0.4.33
    Checking arrow v59.0.0
    Checking itertools v0.15.0
    Checking parquet v59.0.0
   Compiling prost-derive v0.14.4
   Compiling pin-project-internal v1.1.13
    Checking pin-project v1.1.13
    Checking ppv-lite86 v0.2.21
    Checking pbjson v0.9.0
    Checking rand_core v0.9.5
    Checking prost v0.14.4
   Compiling rustix v1.1.4
   Compiling crossbeam-utils v0.8.21
    Checking rand_chacha v0.9.0
    Checking linux-raw-sys v0.12.1
    Checking datafusion-doc v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/doc)
    Checking rand v0.9.4
    Checking tokio-util v0.7.18
    Checking foldhash v0.1.5
    Checking hashbrown v0.14.5
    Checking fastrand v2.4.1
    Checking hashbrown v0.15.5
    Checking dashmap v6.2.1
    Checking fixedbitset v0.5.7
    Checking petgraph v0.8.3
   Compiling datafusion-macros v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/macros)
    Checking tempfile v3.27.0
    Checking hex v0.4.3
    Checking datafusion-common-runtime v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/common-runtime)
    Checking glob v0.3.3
   Compiling liblzma-sys v0.4.7
    Checking libbz2-rs-sys v0.2.5
    Checking datafusion-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/common)
   Compiling heck v0.5.0
    Checking crc-catalog v2.5.0
    Checking crc v3.4.0
   Compiling strum_macros v0.28.0
    Checking bzip2 v0.6.1
    Checking tokio-stream v0.1.18
    Checking datafusion-proto-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/proto-common)
    Checking datafusion-expr-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/expr-common)
    Checking datafusion-proto-models v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/proto-models)
    Checking liblzma v0.4.7
    Checking arrow-avro v59.0.0
    Checking datafusion-physical-expr-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/physical-expr-common)
    Checking datafusion-functions-aggregate-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/functions-aggregate-common)
    Checking datafusion-functions-window-common v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/functions-window-common)
    Checking datafusion-expr v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/expr)
    Checking datafusion-execution v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/execution)
    Checking datafusion-physical-expr v54.0.0 (/home/runner/work/datafusion/datafusion/datafusion/physical-expr)
error[E0599]: no method named `deregister` found for struct `object_store::registry::DefaultObjectStoreRegistry` in the current scope
   --> /home/runner/work/datafusion/datafusion/datafusion/execution/src/object_store.rs:316:32
    |
316 |         let store = self.inner.deregister(url).ok_or_else(|| {
    |                                ^^^^^^^^^^
    |
help: there is a method `register` with a similar name, but with different arguments
   --> /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object_store-0.13.2/src/registry.rs:32:5
    |
 32 |     fn register(&self, url: Url, store: Arc<dyn ObjectStore>) -> Option<Arc<dyn ObjectStore>>;
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

For more information about this error, try `rustc --explain E0599`.
error: could not compile `datafusion-execution` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...

-----

error: failed to build rustdoc for crate datafusion-proto v54.0.0
note: this is usually due to a compilation error in the crate,
      and is unlikely to be a bug in cargo-semver-checks
note: the following command can be used to reproduce the error:
      cargo new --lib example &&
          cd example &&
          echo '[workspace]' >> Cargo.toml &&
          cargo add --path /home/runner/work/datafusion/datafusion/datafusion/proto --features avro,datafusion-datasource-avro,datafusion-datasource-parquet,default,json,parquet,serde_json &&
          cargo check &&
          cargo doc

error: aborting due to failure to build rustdoc for crate datafusion v54.0.0

@github-actions github-actions Bot added the auto detected api change Auto detected API change label Jul 2, 2026
@kszucs kszucs force-pushed the prefixed-object-store-registry branch from a46c62c to 041dd61 Compare July 2, 2026 11:45
kszucs added 5 commits July 3, 2026 21:57
Register object stores under a path prefix (e.g. `hf://bucket/user/repo`) so
multiple stores can coexist under one scheme+authority, and hand each store
paths with its registered prefix stripped. This fixes double-prefixing for
stores rooted at a prefix (OpenDAL apache#7786).

- Wrap object_store's path-aware registry (register/resolve/deregister) and add
  `ObjectStoreRegistry::resolve` returning the store plus a store-relative path.
- Add `ListingTableUrl::resolve` and rewire the read and schema/partition
  inference paths to list against the rebased, store-relative url.
- Allow `ObjectStoreUrl` to carry a path prefix; key the datafusion-cli stdin
  store by authority.
Remove the bespoke StdinUtils::store_url helper. The stdin store is a
single per-session store identified by the stdin:// authority, which is
exactly what ListingTableUrl::object_store() returns, so register under
that identity and let the registry resolve object paths to it.
Replace the prefix-blind ListingTableUrl::object_store() with a single
registry-aware ListingTableUrl::resolve() that returns the serving store,
the store identity (scheme + authority + registered prefix), and the url
rebased into the store's coordinate space (ResolvedTableUrl). The registry
resolve() returns (store, store-relative path); the identity is derived
from the url and that path. This makes both read and write paths correct
for stores registered under a path prefix.
- datafusion-cli: register object stores at their scheme/authority identity
  instead of the full object path, so a store rooted at the authority is not
  scoped to a deep prefix and handed an empty relative path (broke every CLI
  CREATE EXTERNAL TABLE / COPY with a path component).
- catalog-listing: reject a ListingTable whose paths resolve to different
  object stores (a scan carries a single store), replace the positional
  ResolvedTablePaths tuple with a named struct, and resolve the first path once.
- execution: preserve the strict "No suitable object store found" error by
  gating resolve on explicit registration, so the registry never lazily creates
  a store from ambient environment credentials. Restore the file:// default
  registration for DefaultObjectStoreRegistry::default().
- Add regression tests for each fix.
@kszucs kszucs force-pushed the prefixed-object-store-registry branch from 53730fb to 25e1cd5 Compare July 3, 2026 19:57
…istry

- Restore ListingTableUrl::object_store() as #[deprecated] in favor of
  resolve(), which correctly handles stores registered under a path prefix.
- Document the registered-set linear scan in DefaultObjectStoreRegistry as
  an intentional tradeoff at expected registration cardinalities.
- Add a positive test for a multi-path ListingTable whose paths all resolve
  to the same prefixed store.
- Add a proto round-trip test asserting a path-bearing ObjectStoreUrl
  survives ParquetExec serde.
@github-actions github-actions Bot added the proto Related to proto crate label Jul 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auto detected api change Auto detected API change catalog Related to the catalog crate core Core DataFusion crate datasource Changes to the datasource crate execution Related to the execution crate proto Related to proto crate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant