diff --git a/ChangeLog.txt b/ChangeLog.txt index 6b3d82bff6397..d64351f5a41a4 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,3 +1,6 @@ +2017.06.21 Version 5.3.1 + * Fixed a bug in specific upload case for block blobs. This only affects uploads greater than the max put blob threshold, that have increased the streamWriteSizeInBytes beyond the 4 MB and storeBlobContentMD5 has been disabled. + 2017.06.13 Version 5.3.0 * Fixed a bug where the transactional MD5 check would fail when downloading a range of blob or file and the recovery action is performed on a subsection of the range. * Fixed leaking connections for table requests. diff --git a/README.md b/README.md index 1e9ae73786359..4f6743cfde7bb 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ To get the binaries of this library as distributed by Microsoft, ready for use w com.microsoft.azure azure-storage - 5.3.0 + 5.3.1 ``` @@ -127,6 +127,8 @@ If you would like to become an active contributor to this project please follow If you encounter any bugs with the library please file an issue in the [Issues](https://github.com/Azure/azure-storage-java/issues) section of the project. +When sending pull requests, please send non-breaking PRs to the dev branch and breaking changes to the dev_breaking branch. Do not make PRs against master. + # Learn More * [Azure Developer Center](http://azure.microsoft.com/en-us/develop/java/) diff --git a/microsoft-azure-storage-samples/pom.xml b/microsoft-azure-storage-samples/pom.xml index 11136e566f422..8f4e5c09045f7 100644 --- a/microsoft-azure-storage-samples/pom.xml +++ b/microsoft-azure-storage-samples/pom.xml @@ -26,7 +26,7 @@ com.microsoft.azure azure-storage - 5.3.0 + 5.3.1 com.microsoft.azure diff --git a/microsoft-azure-storage-test/src/com/microsoft/azure/storage/blob/CloudBlockBlobTests.java b/microsoft-azure-storage-test/src/com/microsoft/azure/storage/blob/CloudBlockBlobTests.java index 5027d672b2cce..c62f29da77a4d 100644 --- a/microsoft-azure-storage-test/src/com/microsoft/azure/storage/blob/CloudBlockBlobTests.java +++ b/microsoft-azure-storage-test/src/com/microsoft/azure/storage/blob/CloudBlockBlobTests.java @@ -1057,8 +1057,9 @@ public void testLargeBlobUploadFromStreamAccessConditionTest() throws URISyntaxE srcStream = BlobTestHelper.getRandomDataStream(length); blockBlobRef.upload(srcStream, length, accessCondition, options, null); } - catch (StorageException ex) + catch (IOException e) { + StorageException ex = (StorageException)e.getCause(); assertEquals(412, ex.getHttpStatusCode()); assertEquals(StorageErrorCodeStrings.CONDITION_NOT_MET, ex.getErrorCode()); } diff --git a/microsoft-azure-storage/src/com/microsoft/azure/storage/Constants.java b/microsoft-azure-storage/src/com/microsoft/azure/storage/Constants.java index 23302fab50ed9..911d0eed86dbc 100644 --- a/microsoft-azure-storage/src/com/microsoft/azure/storage/Constants.java +++ b/microsoft-azure-storage/src/com/microsoft/azure/storage/Constants.java @@ -661,7 +661,7 @@ public static class HeaderConstants { /** * Specifies the value to use for UserAgent header. */ - public static final String USER_AGENT_VERSION = "5.3.0"; + public static final String USER_AGENT_VERSION = "5.3.1"; /** * The default type for content-type and accept diff --git a/microsoft-azure-storage/src/com/microsoft/azure/storage/blob/CloudBlockBlob.java b/microsoft-azure-storage/src/com/microsoft/azure/storage/blob/CloudBlockBlob.java index 301ca433e32a2..4664bbc99bf5e 100644 --- a/microsoft-azure-storage/src/com/microsoft/azure/storage/blob/CloudBlockBlob.java +++ b/microsoft-azure-storage/src/com/microsoft/azure/storage/blob/CloudBlockBlob.java @@ -733,6 +733,11 @@ public byte[] getByteArray() { || options.getStoreBlobContentMD5() || descriptor.getLength() == -1; + // there are two known issues with the uploadFromMultiStream logic + // 1. The same block ids are being used for each batch of uploads. + // 2. When using a bufferedInputStream and the size of the stream being uploaded exceeds Integer.MAX_VALUE, + // a NegativeArraySizeException is thrown when attempting to skip past the 1 GB mark. + useOpenWrite = true; if (useOpenWrite) { final BlobOutputStream writeStream = this.openOutputStream(accessCondition, options, opContext); try { diff --git a/pom.xml b/pom.xml index 45afc55695a79..ac91bbaf98fe8 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ 4.0.0 com.microsoft.azure azure-storage - 5.3.0 + 5.3.1 jar Microsoft Azure Storage Client SDK