[
https://issues.apache.org/jira/browse/SOLR-647?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12622575#action_12622575
]
noble.paul edited comment on SOLR-647 at 8/14/08 8:36 AM:
----------------------------------------------------------
I fail to see the need for this code in SolrCore#close()
{code:java}
int count;
do {
count = refCount.get();
if (count <= 0)
return;
} while (!refCount.compareAndSet(count, count - 1));
{code}
If you do refCount.decrementAndGet() it should be fine.
similarly in SolrCore$open() also
you can do a refCount.incrementAndGet() and will be fine.
What you have written is a duplication of code in AtomicInteger
Even the RefCounted class does increment and decrement in the same way
Yonik's patch does it simply and I do not see anything wrong with that.
was (Author: noble.paul):
I fail to see the need for this code in SolrCore#close()
{code:java}
int count;
do {
count = refCount.get();
if (count <= 0)
return;
} while (!refCount.compareAndSet(count, count - 1));
{code}
If you do refCount.decrementAndGet() it should be fine.
similarly in SolrCore$open() also
you can do a refCount.incrementAndGet() and will be fine.
What you have written is a duplication of code in AtomicInteger
Even the RefCounted class does increment and decrement in the same way
> Do SolrCore.close() in a refcounted way
> ---------------------------------------
>
> Key: SOLR-647
> URL: https://issues.apache.org/jira/browse/SOLR-647
> Project: Solr
> Issue Type: Bug
> Affects Versions: 1.3
> Reporter: Noble Paul
> Assignee: Grant Ingersoll
> Fix For: 1.3
>
> Attachments: refcount_example.patch, solr-647.patch, solr-647.patch,
> solr-647.patch, solr-647.patch, solr-647.patch, solr-647.patch,
> solr-647.patch, SOLR-647.patch, SOLR-647.patch
>
>
> The method _SolrCore.close()_ directly closes the core . It can cause
> Exceptions for in-flight requests. The _close()_ method should just do a
> decrement on refcount and the actual close must happen when the last request
> being processed by that core instance is completed
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.