accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Josh Elser (JIRA)" <>
Subject [jira] [Commented] (ACCUMULO-2362) Reduce blocking in client API (Tables)
Date Wed, 19 Feb 2014 17:34:24 GMT


Josh Elser commented on ACCUMULO-2362:

Agreed. I know that at least one place would be creating (Batch)Scanners which should be rather
easy to replicate.

When I was looking at the MultiTableBatchWriter for ACCUMULO-1833, I evaluated "less" blocking
mostly by looking at JVisualVM or timed how long N threads which contend against each other
take to complete. Any better ideas than that?

> Reduce blocking in client API (Tables)
> --------------------------------------
>                 Key: ACCUMULO-2362
>                 URL:
>             Project: Accumulo
>          Issue Type: New Feature
>          Components: client
>    Affects Versions: 1.4.4, 1.5.0
>            Reporter: Josh Elser
>             Fix For: 1.7.0
> Presently, the {{Tables}} class contains a static map of instance to ZooCache that *many*
of the classes in the client API use. The problem with this is that many of the methods on
ZooCache ultimately are synchronized. When multiple threads using Connectors, TableOperations,
Scanners/BatchScanners, and BatchWriters against the same Accumulo instance, you currently
have a massive synchronization problem.
> We should give some thought to heavy, concurrent access to Accumulo client API calls
within the same JVM. Consideration should also be given to the consistency of wrapping zookeeper
with a cache like is presently done.

This message was sent by Atlassian JIRA

View raw message