falcon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ajay Yadava (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FALCON-1410) Entity submit fails when multiple threads try submitting same definition
Date Thu, 20 Aug 2015 08:17:46 GMT

    [ https://issues.apache.org/jira/browse/FALCON-1410?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14704486#comment-14704486
] 

Ajay Yadava commented on FALCON-1410:
-------------------------------------

Although there is a synchronized keyword on the entity methods in the AbstractSchedulableEntityManager
this is pretty much useless as the lock will not be on same object. We should create a lock
per entity per falcon server and use that for synchronization.  

> Entity submit fails when multiple threads try submitting same definition
> ------------------------------------------------------------------------
>
>                 Key: FALCON-1410
>                 URL: https://issues.apache.org/jira/browse/FALCON-1410
>             Project: Falcon
>          Issue Type: Bug
>          Components: prism
>    Affects Versions: 0.7
>            Reporter: Pragya Mittal
>            Assignee: sandeep samudrala
>
> As part of submit feature we can submit entity any number of times and it will succeed,
given the condition entity definition remains same. But when multiple threads try submitting
common entity definition, it results in entity submission failure. Following is the stack
trace.
> {code}
> 2015-08-19 05:26:38,201 ERROR - [357703038@qtp-212921632-197 - 4d3d611e-352c-40f2-94db-95ae53657e9b:pragya:POST//entities/submit/cluster]
~ Unable to persist entity object (AbstractEntityManager:199)
> org.apache.falcon.entity.store.EntityAlreadyExistsException: (cluster) A99ac20e9-bb8bc0fa
already registered with configuration store. Can't be submitted again. Try removing before
submitting.
>         at org.apache.falcon.entity.store.ConfigurationStore.publish(ConfigurationStore.java:222)
>         at org.apache.falcon.resource.AbstractEntityManager.submitInternal(AbstractEntityManager.java:413)
>         at org.apache.falcon.resource.AbstractEntityManager.submit(AbstractEntityManager.java:196)
>         at org.apache.falcon.resource.proxy.SchedulableEntityManagerProxy.submit_aroundBody0(SchedulableEntityManagerProxy.java:144)
>         at org.apache.falcon.resource.proxy.SchedulableEntityManagerProxy$AjcClosure1.run(SchedulableEntityManagerProxy.java:1)
>         at org.aspectj.runtime.reflect.JoinPointImpl.proceed(JoinPointImpl.java:149)
>         at org.apache.falcon.aspect.AbstractFalconAspect.logAroundMonitored(AbstractFalconAspect.java:51)
>         at org.apache.falcon.resource.proxy.SchedulableEntityManagerProxy.submit(SchedulableEntityManagerProxy.java:119)
>         at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source)
>         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)
> {code}



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

Mime
View raw message