in src/main/java/software/amazon/encryption/s3/internal/MultipartUploadMaterials.java [98:117]
protected void beginPartUpload(final int nextPartNumber, final long partContentLength) {
if (nextPartNumber < 1)
throw new IllegalArgumentException("part number must be at least 1");
if (partUploadInProgress) {
throw new S3EncryptionClientException(
"Parts are required to be uploaded in series");
}
synchronized (this) {
if (nextPartNumber - partNumber <= 1) {
partNumber = nextPartNumber;
partUploadInProgress = true;
incrementPlaintextSize(partContentLength);
} else {
throw new S3EncryptionClientException(
"Parts are required to be uploaded in series (partNumber="
+ partNumber + ", nextPartNumber="
+ nextPartNumber + ")");
}
}
}