Azure / Azure/azure-data-lake-store-java

The retry count of ExponentialBackoffPolicy created by ADLFileInputStream is not configurable

Open
#29 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
Java
Stars
22
Forks
41
PR merge metrics
No merged PRs in 30d

Description

We occasionally encounter errors under heavy load where all 5 tries are exhausted:
```
com/microsoft/azure/datalake/store/ADLFileInputStream.read:com.microsoft.azure.datalake.store.ADLException: Error reading from file [filename]
Operation OPEN failed with HTTP429 : ThrottledException
Last encountered exception thrown after 5 tries. [HTTP429(ThrottledException),HTTP429(ThrottledException),HTTP429(ThrottledExceptio\
n),HTTP429(ThrottledException),HTTP429(ThrottledException)]
[ServerRequestId: redacted]
com.microsoft.azure.datalake.store.ADLStoreClient.getExceptionFromResponse(ADLStoreClient.java:1179)
com.microsoft.azure.datalake.store.ADLFileInputStream.readRemote(ADLFileInputStream.java:252) com.microsoft.azure.datalake.store.ADLFileInputStream.readInternal(ADLFileInputStream.java:221) com.microsoft.azure.datalake.store.ADLFileInputStream.readFromService(ADLFileInputStream.java:132)
com.microsoft.azure.datalake.store.ADLFileInputStream.read(ADLFileInputStream.java:101)
```
The readRemote() method uses the default ctor for new ExponentialBackoffPolicy() and there doesn't seem to be any way to specify more retries or a steeper backoff. In our use case, we have tasks in Hadoop running in parallel, and they apparently overwhelm the default backoff strategy.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.