Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
Accumulo >> mail # user >> thread safety of IndexedDocIterator


Copy link to this message
-
Re: thread safety of IndexedDocIterator
On Mon, Nov 5, 2012 at 3:29 PM, William Slacum
<[EMAIL PROTECTED]> wrote:
> At one point, Keith had warned me against kicking off threads inside a scan
> session. Is it possible we could have a discussion on the implications of
> this?

I think this is a slightly different issue.  The iterator is not
kicking off other threads.  The iterator does not seem to be safe to
use when there are concurrent scans using it on a single tablet
server.

There are two other static fields that seem suspicious,  indexColfSet
and docColfSet.

Keith

>
>
> On Mon, Nov 5, 2012 at 11:30 AM, Billie Rinaldi <[EMAIL PROTECTED]> wrote:
>>
>> On Mon, Nov 5, 2012 at 11:24 AM, Sukant Hajra <[EMAIL PROTECTED]>
>> wrote:
>>>
>>> We noticed that IndexedDocIterator.java has the following private static
>>> fields:
>>>
>>>     private static Text indexColf = DEFAULT_INDEX_COLF;
>>>     private static Text docColf = DEFAULT_DOC_COLF;
>>>
>>> The init method, which sets these is synchronized.  Still, though, this
>>> synchronization doesn't seem enough to allow different runs of the
>>> iterator to
>>> use different values for indexColf and docColf.  One run will set the
>>> "Colf"
>>> variables one way atomically in the synchronized init method. . . and
>>> another
>>> run and immediately interleave in alternate "Colf" settings, which breaks
>>> the
>>> original iterator run.
>>>
>>> For now, we're not touching the indexColf and docColf, just leaving it as
>>> the
>>> defaults.
>>>
>>> We're not blocked by this.  We're just curious if there's a bug in this
>>> design.
>>> Also, if it's not a defect, we're interested in learning what system
>>> invariant
>>> of iterator execution makes this not a problem.
>>
>>
>> Sounds like a bug.  Feel free to open a ticket!
>>
>> Billie
>>
>>
>>>
>>>
>>> Thanks,
>>> Sukant
>>
>>
>