accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Josh Elser (JIRA)" <>
Subject [jira] [Commented] (ACCUMULO-3176) Add ability to create a table with user specified initial properties
Date Wed, 22 Oct 2014 16:55:34 GMT


Josh Elser commented on ACCUMULO-3176:

(pulling [this comment|]
from ACCUMULO-3089 since it's relevant here)

Sean Busbey wrote:
I moved ACCUMULO-3176 to be a subtask so it would be clearer what I considered covered by
my objections (this ticket and its subtasks) ...

[~busbey] can you clarify your objections on this specific issue for me? I'd actually like
to see this done (perhaps with some more follow on now that I think about it). I believe it
lays the ground work to squash race conditions WRT delays in ZooKeeper watcher firing in systems
with more than one tabletserver, most notably with configuration of iterators/combiners.

For example, the following code is subject to a race condition of the necessary tservers seeing
the configuration update from ZK before running the scan.

Connector conn = getConnector();
conn.tableOperations().attachIterator("foo", new IteratorSetting(50, MyIterator.class));
BatchWriter bw = conn.createBatchWriter("foo", new BatchWriterConfig());
List<Mutation> mutations = getMutations();
List<Entry<Key,Value>> data = Lists.newArrayList(conn.createScanner("foo"));

If the properties (in this case, iterator configuration) are set when the table is created,
there isn't a race condition. There is no opportunity for a tserver to read the table configuration
before the iterators are configured and perform some operation before the ZK Watcher fires
to update the cached table configuration (ZooCache) on this tserver.

> Add ability to create a table with user specified initial properties
> --------------------------------------------------------------------
>                 Key: ACCUMULO-3176
>                 URL:
>             Project: Accumulo
>          Issue Type: Sub-task
>            Reporter: Jenna Huston
>            Assignee: Jenna Huston
> This change would allow for table properties to be set before the default tablet is created.
 Instead of just adding a new create method, a NewTableConfiguration class could be created
and passed and the other create methods deprecated.

This message was sent by Atlassian JIRA

View raw message