What is jclouds's general policy with regard to putting a blob to a cloud 
service where the blob already exists and the cloud provider doesn't allow 
overwrites?

Seems like it would be nice to be able to treat the operation like it's an 
idempotent http PUT, but if the service disallows overwrites, jclouds would 
receive an exception in this case. Jclouds could then verify that the existing 
object has the same content and silently return "ok" as if the put worked. 

However, what happens if the cloud service has an object with the same name and 
different content? The only way to maintain the idempotent quality would be to 
silently delete the existing object and try the put again under the covers - 
this seems imprudent to me and unlikely to be the current functionality.

What really happens? 

Thanks,
John

P.S. I'd look this stuff up myself if I could only trace my way to the bottom 
levels of the jclouds code. There's so much interface wrapping going on in 
there, along with dependency injection, it's nearly impossible to tell where 
the rubber hits the road. If anyone can provide a hint about how to read the 
code from user-level to wire-level, I'd really appreciate it.

Reply via email to