public void upload(AbstractBackupPath path, InputStream in) throws BackupRestoreException
{
uploadCount.incrementAndGet();
AmazonS3 s3Client = getS3Client();
InitiateMultipartUploadRequest initRequest = new InitiateMultipartUploadRequest(config.getBackupPrefix(), path.getRemotePath());
InitiateMultipartUploadResult initResponse = s3Client.initiateMultipartUpload(initRequest);
DataPart part = new DataPart(config.getBackupPrefix(), path.getRemotePath(), initResponse.getUploadId());
List<PartETag> partETags = Lists.newArrayList();
long chunkSize = config.getBackupChunkSize();
if (path.getSize() > 0)
chunkSize = (path.getSize() / chunkSize >= MAX_CHUNKS) ? (path.getSize() / (MAX_CHUNKS - 1)) : chunkSize;