Skip to content

Add azure.max-error-retries configuration property for Azure file system#29422

Open
p3tr0sz wants to merge 2 commits into
trinodb:masterfrom
p3tr0sz:p3tr0sz/add-azure-retries-support
Open

Add azure.max-error-retries configuration property for Azure file system#29422
p3tr0sz wants to merge 2 commits into
trinodb:masterfrom
p3tr0sz:p3tr0sz/add-azure-retries-support

Conversation

@p3tr0sz
Copy link
Copy Markdown
Contributor

@p3tr0sz p3tr0sz commented May 11, 2026

Description

Adds azure.max-error-retries configuration property to the Azure filesystem connector. Wires RequestRetryOptions with exponential backoff into both BlobContainerClientBuilder and DataLakeServiceClientBuilder. Defaults to 4, which matches the Azure SDK built-in default - so existing behavior is unchanged unless the property is explicitly set.

The exchange filesystem connector (trino-exchange-filesystem) already uses this pattern via ExchangeAzureConfig.getMaxErrorRetries(); this PR aligns the main filesystem connector with the same approach.

Additional context and related issues

The Azure SDK adds a default RequestRetryPolicy to all clients, but it is not configurable through the filesystem connector today. Operators encountering transient Azure errors (connection resets, rate limiting) have no knob to increase retry attempts without patching the connector.

This was observed in production under high ADLS concurrency, where transient connection failures increased. Following the connection pool improvements in #29284, configurable retries provide an additional layer of resilience for operators hitting transient Azure errors under load.

Release notes

( ) This is not user-visible or is docs only, and no release notes are required.
( ) Release notes are required. Please propose a release note for me.
(x) Release notes are required, with the following suggested text:

## Azure file system
* Add `azure.max-error-retries` configuration property to configure the number of retries for Azure HTTP request failures.

@p3tr0sz p3tr0sz force-pushed the p3tr0sz/add-azure-retries-support branch from 04236ff to 9cb68a7 Compare May 11, 2026 16:52
  Add exponential-backoff retry support to the Azure filesystem connector by
  wiring RequestRetryOptions into both BlobContainerClientBuilder and
  DataLakeServiceClientBuilder. The number of retries is configurable via
  azure.max-error-retries (default: 4, matching the Azure SDK default).

  The exchange filesystem connector already uses this pattern; this aligns the
  main filesystem connector with the same approach.
@p3tr0sz p3tr0sz force-pushed the p3tr0sz/add-azure-retries-support branch from 9cb68a7 to afbcde7 Compare May 12, 2026 11:57
@p3tr0sz p3tr0sz marked this pull request as ready for review May 12, 2026 14:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

1 participant