Skip to content

CreateBuilder never returns. #3768

@ryzhyk

Description

@ryzhyk

Environment

Delta-rs version:

0.26.2

Binding:

Rust

Environment:

  • Cloud provider: AWS
  • OS: Ubuntu
  • Other:

Bug

What happened:

This usually happens when my application is trying to open multiple Delta Tables in parallel. This seems to cause S3 timeouts, which in turn lead to the following behavior:

CreateBuilder::new()
            .with_location(uri)
            .with_save_mode(DeltaTableWriteMode::Append)
            .with_storage_options(storage_options)
            .with_columns(columns)
            .await;

This call never returns (we've seen it stuck for many hours), but I see the following message in the log:

[2m2025-09-17T23:09:44.890623Z�[0m �[33m WARN�[0m �[2maws_config::web_identity_token�[0m�[2m:�[0m STS returned an error assuming web identity role �[3merror�[0m�[2m=�[0mdispatch failure: timeout: minimum throughput was specified at 1 B/s, but throughput of 0 B/s was observed (DispatchFailure(DispatchFailure { source: ConnectorError { kind: Timeout, source: ThroughputBelowMinimum { expected: Throughput { bytes_read: 1, per_time_elapsed: 1s }, actual: Throughput { bytes_read: 0, per_time_elapsed: 1s } }, connection: Unknown } }))
[2m2025-09-17T23:09:44.890681Z�[0m �[33m WARN�[0m �[2maws_config::meta::credentials::chain�[0m�[2m:�[0m provider failed to provide credentials �[3mprovider�[0m�[2m=�[0mWebIdentityToken �[3merror�[0m�[2m=�[0man error occurred while loading credentials: dispatch failure: timeout: minimum throughput was specified at 1 B/s, but throughput of 0 B/s was observed (ProviderError(ProviderError { source: DispatchFailure(DispatchFailure { source: ConnectorError { kind: Timeout, source: ThroughputBelowMinimum { expected: Throughput { bytes_read: 1, per_time_elapsed: 1s }, actual: Throughput { bytes_read: 0, per_time_elapsed: 1s } }, connection: Unknown } }) }))
[2m2025-09-17T23:09:44.890696Z�[0m �[33m WARN�[0m �[2maws_config::meta::credentials::chain�[0m�[2m:�[0m provider failed to provide credentials �[3mprovider�[0m�[2m=�[0mDefaultChain �[3merror�[0m�[2m=�[0man error occurred while loading credentials: dispatch failure: timeout: minimum throughput was specified at 1 B/s, but throughput of 0 B/s was observed (ProviderError(ProviderError { source: DispatchFailure(DispatchFailure { source: ConnectorError { kind: Timeout, source: ThroughputBelowMinimum { expected: Throughput { bytes_read: 1, per_time_elapsed: 1s }, actual: Throughput { bytes_read: 0, per_time_elapsed: 1s } }, connection: Unknown } }) }))

What you expected to happen:

The operations either succeeds or fails.

How to reproduce it:

Run many instances of the above code in parallel. I'll see if I can produce a small repro.

More details:

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions