@Override protected void handle(final DeleteBitsOnBackupStorageMsg msg) { final DeleteBitsOnBackupStorageReply reply = new DeleteBitsOnBackupStorageReply(); if (!canDelete(msg.getInstallPath())) { //TODO: GC, the image is still referred, need to cleanup bus.reply(msg, reply); return; } DeleteCmd cmd = new DeleteCmd(); cmd.installPath = msg.getInstallPath(); httpCall(DELETE_IMAGE_PATH, cmd, DeleteRsp.class, new ReturnValueCompletion<DeleteRsp>(msg) { @Override public void fail(ErrorCode err) { //TODO GC, do not reply error reply.setError(err); bus.reply(msg, reply); } @Override public void success(DeleteRsp ret) { bus.reply(msg, reply); } }); }
@Override protected void handle(final DeleteBitsOnBackupStorageMsg msg) { final DeleteBitsOnBackupStorageReply reply = new DeleteBitsOnBackupStorageReply(); if (!canDelete(msg.getInstallPath())) { //TODO: GC, the image is still referred, need to cleanup bus.reply(msg, reply); return; } DeleteCmd cmd = new DeleteCmd(); cmd.installPath = msg.getInstallPath(); httpCall(DELETE_IMAGE_PATH, cmd, DeleteRsp.class, new ReturnValueCompletion<DeleteRsp>(msg) { @Override public void fail(ErrorCode err) { //TODO GC, instead of error reply.setError(err); bus.reply(msg, reply); } @Override public void success(DeleteRsp ret) { bus.reply(msg, reply); } }); }
@Override public void success(DeleteResponse ret) { if (!ret.isSuccess()) { logger.warn(String.format("failed to delete bits[%s], schedule clean up, %s", msg.getInstallPath(), ret.getError())); //TODO GC } else { updateCapacity(ret.getTotalCapacity(), ret.getAvailableCapacity()); } bus.reply(msg, reply); }
@Override protected void handle(final DeleteBitsOnBackupStorageMsg msg) { final DeleteBitsOnBackupStorageReply reply = new DeleteBitsOnBackupStorageReply(); DeleteCmd cmd = new DeleteCmd(); cmd.uuid = self.getUuid(); cmd.setInstallUrl(msg.getInstallPath()); restf.asyncJsonPost(buildUrl(SftpBackupStorageConstant.DELETE_PATH), cmd, new JsonAsyncRESTCallback<DeleteResponse>(msg) { @Override public void fail(ErrorCode err) { reply.setError(err); bus.reply(msg, reply); } @Override public void success(DeleteResponse ret) { if (!ret.isSuccess()) { logger.warn(String.format("failed to delete bits[%s], schedule clean up, %s", msg.getInstallPath(), ret.getError())); //TODO GC } else { updateCapacity(ret.getTotalCapacity(), ret.getAvailableCapacity()); } bus.reply(msg, reply); } @Override public Class<DeleteResponse> getReturnClass() { return DeleteResponse.class; } }); }