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

Syeda Arshiya Tabreen updated HBASE-21487:
------------------------------------------
    Description: 
Concurrent  modifyTable or add/delete/modify columnFamily leads to incorrect 
result. After HBASE-18893, The behavior of add/delete/modify column family 
during concurrent operation is changed compare to branch-1.When  one client is 
adding cf2 and another one cf3 .. In branch-1 final result will be cf1,cf2,cf3 
but now either cf1,cf2 OR cf1,cf3 will be the outcome.

*Steps to reproduce*

1.Create table 't' with column family 'f1'
2.Client-1 and Client-2 requests to add column family 'f2' and 'f3' on table 
't' concurrently.

*Expected Result*
Table should have three column families(f1,f2,f3)

*Actual Result*
Table 't' will have column family either (f1,f2) or (f1,f3)

*Analysis/Issue*
Its because new table descriptor is constructed before submitting the 
modifyTableProcedure in HMaster class and its not guarded by any lock.
Is this the intended behavior?


  was:
Concurrent  modifyTable or add/delete/modify columnFamily leads to incorrect 
result. After HBASE-18893, The behavior of add/delete/modify column family 
during concurrent operation is changed compare to branch-1.When  one client is 
adding cf2 and another one cf3 .. In branch-1 final result will be cf1,cf2,cf3 
but now either cf1,cf2 OR cf1,cf3 will be the outcome.

*Steps to reproduce*

1.Create table 't' with column family 'f1'
2.Client-1 and Client-2 requests to add column family 'f2' and 'f3' on table 
't' concurrently.

Expected Result
Table should have three column families(f1,f2,f3)

*Actual Result*
Table 't' will have column family either (f1,f2) or (f1,f3)

*Analysis/Issue*
Its because new table descriptor is constructed before submitting the 
modifyTableProcedure in HMaster class and its not guarded by any lock.
Is this the intended behavior?



> Concurrent modify table ops can lead to unexpected results
> ----------------------------------------------------------
>
>                 Key: HBASE-21487
>                 URL: https://issues.apache.org/jira/browse/HBASE-21487
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 3.0.0, 2.0.0
>            Reporter: Syeda Arshiya Tabreen
>            Priority: Major
>
> Concurrent  modifyTable or add/delete/modify columnFamily leads to incorrect 
> result. After HBASE-18893, The behavior of add/delete/modify column family 
> during concurrent operation is changed compare to branch-1.When  one client 
> is adding cf2 and another one cf3 .. In branch-1 final result will be 
> cf1,cf2,cf3 but now either cf1,cf2 OR cf1,cf3 will be the outcome.
> *Steps to reproduce*
> 1.Create table 't' with column family 'f1'
> 2.Client-1 and Client-2 requests to add column family 'f2' and 'f3' on table 
> 't' concurrently.
> *Expected Result*
> Table should have three column families(f1,f2,f3)
> *Actual Result*
> Table 't' will have column family either (f1,f2) or (f1,f3)
> *Analysis/Issue*
> Its because new table descriptor is constructed before submitting the 
> modifyTableProcedure in HMaster class and its not guarded by any lock.
> Is this the intended behavior?



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to