falcon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Karishma Gulati (JIRA)" <j...@apache.org>
Subject [jira] [Created] (FALCON-1330) When multiple cluster definitions exist for the same colo, triage produces expected results
Date Mon, 27 Jul 2015 10:57:04 GMT
Karishma Gulati created FALCON-1330:
---------------------------------------

             Summary: When multiple cluster definitions exist for the same colo, triage produces
expected results
                 Key: FALCON-1330
                 URL: https://issues.apache.org/jira/browse/FALCON-1330
             Project: Falcon
          Issue Type: Bug
    Affects Versions: 0.7
         Environment: QA
            Reporter: Karishma Gulati
            Assignee: Ajay Yadava


When multiple cluster definitions are submitted for the same colo as follows : 

Cluster1.xml
{code}
<?xml version="1.0" encoding="UTF-8"?><cluster xmlns="uri:falcon:cluster:0.1" name="TriageAPITest-corp-561a5d30"
description="" colo="ua1">
    <interfaces>
        <interface type="readonly" endpoint="hdfs://10.14.118.32:8020" version="0.20.2"/>
        <interface type="write" endpoint="hdfs://10.14.118.32:8020" version="0.20.2"/>
        <interface type="execute" endpoint="10.14.118.32:8021" version="0.20.2"/>
        <interface type="workflow" endpoint="http://10.14.118.32:11000/oozie/" version="3.1.0"/>
        <interface type="messaging" endpoint="tcp://localhost:61616?daemon=true" version="5.1.6"/>
    </interfaces>
    <locations>
        <location name="staging" path="/tmp/falcon-regression-staging"/>
        <location name="working" path="/tmp/falcon-regression-working"/>
        <location name="temp" path="/tmp"/>
    </locations>
    <ACL owner="karishma.gulati" group="dataqa" permission="*"/>
    <properties>
        <property name="field1" value="value1"/>
        <property name="field2" value="value2"/>
    </properties>
</cluster>
{code}

Cluster2.xml
{code}
<?xml version="1.0" encoding="UTF-8"?><cluster xmlns="uri:falcon:cluster:0.1" name="TriageAPITest-corp-f67e4d3f"
description="" colo="ua1">
    <interfaces>
        <interface type="readonly" endpoint="hdfs://10.14.118.32:8020" version="0.20.2"/>
        <interface type="write" endpoint="hdfs://10.14.118.32:8020" version="0.20.2"/>
        <interface type="execute" endpoint="10.14.118.32:8021" version="0.20.2"/>
        <interface type="workflow" endpoint="http://10.14.118.32:11000/oozie/" version="3.1.0"/>
        <interface type="messaging" endpoint="tcp://localhost:61616?daemon=true" version="5.1.6"/>
    </interfaces>
    <locations>
        <location name="staging" path="/tmp/falcon-regression-staging"/>
        <location name="working" path="/tmp/falcon-regression-working"/>
        <location name="temp" path="/tmp"/>
    </locations>
    <ACL owner="karishma.gulati" group="dataqa" permission="*"/>
    <properties>
        <property name="field1" value="value1"/>
        <property name="field2" value="value2"/>
    </properties>
</cluster>
{code}

and this process is scheduled :
{code}
<?xml version="1.0" encoding="UTF-8"?><process xmlns="uri:falcon:process:0.1" name="TriageAPITest-agregator-coord16-f8b908fc">
    <clusters>
        <cluster name="TriageAPITest-corp-f67e4d3f">
            <validity start="2010-01-02T00:00Z" end="2010-01-02T00:11Z"/>
        </cluster>
    </clusters>
    <parallel>3</parallel>
    <order>FIFO</order>
    <frequency>minutes(5)</frequency>
    <timezone>UTC</timezone>
    <inputs>
        <input name="inputData" feed="TriageAPITest-raaw-logs16-85c1cd2c" start="now(0,-20)"
end="now(0,0)"/>
    </inputs>
    <outputs>
        <output name="outputData" feed="TriageAPITest-agregated-logs16-485bf2a6" instance="now(0,0)"/>
    </outputs>
    <properties>
        <property name="queueName" value="default"/>
        <property name="fileTime" value="${formatTime(dateOffset(instanceTime(), 1, 'DAY'),
'yyyy-MMM-dd')}"/>
        <property name="user" value="${user()}"/>
    </properties>
    <workflow path="/tmp/falcon-regression/TriageAPITest/aggregator"/>
    <retry policy="periodic" delay="minutes(3)" attempts="3"/>
    <ACL owner="karishma.gulati" group="dataqa" permission="*"/>
</process>
{code}

When you triage on a succeeded instance via prism/server, the following response is received:
{code}
{
  "status": "SUCCEEDED",
  "message": "ua1/Success\n",
  "requestId": "ua1/596795157@qtp-164974746-4 - c8c58de9-74c8-41c5-9e90-7a2fc347d384\n",
  "triageGraphs": [
    {
      "vertices": [
        "name: TriageAPITest-agregator-coord16-f8b908fc, type: PROCESS, cluster: TriageAPITest-corp-f67e4d3f,
instanceTime: 2010-01-02T00:05Z, tags: [SUCCEEDED]"
      ]
    },
    {
      "vertices": [
        "name: TriageAPITest-agregator-coord16-f8b908fc, type: PROCESS, cluster: TriageAPITest-corp-561a5d30,
instanceTime: 2010-01-02T00:05Z, tags: [SUCCEEDED]"
      ]
    }
  ]
}
{code}

Expected result : Only one graph for that process's respective cluster should have been received.


In case of triaging before succession of the instance however, a Failed response is received
as follows:

a)On Triaging via Server:
{code}
<?xml version="1.0" encoding="UTF-8"?><instancesResult>
  <status>FAILED</status>
  <message>java.lang.IllegalArgumentException: Cluster provided: TriageAPITest-corp-b5cf7145
is not a valid cluster for the process: TriageAPITest-agregator-coord16-caee00f2
	at org.apache.falcon.entity.ProcessHelper.validateProcessInstance(ProcessHelper.java:95)
	at org.apache.falcon.entity.ProcessHelper.getInputFeedInstances(ProcessHelper.java:131)
	at org.apache.falcon.resource.AbstractInstanceManager.triage(AbstractInstanceManager.java:734)
	at org.apache.falcon.resource.AbstractInstanceManager.triageInstance(AbstractInstanceManager.java:653)
	at org.apache.falcon.resource.InstanceManager.triageInstance(InstanceManager.java:235)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
	at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185)
	at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
	at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:288)
	at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
	at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
	at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
	at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
	at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1469)
	at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1400)
	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1349)
	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1339)
	at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:537)
	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:699)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1221)
	at org.apache.falcon.security.FalconAuthorizationFilter.doFilter(FalconAuthorizationFilter.java:106)
	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
	at org.apache.falcon.security.FalconAuthenticationFilter$2.doFilter(FalconAuthenticationFilter.java:184)
	at org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:572)
	at org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:542)
	at org.apache.falcon.security.FalconAuthenticationFilter.doFilter(FalconAuthenticationFilter.java:193)
	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
	at org.apache.falcon.security.FalconAuditFilter.doFilter(FalconAuditFilter.java:64)
	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:767)
	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
	at org.mortbay.jetty.Server.handle(Server.java:326)
	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
	at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
</message>
  <requestId>596795157@qtp-164974746-4 - 6f3239c1-267c-43f0-95e6-3432eb43ef33</requestId>
</instancesResult>
{code}


b)On triaging via prism:
{code}
<?xml version="1.0" encoding="UTF-8"?><result>
  <status>FAILED</status>
  <message>ua1/org.apache.falcon.FalconException::javax.ws.rs.WebApplicationException:
javax.xml.bind.UnmarshalException: unexpected element (uri:"", local:"instancesResult"). Expected
elements are &lt;{}edge&gt;,&lt;{}result&gt;
</message>
  <requestId>ua1/1450659810@qtp-943081537-72 - 1aa0e6a0-c535-423f-b7fb-8eea886bb12b
</requestId>
</result>
{code}




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message