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

ASF subversion and git services commented on GEODE-404:
-------------------------------------------------------

Commit 09c9342ce034753618e53a93b21171594713b157 in incubator-geode's branch 
refs/heads/feature/GEODE-11 from [~upthewaterspout]
[ https://git-wip-us.apache.org/repos/asf?p=incubator-geode.git;h=09c9342 ]

Requiring lucene index to be created before the region

At the moment, adding an AsyncEventQueue after a region is created has
issues - See GEODE-404.

Therefore, in order to create a lucene index programmatically, the
lucene index needs to be created before the region exists so that we can
create the AEQ ahead of time.

With this change, when an LuceneIndex is created, the actual creation is
deferred in a RegionListener callback. When the region is created, we
add the AEQ to the region attributes and create the colocated regions.


> Using AttributesMutator.addAsyncEventQueueId in a system with concurrent 
> operations will cause failures
> -------------------------------------------------------------------------------------------------------
>
>                 Key: GEODE-404
>                 URL: https://issues.apache.org/jira/browse/GEODE-404
>             Project: Geode
>          Issue Type: Bug
>          Components: core
>            Reporter: Dan Smith
>
> It's possible to add an async event queue after a region is created using 
> AttributesMutator.addAsyncEventQueueId.
> However, this code appears to have some issues if there are concurrent 
> operations executing. Every put goes through  
> LocalRegion.checkSameSenderIdsAvailableOnAllNodes. This method will throw an 
> exception if the async queue is not added on all nodes.
> Since the AsyncEventQueue will not be added at exactly the same time on all 
> nodes, there will be a window of time when puts will throw exceptions when 
> adding an AsyncEventQueue.
> In addition, this may be intentional, but *new* members that join a system 
> *must* have the AEQ defined in their region attributes before creating the 
> region. They cannot add the AEQ later. So the mutator is not useful as part 
> of the initialization of a member.



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

Reply via email to