use of com.dyngr.exception.PollerException in project cloudbreak by hortonworks.
the class SdxStopAllDatahubHandler method doAccept.
@Override
protected Selectable doAccept(HandlerEvent<SdxStopAllDatahubRequest> event) {
SdxStopAllDatahubRequest stopAllDatahubRequest = event.getData();
Long sdxId = stopAllDatahubRequest.getResourceId();
String userId = stopAllDatahubRequest.getUserId();
Selectable response;
try {
LOGGER.debug("Polling is started for the operation of stopping all datahubs clusters for sdx with id: {}", sdxId);
sdxStopService.stopAllDatahub(sdxId);
response = new SdxEvent(SdxStopEvent.SDX_STOP_IN_PROGRESS_EVENT.event(), sdxId, userId);
} catch (UserBreakException userBreakException) {
LOGGER.error("Polling exited before timeout. Cause ", userBreakException);
response = new SdxStopFailedEvent(sdxId, userId, userBreakException);
} catch (PollerStoppedException pollerStoppedException) {
LOGGER.error("Poller stopped for stack: " + sdxId, pollerStoppedException);
response = new SdxStopFailedEvent(sdxId, userId, new PollerStoppedException("Datalake stop timed out after " + DURATION_IN_MINUTES + " minutes", pollerStoppedException));
} catch (PollerException exception) {
LOGGER.error("Polling failed for stack: {}", sdxId);
response = new SdxStopFailedEvent(sdxId, userId, exception);
} catch (BadRequestException badRequest) {
LOGGER.error("Datahub stop failed.", badRequest);
response = new SdxStopFailedEvent(sdxId, userId, badRequest);
}
return response;
}
use of com.dyngr.exception.PollerException in project cloudbreak by hortonworks.
the class GcpProvisionSetup method copyImage.
public void copyImage(final String sourceBucket, final String sourceKey, final String destBucket, final String destKey, Storage storage) {
try {
Storage.Objects.Rewrite rewrite = storage.objects().rewrite(sourceBucket, sourceKey, destBucket, destKey, new StorageObject());
RewriteResponse rewriteResponse = rewrite.execute();
GcpImageAttemptMaker gcpImageAttemptMaker = gcpImageAttemptMakerFactory.create(rewriteResponse.getRewriteToken(), sourceBucket, sourceKey, destBucket, destKey, storage);
Polling.stopAfterAttempt(ATTEMPT_COUNT).stopIfException(true).waitPeriodly(SLEEPTIME, TimeUnit.SECONDS).run(gcpImageAttemptMaker);
LOGGER.info("Image copy has been finished successfully for {}/{}.", destBucket, destKey);
} catch (PollerStoppedException pollerStoppedException) {
LOGGER.error("Poller stopped for image copy: ", pollerStoppedException);
throw new CloudbreakServiceException("Image copy failed because the copy take too long time. " + "Please check Google Cloud console because probably the image should be ready.");
} catch (PollerException exception) {
LOGGER.error("Polling failed for image copy: {}", sourceKey, exception);
throw new CloudbreakServiceException("Image copy failed because: " + exception.getMessage());
} catch (Exception e) {
LOGGER.error("Polling could not started because: {}", e.getMessage(), e);
throw new CloudbreakServiceException("Copying the image could not be started, " + "please check whether you have given access to CDP for storage API.");
}
}
Aggregations