-
Type: Bug
-
Status: Resolved
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 10.10
-
Fix Version/s: 10.10-HF50, 11.x, 2021.6
-
Component/s: Azure
-
Release Notes Summary:The error "The specified block list is invalid" with Azure storage is fixed.
-
Tags:
-
Backlog priority:800
-
Sprint:nxplatform #38, nxplatform #39
-
Story Points:5
There is a known issue with Azure storage where concurrent upload requests could produce the error "The specified block list is invalid"
It's described in Microsoft documentation : https://techcommunity.microsoft.com/t5/azure-paas-blog/troubleshooting-invalidblock-the-specified-block-list-is-invalid/ba-p/1870350
In Nuxeo, it corresponds to the following stacktrace :
Caused by: java.io.IOException at com.microsoft.azure.storage.core.Utility.initIOException(Utility.java:643) ~[azure-storage-3.1.0.jar:?] at com.microsoft.azure.storage.blob.BlobOutputStream.close(BlobOutputStream.java:309) ~[azure-storage-3.1.0.jar:?] at com.microsoft.azure.storage.blob.CloudBlockBlob.upload(CloudBlockBlob.java:778) ~[azure-storage-3.1.0.jar:?] at com.microsoft.azure.storage.blob.CloudBlockBlob.upload(CloudBlockBlob.java:694) ~[azure-storage-3.1.0.jar:?] at org.nuxeo.ecm.blob.azure.AzureFileStorage.storeFile(AzureFileStorage.java:78) ~[nuxeo-core-binarymanager-azure-10.10.jar:?] at org.nuxeo.ecm.core.blob.binary.CachingBinaryManager.getBinary(CachingBinaryManager.java:155) ~[nuxeo-core-api-10.10-HF43.jar:?] at org.nuxeo.ecm.core.blob.binary.AbstractBinaryManager.getBinary(AbstractBinaryManager.java:130) ~[nuxeo-core-api-10.10-HF43.jar:?] at org.nuxeo.ecm.core.blob.binary.BinaryBlobProvider.writeBlob(BinaryBlobProvider.java:135) ~[nuxeo-core-api-10.10-HF43.jar:?] at org.nuxeo.ecm.blob.AbstractCloudBinaryManager.writeBlob(AbstractCloudBinaryManager.java:146) ~[nuxeo-core-binarymanager-common-10.10-HF37.jar:?] at org.nuxeo.ecm.core.blob.BlobProvider.writeBlob(BlobProvider.java:139) ~[nuxeo-core-api-10.10-HF43.jar:?] at org.nuxeo.ecm.core.blob.DocumentBlobManagerComponent.writeBlob(DocumentBlobManagerComponent.java:223) ~[nuxeo-core-10.10-HF42.jar:?] at org.nuxeo.ecm.core.storage.BaseDocument.setValueBlob(BaseDocument.java:679) ~[nuxeo-core-storage-10.10-HF39.jar:?] ... 23 more Caused by: com.microsoft.azure.storage.StorageException: The specified block list is invalid. at com.microsoft.azure.storage.StorageException.translateException(StorageException.java:89) ~[azure-storage-3.1.0.jar:?] at com.microsoft.azure.storage.core.StorageRequest.materializeException(StorageRequest.java:305) ~[azure-storage-3.1.0.jar:?] at com.microsoft.azure.storage.core.ExecutionEngine.executeWithRetry(ExecutionEngine.java:175) ~[azure-storage-3.1.0.jar:?] at com.microsoft.azure.storage.blob.CloudBlockBlob.commitBlockList(CloudBlockBlob.java:428) ~[azure-storage-3.1.0.jar:?] at com.microsoft.azure.storage.blob.BlobOutputStream.commit(BlobOutputStream.java:339) ~[azure-storage-3.1.0.jar:?] at com.microsoft.azure.storage.blob.BlobOutputStream.close(BlobOutputStream.java:306) ~[azure-storage-3.1.0.jar:?] at com.microsoft.azure.storage.blob.CloudBlockBlob.upload(CloudBlockBlob.java:778) ~[azure-storage-3.1.0.jar:?] at com.microsoft.azure.storage.blob.CloudBlockBlob.upload(CloudBlockBlob.java:694) ~[azure-storage-3.1.0.jar:?] at org.nuxeo.ecm.blob.azure.AzureFileStorage.storeFile(AzureFileStorage.java:78) ~[nuxeo-core-binarymanager-azure-10.10.jar:?] at org.nuxeo.ecm.core.blob.binary.CachingBinaryManager.getBinary(CachingBinaryManager.java:155) ~[nuxeo-core-api-10.10-HF43.jar:?] at org.nuxeo.ecm.core.blob.binary.AbstractBinaryManager.getBinary(AbstractBinaryManager.java:130) ~[nuxeo-core-api-10.10-HF43.jar:?] at org.nuxeo.ecm.core.blob.binary.BinaryBlobProvider.writeBlob(BinaryBlobProvider.java:135) ~[nuxeo-core-api-10.10-HF43.jar:?] at org.nuxeo.ecm.blob.AbstractCloudBinaryManager.writeBlob(AbstractCloudBinaryManager.java:146) ~[nuxeo-core-binarymanager-common-10.10-HF37.jar:?] at org.nuxeo.ecm.core.blob.BlobProvider.writeBlob(BlobProvider.java:139) ~[nuxeo-core-api-10.10-HF43.jar:?] at org.nuxeo.ecm.core.blob.DocumentBlobManagerComponent.writeBlob(DocumentBlobManagerComponent.java:223) ~[nuxeo-core-10.10-HF42.jar:?] at org.nuxeo.ecm.core.storage.BaseDocument.setValueBlob(BaseDocument.java:679) ~[nuxeo-core-storage-10.10-HF39.jar:?] ... 23 more
Some leads to fix the problem is described in this thread: https://stackoverflow.com/questions/12917857/the-specified-block-list-is-invalid-while-uploading-blobs-in-parallel
- is related to
-
NXP-30412 S3 GC must keep blobs added during GC
- Resolved
- Is referenced in