[ 
https://issues.apache.org/jira/browse/ACCUMULO-2634?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Josh Elser updated ACCUMULO-2634:
---------------------------------
    Fix Version/s:     (was: 1.7.0)
                   1.8.0

> Allow options through public API for table creation
> ---------------------------------------------------
>
>                 Key: ACCUMULO-2634
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-2634
>             Project: Accumulo
>          Issue Type: Sub-task
>          Components: client
>            Reporter: Josh Elser
>             Fix For: 1.8.0
>
>
> In debugging a test, I found myself in {{CreateTableCommand}}. The {{evc}} 
> option will automatically set the {{VisibilityConstraint}} on the newly 
> created table by doing the following:
> {code}
>   createtable()
>   addConstraint()
> {code}
> This approach has a subtle race condition. The tabletserver hosting the 
> tablet for the newly created table might not see the table option update that 
> occurs as a part of addConstraint. This means the above two commands may both 
> successfully return but the client has the ability to data that doesn't 
> satisfy the constraint until the tserver's table configuration observer sees 
> the update.
> Thankfully, the CreateTable fate op has the ability to pass in a set of 
> properties for a table. The TableOperationsImpl class generates the default 
> set of table properties, but we should also allow users to provide their own 
> options that can override these defaults.
> [~billie.rinaldi] also had the idea to create some helper methods that would 
> simplify the API for making configuring IteratorSettings and Constraints to 
> the generic {{Map<String,String>}} object we'd want TableOperations to accept.



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

Reply via email to