>              return input.get() != null;
>           }
>        }, operationCompleteCheckTimeout, operationCompleteCheckInterval, 
> MILLISECONDS).apply(instance);
>  
> -      return new NodeAndInitialCredentials<Instance>(instance.get(), name, 
> credentials);
> +      if (options.getTags().size() > 0) {
> +         Operation tagsOperation = 
> api.getInstanceApiForProject(userProject.get()).setTagsInZone(template.getLocation().getId(),
> +                 name, options.getTags(), 
> instance.get().getTags().getFingerprint());
> +
> +         waitOperationDone(tagsOperation);
> +
> +         retry(new Predicate<AtomicReference<Instance>>() {
> +            @Override
> +            public boolean apply(AtomicReference<Instance> input) {
> +               
> input.set(api.getInstanceApiForProject(userProject.get()).getInZone(template.getLocation().getId(),
> +                       name));

What happens if the retry is interrupted _before_ the `return` check, assuming 
that's even possible. Could it cause a problem that the retry will fail but 
that `input` _has_, in fact, been successfully set?

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/16/files#r5362101

Reply via email to