Svetoslav Neykov created JCLOUDS-1298:
-----------------------------------------
Summary: [Azure ARM] Handle async operations
Key: JCLOUDS-1298
URL: https://issues.apache.org/jira/browse/JCLOUDS-1298
Project: jclouds
Issue Type: Improvement
Components: jclouds-compute
Affects Versions: 2.0.1
Reporter: Svetoslav Neykov
Azure's API could choose to continue an operation as async if it takes too long
to complete. To let the client know it should continue polling for the result
it includes the operation URL in an {{Azure-AsyncOperation}} header.
The client is supposed to poll the operation URL (the value of the header)
before declaring success/failure.
With the current implementation an operation could still be in progress and
jclouds return a success result. The {{provisioningState}} property would still
be in an {{Updating}} state.
Proposal:
When the response contains the {{Azure-AsyncOperation}} header don't return
yet, but wait for the state to transition to success/failure before giving
control back to the caller.
Related to https://issues.apache.org/jira/browse/JCLOUDS-1296; If operations
block and the result is not used until success of the operation, instances of
"409 Conflict" responses should decrease dramatically.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)