@POST @Path("/data/datasets/{name}/admin/upgrade") public void upgrade(HttpRequest request, HttpResponder responder, @PathParam("namespace-id") String namespaceId, @PathParam("name") String instanceName) { propagateUserId(request); try { DatasetId instanceId = new DatasetId(namespaceId, instanceName); datasetAdminService.upgrade(instanceId); responder.sendJson(HttpResponseStatus.OK, GSON.toJson(new DatasetAdminOpResponse(null, null))); } catch (NotFoundException e) { LOG.debug("Got handler exception", e); responder.sendString(HttpResponseStatus.NOT_FOUND, StringUtils.defaultIfEmpty(e.getMessage(), "")); } catch (Exception e) { LOG.error(getAdminOpErrorMessage("upgrade", instanceName), e); responder.sendString(HttpResponseStatus.INTERNAL_SERVER_ERROR, getAdminOpErrorMessage("upgrade", instanceName)); } }
@POST @Path("/data/datasets/{name}/admin/upgrade") public void upgrade(HttpRequest request, HttpResponder responder, @PathParam("namespace-id") String namespaceId, @PathParam("name") String instanceName) { propagateUserId(request); try { DatasetId instanceId = new DatasetId(namespaceId, instanceName); datasetAdminService.upgrade(instanceId); responder.sendJson(HttpResponseStatus.OK, GSON.toJson(new DatasetAdminOpResponse(null, null))); } catch (NotFoundException e) { LOG.debug("Got handler exception", e); responder.sendString(HttpResponseStatus.NOT_FOUND, StringUtils.defaultIfEmpty(e.getMessage(), "")); } catch (Exception e) { LOG.error(getAdminOpErrorMessage("upgrade", instanceName), e); responder.sendString(HttpResponseStatus.INTERNAL_SERVER_ERROR, getAdminOpErrorMessage("upgrade", instanceName)); } }
@POST @Path("/data/datasets/{name}/admin/truncate") public void truncate(HttpRequest request, HttpResponder responder, @PathParam("namespace-id") String namespaceId, @PathParam("name") String instanceName) { propagateUserId(request); try { DatasetId instanceId = new DatasetId(namespaceId, instanceName); datasetAdminService.truncate(instanceId); responder.sendJson(HttpResponseStatus.OK, GSON.toJson(new DatasetAdminOpResponse(null, null))); } catch (NotFoundException e) { LOG.debug("Got handler exception", e); responder.sendString(HttpResponseStatus.NOT_FOUND, StringUtils.defaultIfEmpty(e.getMessage(), "")); } catch (Exception e) { LOG.error(getAdminOpErrorMessage("truncate", instanceName), e); responder.sendString(HttpResponseStatus.INTERNAL_SERVER_ERROR, getAdminOpErrorMessage("truncate", instanceName)); } }
@POST @Path("/data/datasets/{name}/admin/exists") public void exists(HttpRequest request, HttpResponder responder, @PathParam("namespace-id") String namespaceId, @PathParam("name") String instanceName) { propagateUserId(request); NamespaceId namespace = new NamespaceId(namespaceId); try { DatasetId instanceId = namespace.dataset(instanceName); responder.sendJson(HttpResponseStatus.OK, GSON.toJson(new DatasetAdminOpResponse(datasetAdminService.exists(instanceId), null))); } catch (NotFoundException e) { LOG.debug("Got handler exception", e); responder.sendString(HttpResponseStatus.NOT_FOUND, StringUtils.defaultIfEmpty(e.getMessage(), "")); } catch (Exception e) { LOG.error(getAdminOpErrorMessage("exists", instanceName), e); responder.sendString(HttpResponseStatus.INTERNAL_SERVER_ERROR, getAdminOpErrorMessage("exists", instanceName)); } }
@POST @Path("/data/datasets/{name}/admin/truncate") public void truncate(HttpRequest request, HttpResponder responder, @PathParam("namespace-id") String namespaceId, @PathParam("name") String instanceName) { propagateUserId(request); try { DatasetId instanceId = new DatasetId(namespaceId, instanceName); datasetAdminService.truncate(instanceId); responder.sendJson(HttpResponseStatus.OK, GSON.toJson(new DatasetAdminOpResponse(null, null))); } catch (NotFoundException e) { LOG.debug("Got handler exception", e); responder.sendString(HttpResponseStatus.NOT_FOUND, StringUtils.defaultIfEmpty(e.getMessage(), "")); } catch (Exception e) { LOG.error(getAdminOpErrorMessage("truncate", instanceName), e); responder.sendString(HttpResponseStatus.INTERNAL_SERVER_ERROR, getAdminOpErrorMessage("truncate", instanceName)); } }
new BatchProgramResult(program, HttpResponseStatus.NOT_FOUND.code(), e.getMessage()))); } catch (BadRequestException e) { issuedStops.add(Futures.immediateFuture(
@POST @Path("/data/datasets/{name}/admin/exists") public void exists(HttpRequest request, HttpResponder responder, @PathParam("namespace-id") String namespaceId, @PathParam("name") String instanceName) { propagateUserId(request); NamespaceId namespace = new NamespaceId(namespaceId); try { DatasetId instanceId = namespace.dataset(instanceName); responder.sendJson(HttpResponseStatus.OK, GSON.toJson(new DatasetAdminOpResponse(datasetAdminService.exists(instanceId), null))); } catch (NotFoundException e) { LOG.debug("Got handler exception", e); responder.sendString(HttpResponseStatus.NOT_FOUND, StringUtils.defaultIfEmpty(e.getMessage(), "")); } catch (Exception e) { LOG.error(getAdminOpErrorMessage("exists", instanceName), e); responder.sendString(HttpResponseStatus.INTERNAL_SERVER_ERROR, getAdminOpErrorMessage("exists", instanceName)); } }
new BatchProgramResult(program, HttpResponseStatus.NOT_FOUND.code(), e.getMessage()))); } catch (BadRequestException e) { issuedStops.add(Futures.immediateFuture(
} catch (NotFoundException e) { statuses.add(new BatchProgramStatus( program, HttpResponseStatus.NOT_FOUND.code(), e.getMessage(), null));
output.add(new BatchProgramResult(program, HttpResponseStatus.OK.code(), null, runId)); } catch (NotFoundException e) { output.add(new BatchProgramResult(program, HttpResponseStatus.NOT_FOUND.code(), e.getMessage())); } catch (BadRequestException e) { output.add(new BatchProgramResult(program, HttpResponseStatus.BAD_REQUEST.code(), e.getMessage()));
} catch (NotFoundException e) { statuses.add(new BatchProgramStatus( program, HttpResponseStatus.NOT_FOUND.code(), e.getMessage(), null));
@POST @Path("/data/datasets/{name}/admin/update") public void update(FullHttpRequest request, HttpResponder responder, @PathParam("namespace-id") String namespaceId, @PathParam("name") String name) { propagateUserId(request); InternalDatasetUpdateParams params = GSON.fromJson(request.content().toString(StandardCharsets.UTF_8), InternalDatasetUpdateParams.class); Preconditions.checkArgument(params.getProperties() != null, "Missing required 'instanceProps' parameter."); Preconditions.checkArgument(params.getTypeMeta() != null, "Missing required 'typeMeta' parameter."); Preconditions.checkArgument(params.getExistingSpec() != null, "Missing required 'existingSpec' parameter."); DatasetProperties props = params.getProperties(); DatasetSpecification existing = params.getExistingSpec(); DatasetTypeMeta typeMeta = params.getTypeMeta(); try { DatasetId instanceId = new DatasetId(namespaceId, name); DatasetCreationResponse response = datasetAdminService.createOrUpdate(instanceId, typeMeta, props, existing); responder.sendJson(HttpResponseStatus.OK, GSON.toJson(response)); } catch (NotFoundException e) { LOG.debug("Got handler exception", e); responder.sendString(HttpResponseStatus.NOT_FOUND, StringUtils.defaultIfEmpty(e.getMessage(), "")); } catch (BadRequestException e) { responder.sendString(HttpResponseStatus.BAD_REQUEST, e.getMessage()); } catch (IncompatibleUpdateException e) { responder.sendString(HttpResponseStatus.CONFLICT, e.getMessage()); } catch (Exception e) { responder.sendString(HttpResponseStatus.INTERNAL_SERVER_ERROR, e.getMessage()); } }
@POST @Path("/data/datasets/{name}/admin/update") public void update(FullHttpRequest request, HttpResponder responder, @PathParam("namespace-id") String namespaceId, @PathParam("name") String name) { propagateUserId(request); InternalDatasetUpdateParams params = GSON.fromJson(request.content().toString(StandardCharsets.UTF_8), InternalDatasetUpdateParams.class); Preconditions.checkArgument(params.getProperties() != null, "Missing required 'instanceProps' parameter."); Preconditions.checkArgument(params.getTypeMeta() != null, "Missing required 'typeMeta' parameter."); Preconditions.checkArgument(params.getExistingSpec() != null, "Missing required 'existingSpec' parameter."); DatasetProperties props = params.getProperties(); DatasetSpecification existing = params.getExistingSpec(); DatasetTypeMeta typeMeta = params.getTypeMeta(); try { DatasetId instanceId = new DatasetId(namespaceId, name); DatasetCreationResponse response = datasetAdminService.createOrUpdate(instanceId, typeMeta, props, existing); responder.sendJson(HttpResponseStatus.OK, GSON.toJson(response)); } catch (NotFoundException e) { LOG.debug("Got handler exception", e); responder.sendString(HttpResponseStatus.NOT_FOUND, StringUtils.defaultIfEmpty(e.getMessage(), "")); } catch (BadRequestException e) { responder.sendString(HttpResponseStatus.BAD_REQUEST, e.getMessage()); } catch (IncompatibleUpdateException e) { responder.sendString(HttpResponseStatus.CONFLICT, e.getMessage()); } catch (Exception e) { responder.sendString(HttpResponseStatus.INTERNAL_SERVER_ERROR, e.getMessage()); } }
output.add(new BatchProgramResult(program, HttpResponseStatus.OK.code(), null, runId)); } catch (NotFoundException e) { output.add(new BatchProgramResult(program, HttpResponseStatus.NOT_FOUND.code(), e.getMessage())); } catch (BadRequestException e) { output.add(new BatchProgramResult(program, HttpResponseStatus.BAD_REQUEST.code(), e.getMessage()));
/** * Tests deploying an application in a non-existing non-default namespace. */ @Test public void testDeployNonExistingNamespace() throws Exception { HttpResponse response = deploy(AllProgramsApp.class, 404, Constants.Gateway.API_VERSION_3_TOKEN, "random"); NotFoundException nfe = new NamespaceNotFoundException(new NamespaceId("random")); Assert.assertEquals(nfe.getMessage(), response.getResponseBodyAsString()); }
); List<JsonObject> returnedBody = readResponse(doPost(statusUrl1, gson.toJson(request)), LIST_OF_JSONOBJECT_TYPE); Assert.assertEquals(new NotFoundException(new ApplicationId("testnamespace1", "NotExist")).getMessage(), returnedBody.get(0).get("error").getAsString()); returnedBody = readResponse(doPost(statusUrl1, gson.toJson(request)), LIST_OF_JSONOBJECT_TYPE); Assert.assertEquals(new NotFoundException(new ProgramId("testnamespace1", AllProgramsApp.NAME, ProgramType.SERVICE, "NotExist")).getMessage(), returnedBody.get(0).get("error").getAsString()); response = doPost(statusUrl2, gson.toJson(request)); returnedBody = readResponse(response, LIST_OF_JSONOBJECT_TYPE); Assert.assertEquals(new NotFoundException(new ApplicationId("testnamespace2", AllProgramsApp.NAME)).getMessage(), returnedBody.get(0).get("error").getAsString()); Assert.assertEquals(new NotFoundException(new ApplicationId("testnamespace2", AllProgramsApp.NAME)).getMessage(), returnedBody.get(1).get("error").getAsString()); Assert.assertEquals(new NotFoundException(new ApplicationId("testnamespace2", AllProgramsApp.NAME)).getMessage(), returnedBody.get(2).get("error").getAsString());