Invoking UploadFromStream on CloudPageBlob with IfMatchETag (similar problem with other conditions) fails with ConditionNotMet exception. CloudBlockBlob works correctly.
The reason seems to be in an extra (internal) REST call to set the maximum size of the blob before uploading the data. The first (create) call succeeds since the condition is met, however, it changes ETag causing the second (upload) call to fail.
UploadFromStream -> OpenWrite -> (observes that Size is defined) -> Create
any further calls with the original condition would fail
There is a potential issue with other code flows where OpenWrite is similarly used.
There are two possible suggestions to fix this:
Thank you for reporting this issue. We apologize for any inconvenience this may have caused.
We are working on a fix and will update this issue once we release it.
This is now fixed in WindowsAzure#185
Merge pull request #167 from Azure/AutoRest
Merge pull request #167 from MabOneSdk/anudeeb-dev1
Updating RS Backup OneSDK with latest hydra spec