[ 
https://issues.apache.org/jira/browse/GEODE-542?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Anthony Baker closed GEODE-542.
-------------------------------

> Race in FunctionService.onMembers can result in hang during member startup
> --------------------------------------------------------------------------
>
>                 Key: GEODE-542
>                 URL: https://issues.apache.org/jira/browse/GEODE-542
>             Project: Geode
>          Issue Type: Bug
>            Reporter: Dan Smith
>            Assignee: Dan Smith
>             Fix For: 1.0.0-incubating.M1
>
>
> I hit this while doing some internal tests of FunctionService. I have a 
> function that calls CacheFactory.getAnyInstance(). I was seeing that 
> occasionally, my function would never see a reply while a member was starting 
> up.
> Turning on debug logging, I found this is the logs
> {noformat}
> [fine 2015/10/28 17:15:41.903 PDT clientgemfire2_gluon_2055 <Function 
> Execution Processor2> tid=0x37] shutdown caught, abandoning message: A cache 
> has not yet been created.
> com.gemstone.gemfire.cache.CacheClosedException: A cache has not yet been 
> created.
>       at 
> com.gemstone.gemfire.cache.CacheFactory.getAnyInstance(CacheFactory.java:292)
>       at 
> com.gemstone.gemfire.internal.cache.execute.util.RollbackFunction.execute(RollbackFunction.java:82)
>       at 
> com.gemstone.gemfire.internal.cache.MemberFunctionStreamingMessage.process(MemberFunctionStreamingMessage.java:194)
>       at 
> com.gemstone.gemfire.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:380)
>       at 
> com.gemstone.gemfire.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:451)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>       at 
> com.gemstone.gemfire.distributed.internal.DistributionManager.runUntilShutdown(DistributionManager.java:701)
>       at 
> com.gemstone.gemfire.distributed.internal.DistributionManager$9$1.run(DistributionManager.java:1158)
>       at java.lang.Thread.run(Thread.java:745)
> {noformat}
> This seems wrong, because by not replying to the function the caller then can 
> hang. I think this code was intended for use during shutdown, but it also 
> gets hit during startup because members are available to process functions 
> before the cache is created. That in itself is perhaps problematic.



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

Reply via email to