private Optional getByteArray()

in S3HtsjdkPlugin/src/main/java/com/epam/cmbi/s3/parallel/PartReader.java [77:96]


    private Optional<byte[]> getByteArray(int remainingAttempts) throws InterruptedException {

        if (remainingAttempts == 0) {
            LOG.error("Ran out of connection retries to ", uri.toString(), " ", threadName);
            return Optional.empty();
        }

        byte[] loadedDataBuffer;
        try (InputStream s3DataStream = factory.loadFromTo(uri, from, to)) {
            loadedDataBuffer = loadDataFromStream(s3DataStream);
        } catch (RuntimeIOException e) {
            canceledFlag.set(true);
            throw e;
        } catch (IOException e) {
            LOG.warn("Reconnected ", threadName, e);
            return getByteArray(remainingAttempts - 1);
        }

        return Optional.of(loadedDataBuffer);
    }