You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@falcon.apache.org by pa...@apache.org on 2016/02/08 09:52:53 UTC
falcon git commit: FALCON-1774 Server side check added to disallow
Prism operations
Repository: falcon
Updated Branches:
refs/heads/master 49050c84c -> 62da1cd3f
FALCON-1774 Server side check added to disallow Prism operations
Testing :
$ bin/falcon entity -type feed -submitAndSchedule -file ../cluster.xml
ERROR: Forbidden;submitAndSchedule on server is not supported.Please run your operation on Prism.
$ bin/falcon entity -type feed -update -name abc -file ../cluster.xml
ERROR: Forbidden;update on server is not supported.Please run your operation on Prism.
$ bin/falcon entity -type feed -delete -name abc
ERROR: Forbidden;delete on server is not supported.Please run your operation on Prism.
$ bin/falcon entity -type feed -submit -file ../cluster.xml
ERROR: Forbidden;submit on server is not supported.Please run your operation on Prism.
Author: Praveen Adlakha <ad...@gmail.com>
Reviewers: Pallavi Rao <pa...@inmobi.com> Pavan Kolamuri <pa...@inmobi.com>
Closes #16 from PraveenAdlakha/FALCON-1774 and squashes the following commits:
4935e2b [Praveen Adlakha] rebased patched
23ba055 [Praveen Adlakha] checkstyle issue fixed
75807f6 [Praveen Adlakha] changes.txt updated
Project: http://git-wip-us.apache.org/repos/asf/falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/falcon/commit/62da1cd3
Tree: http://git-wip-us.apache.org/repos/asf/falcon/tree/62da1cd3
Diff: http://git-wip-us.apache.org/repos/asf/falcon/diff/62da1cd3
Branch: refs/heads/master
Commit: 62da1cd3f2abe8eb9a29c72d49eaca7301dc5119
Parents: 49050c8
Author: Praveen Adlakha <ad...@gmail.com>
Authored: Mon Feb 8 14:22:29 2016 +0530
Committer: Pallavi Rao <pa...@inmobi.com>
Committed: Mon Feb 8 14:22:29 2016 +0530
----------------------------------------------------------------------
CHANGES.txt | 2 +
.../resource/SchedulableEntityManager.java | 87 ++++++++++++++++++++
2 files changed, 89 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/falcon/blob/62da1cd3/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 01e16b5..297e508 100755
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -11,6 +11,8 @@ Trunk
FALCON-1230 Data based notification Service to notify execution instances when data becomes available(Pavan Kumar Kolamuri via Ajay Yadava)
IMPROVEMENTS
+ FALCON-1774 Falcon to honour PRISM_URL env var (Praveen Adlakha)
+
FALCON-1721 Checkstyle doesn't extend parent.
FALCON-1818 Minor doc update for tar package locations after FALCON-1751 (Deepak Barr)
http://git-wip-us.apache.org/repos/asf/falcon/blob/62da1cd3/webapp/src/main/java/org/apache/falcon/resource/SchedulableEntityManager.java
----------------------------------------------------------------------
diff --git a/webapp/src/main/java/org/apache/falcon/resource/SchedulableEntityManager.java b/webapp/src/main/java/org/apache/falcon/resource/SchedulableEntityManager.java
index afa2b6f..e97adff 100644
--- a/webapp/src/main/java/org/apache/falcon/resource/SchedulableEntityManager.java
+++ b/webapp/src/main/java/org/apache/falcon/resource/SchedulableEntityManager.java
@@ -27,8 +27,10 @@ import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
+import javax.ws.rs.DELETE;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
import org.apache.commons.lang.StringUtils;
import org.apache.falcon.FalconWebException;
@@ -57,6 +59,91 @@ public class SchedulableEntityManager extends AbstractSchedulableEntityManager {
}
}
+ /**
+ * Delete the specified entity.
+ * @param request Servlet Request
+ * @param type Valid options are cluster, feed or process.
+ * @param entity Name of the entity.
+ * @param ignore colo is ignored
+ * @return Results of the delete operation.
+ */
+ @DELETE
+ @Path("delete/{type}/{entity}")
+ @Produces({MediaType.TEXT_XML, MediaType.TEXT_PLAIN, MediaType.APPLICATION_JSON})
+ @Monitored(event = "delete")
+ @Override
+ public APIResult delete(
+ @Context HttpServletRequest request, @Dimension("entityType") @PathParam("type") final String type,
+ @Dimension("entityName") @PathParam("entity") final String entity,
+ @Dimension("colo") @QueryParam("colo") String ignore) {
+ throw FalconWebException.newAPIException("delete on server is not"
+ + " supported.Please run your operation on Prism.", Response.Status.FORBIDDEN);
+ }
+ /**
+ * Updates the submitted entity.
+ * @param request Servlet Request
+ * @param type Valid options are feed or process.
+ * @param entityName Name of the entity.
+ * @param ignore colo is ignored
+ * @param skipDryRun Optional query param, Falcon skips oozie dryrun when value is set to true.
+ * @return Result of the validation.
+ */
+ @POST
+ @Path("update/{type}/{entity}")
+ @Produces({MediaType.TEXT_XML, MediaType.TEXT_PLAIN, MediaType.APPLICATION_JSON})
+ @Monitored(event = "update")
+ @Override
+ public APIResult update(
+ @Context HttpServletRequest request, @Dimension("entityType") @PathParam("type") final String type,
+ @Dimension("entityName") @PathParam("entity") final String entityName,
+ @Dimension("colo") @QueryParam("colo") String ignore,
+ @QueryParam("skipDryRun") final Boolean skipDryRun) {
+ throw FalconWebException.newAPIException("update on server is not"
+ + " supported.Please run your operation on Prism.", Response.Status.FORBIDDEN);
+ }
+
+ /**
+ * Submits and schedules an entity.
+ * @param request Servlet Request
+ * @param type Valid options are feed or process.
+ * @param coloExpr Colo on which the query should be run.
+ * @param skipDryRun Optional query param, Falcon skips oozie dryrun when value is set to true.
+ * @return Result of the submit and schedule command.
+ */
+ @POST
+ @Path("submitAndSchedule/{type}")
+ @Consumes({MediaType.TEXT_XML, MediaType.TEXT_PLAIN})
+ @Produces({MediaType.TEXT_XML, MediaType.TEXT_PLAIN, MediaType.APPLICATION_JSON})
+ @Monitored(event = "submitAndSchedule")
+ @Override
+ public APIResult submitAndSchedule(
+ @Context HttpServletRequest request, @Dimension("entityType") @PathParam("type") String type,
+ @Dimension("colo") @QueryParam("colo") String coloExpr,
+ @QueryParam("skipDryRun") Boolean skipDryRun,
+ @QueryParam("properties") String properties) {
+ throw FalconWebException.newAPIException("submitAndSchedule on server is not"
+ + " supported.Please run your operation on Prism.", Response.Status.FORBIDDEN);
+ }
+ /**
+ * Submit the given entity.
+ * @param request Servlet Request
+ * @param type Valid options are cluster, feed or process.
+ * @param ignore colo is ignored
+ * @return Result of the submission.
+ */
+ @POST
+ @Path("submit/{type}")
+ @Consumes({MediaType.TEXT_XML, MediaType.TEXT_PLAIN})
+ @Produces({MediaType.TEXT_XML, MediaType.TEXT_PLAIN, MediaType.APPLICATION_JSON})
+ @Monitored(event = "submit")
+ @Override
+ public APIResult submit(
+ @Context HttpServletRequest request, @Dimension("entityType") @PathParam("type") final String type,
+ @Dimension("colo") @QueryParam("colo") final String ignore) {
+ throw FalconWebException.newAPIException("submit on server is not"
+ + " supported.Please run your operation on Prism.", Response.Status.FORBIDDEN);
+ }
+
@GET
@Path("sla-alert/{type}")
@Produces({MediaType.APPLICATION_JSON, MediaType.TEXT_XML})