Package org.apache.druid.data.input.impl
Class RetryingInputStream<T>
java.lang.Object
java.io.InputStream
org.apache.druid.data.input.impl.RetryingInputStream<T>
- Type Parameters:
T- object type
- All Implemented Interfaces:
Closeable,AutoCloseable
This class is responsible for re-opening the underlying input
stream for the input object on the given
retryCondition.-
Constructor Summary
ConstructorsConstructorDescriptionRetryingInputStream(T object, ObjectOpenFunction<T> objectOpenFunction, com.google.common.base.Predicate<Throwable> retryCondition, Integer maxTries) -
Method Summary
Methods inherited from class java.io.InputStream
mark, markSupported, nullInputStream, readAllBytes, readNBytes, readNBytes, reset, transferTo
-
Constructor Details
-
RetryingInputStream
public RetryingInputStream(T object, ObjectOpenFunction<T> objectOpenFunction, com.google.common.base.Predicate<Throwable> retryCondition, @Nullable Integer maxTries) throws IOException - Parameters:
object- The object entity to openobjectOpenFunction- How to open the objectretryCondition- A predicate on a throwable to indicate if stream should retry.maxTries- The maximum times to try. Defaults toRetryUtils.DEFAULT_MAX_TRIESwhen null- Throws:
IOException
-
-
Method Details
-
read
- Specified by:
readin classInputStream- Throws:
IOException
-
read
- Overrides:
readin classInputStream- Throws:
IOException
-
read
- Overrides:
readin classInputStream- Throws:
IOException
-
skip
- Overrides:
skipin classInputStream- Throws:
IOException
-
available
- Overrides:
availablein classInputStream- Throws:
IOException
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classInputStream- Throws:
IOException
-