You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Aditya Kishore (JIRA)" <ji...@apache.org> on 2012/06/04 20:12:22 UTC

[jira] [Created] (HBASE-6158) Data loss if the words 'merges' or 'splits' are used as Column Family name

Aditya Kishore created HBASE-6158:
-------------------------------------

             Summary: Data loss if the words 'merges' or 'splits' are used as Column Family name
                 Key: HBASE-6158
                 URL: https://issues.apache.org/jira/browse/HBASE-6158
             Project: HBase
          Issue Type: Bug
          Components: master, regionserver
    Affects Versions: 0.94.0
            Reporter: Aditya Kishore


If a table is creates with either 'merges' or 'splits' as one of the Column Family name it can never be flushed to the disk even though the table creation (and data population) succeeds.

The reason for this is that these two are used as temporary directory names inside the region folder or merge and splits respectively and hence conflicts with the directories created for CF with same name.

A simple fix would be to uses ".merges' and ".splits" as the working folder (patch attached). This will also be consistent with other work folder names. An alternate fix would be to declare these words (and other similar) as reserve words and throw exception when they are used. However, I do find the alternate approach as unnecessarily restrictive.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-6158) Data loss if the words 'merges' or 'splits' are used as Column Family name

Posted by "Aditya Kishore (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13400884#comment-13400884 ] 

Aditya Kishore commented on HBASE-6158:
---------------------------------------

1. Would like to clarify that this change affects CF names and not user tables names.

{code}
\-<HBase Root>
 +-\<user_table>
   +-\<region_name>
     +-\merges

and

\-<HBase Root>
 +-\<user_table>
   +-\<region_name>
     +-\splits
{code}

2. Prior to this fix, it was impossible for any table to have a column family with name "merges" or "splits" *ON DISK* since these folders get deleted whenever a region is opened. If a table has a defined schema with "merges" or "splits" as CF name, it will continue to accept puts until they are to be flushed to disk at which point the flush fails with the following exception

ERROR: org.apache.hadoop.ipc.RemoteException: org.apache.hadoop.hbase.DroppedSnapshotException: region: <region_name>
at org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:999)
at org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:904)
at org.apache.hadoop.hbase.regionserver.HRegion.flushcache(HRegion.java:856)
at org.apache.hadoop.hbase.regionserver.HRegionServer.flushRegion(HRegionServer.java:2192)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:570)
at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1039)
Caused by: java.io.FileNotFoundException: File does not exist: hdfs://<server>:<port>/<path_to_region>/merges
at org.apache.hadoop.hdfs.DistributedFileSystem(DistributedFileSystem.java:519)
at org.apache.hadoop.hdfs.DistributedFileSystem(DistributedFileSystem.java:504)
at org.apache.hadoop.hbase.regionserver.StoreFile.getUniqueFile(StoreFile.java:580)
at org.apache.hadoop.hbase.regionserver.Store.internalFlushCache(Store.java:493)
at org.apache.hadoop.hbase.regionserver.Store.flushCache(Store.java:448)
at org.apache.hadoop.hbase.regionserver.Store.access$100(Store.java:81)
at org.apache.hadoop.hbase.regionserver.Store$StoreFlusherImpl.flushCache(Store.java:1519)
at org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:977)
... 9 more

3. You are right about the "merges"/MERGEDIR not being created anymore. Looks like this is a leftover code from original region merge code which was [modified|http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java?r1=638612&r2=639775&pathrev=1342855&diff_format=h] as part of HBASE-483. However the delete code still exist. I think the constant along with the code which deletes the MERGEDIR folder can be safely removed.

4. Which means that the only folder that we may even need to consider during upgrade is "splits". However, it is a transient folder which should exist only until the parent region is clean up. And this does get cleaned up when the corresponding region is opened.
                
> Data loss if the words 'merges' or 'splits' are used as Column Family name
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6158
>                 URL: https://issues.apache.org/jira/browse/HBASE-6158
>             Project: HBase
>          Issue Type: Bug
>          Components: master, regionserver
>    Affects Versions: 0.94.0
>            Reporter: Aditya Kishore
>            Assignee: Aditya Kishore
>             Fix For: 0.92.2, 0.94.1
>
>         Attachments: HBASE-6158_94.patch, HBASE-6158_trunk.patch
>
>
> If a table is creates with either 'merges' or 'splits' as one of the Column Family name it can never be flushed to the disk even though the table creation (and data population) succeeds.
> The reason for this is that these two are used as temporary directory names inside the region folder or merge and splits respectively and hence conflicts with the directories created for CF with same name.
> A simple fix would be to uses ".merges' and ".splits" as the working folder (patch attached). This will also be consistent with other work folder names. An alternate fix would be to declare these words (and other similar) as reserve words and throw exception when they are used. However, I do find the alternate approach as unnecessarily restrictive.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-6158) Data loss if the words 'merges' or 'splits' are used as Column Family name

Posted by "stack (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-6158?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack updated HBASE-6158:
-------------------------

    Fix Version/s:     (was: 0.96.0)
                   0.92.2

Applied to 0.92 too (data loss)
                
> Data loss if the words 'merges' or 'splits' are used as Column Family name
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6158
>                 URL: https://issues.apache.org/jira/browse/HBASE-6158
>             Project: HBase
>          Issue Type: Bug
>          Components: master, regionserver
>    Affects Versions: 0.94.0
>            Reporter: Aditya Kishore
>            Assignee: Aditya Kishore
>             Fix For: 0.92.2, 0.94.1
>
>         Attachments: HBASE-6158_94.patch, HBASE-6158_trunk.patch
>
>
> If a table is creates with either 'merges' or 'splits' as one of the Column Family name it can never be flushed to the disk even though the table creation (and data population) succeeds.
> The reason for this is that these two are used as temporary directory names inside the region folder or merge and splits respectively and hence conflicts with the directories created for CF with same name.
> A simple fix would be to uses ".merges' and ".splits" as the working folder (patch attached). This will also be consistent with other work folder names. An alternate fix would be to declare these words (and other similar) as reserve words and throw exception when they are used. However, I do find the alternate approach as unnecessarily restrictive.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-6158) Data loss if the words 'merges' or 'splits' are used as Column Family name

Posted by "stack (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13288792#comment-13288792 ] 

stack commented on HBASE-6158:
------------------------------

+1
                
> Data loss if the words 'merges' or 'splits' are used as Column Family name
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6158
>                 URL: https://issues.apache.org/jira/browse/HBASE-6158
>             Project: HBase
>          Issue Type: Bug
>          Components: master, regionserver
>    Affects Versions: 0.94.0
>            Reporter: Aditya Kishore
>            Assignee: Aditya Kishore
>             Fix For: 0.96.0, 0.94.1
>
>         Attachments: HBASE-6158_94.patch, HBASE-6158_trunk.patch
>
>
> If a table is creates with either 'merges' or 'splits' as one of the Column Family name it can never be flushed to the disk even though the table creation (and data population) succeeds.
> The reason for this is that these two are used as temporary directory names inside the region folder or merge and splits respectively and hence conflicts with the directories created for CF with same name.
> A simple fix would be to uses ".merges' and ".splits" as the working folder (patch attached). This will also be consistent with other work folder names. An alternate fix would be to declare these words (and other similar) as reserve words and throw exception when they are used. However, I do find the alternate approach as unnecessarily restrictive.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-6158) Data loss if the words 'merges' or 'splits' are used as Column Family name

Posted by "Zhihong Ted Yu (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-6158?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Zhihong Ted Yu updated HBASE-6158:
----------------------------------

    Hadoop Flags: Reviewed
          Status: Patch Available  (was: Open)
    
> Data loss if the words 'merges' or 'splits' are used as Column Family name
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6158
>                 URL: https://issues.apache.org/jira/browse/HBASE-6158
>             Project: HBase
>          Issue Type: Bug
>          Components: master, regionserver
>    Affects Versions: 0.94.0
>            Reporter: Aditya Kishore
>            Assignee: Aditya Kishore
>             Fix For: 0.96.0, 0.94.1
>
>         Attachments: HBASE-6158_94.patch, HBASE-6158_trunk.patch
>
>
> If a table is creates with either 'merges' or 'splits' as one of the Column Family name it can never be flushed to the disk even though the table creation (and data population) succeeds.
> The reason for this is that these two are used as temporary directory names inside the region folder or merge and splits respectively and hence conflicts with the directories created for CF with same name.
> A simple fix would be to uses ".merges' and ".splits" as the working folder (patch attached). This will also be consistent with other work folder names. An alternate fix would be to declare these words (and other similar) as reserve words and throw exception when they are used. However, I do find the alternate approach as unnecessarily restrictive.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-6158) Data loss if the words 'merges' or 'splits' are used as Column Family name

Posted by "Zhihong Ted Yu (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-6158?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Zhihong Ted Yu updated HBASE-6158:
----------------------------------

    Fix Version/s: 0.94.1
                   0.96.0
    
> Data loss if the words 'merges' or 'splits' are used as Column Family name
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6158
>                 URL: https://issues.apache.org/jira/browse/HBASE-6158
>             Project: HBase
>          Issue Type: Bug
>          Components: master, regionserver
>    Affects Versions: 0.94.0
>            Reporter: Aditya Kishore
>            Assignee: Aditya Kishore
>             Fix For: 0.96.0, 0.94.1
>
>         Attachments: HBASE-6158.patch
>
>
> If a table is creates with either 'merges' or 'splits' as one of the Column Family name it can never be flushed to the disk even though the table creation (and data population) succeeds.
> The reason for this is that these two are used as temporary directory names inside the region folder or merge and splits respectively and hence conflicts with the directories created for CF with same name.
> A simple fix would be to uses ".merges' and ".splits" as the working folder (patch attached). This will also be consistent with other work folder names. An alternate fix would be to declare these words (and other similar) as reserve words and throw exception when they are used. However, I do find the alternate approach as unnecessarily restrictive.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-6158) Data loss if the words 'merges' or 'splits' are used as Column Family name

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13289037#comment-13289037 ] 

Hudson commented on HBASE-6158:
-------------------------------

Integrated in HBase-0.94-security #34 (See [https://builds.apache.org/job/HBase-0.94-security/34/])
    HBASE-6158 Data loss if the words 'merges' or 'splits' are used as Column Family name (Revision 1346096)

     Result = SUCCESS
stack : 
Files : 
* /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
* /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java

                
> Data loss if the words 'merges' or 'splits' are used as Column Family name
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6158
>                 URL: https://issues.apache.org/jira/browse/HBASE-6158
>             Project: HBase
>          Issue Type: Bug
>          Components: master, regionserver
>    Affects Versions: 0.94.0
>            Reporter: Aditya Kishore
>            Assignee: Aditya Kishore
>             Fix For: 0.92.2, 0.94.1
>
>         Attachments: HBASE-6158_94.patch, HBASE-6158_trunk.patch
>
>
> If a table is creates with either 'merges' or 'splits' as one of the Column Family name it can never be flushed to the disk even though the table creation (and data population) succeeds.
> The reason for this is that these two are used as temporary directory names inside the region folder or merge and splits respectively and hence conflicts with the directories created for CF with same name.
> A simple fix would be to uses ".merges' and ".splits" as the working folder (patch attached). This will also be consistent with other work folder names. An alternate fix would be to declare these words (and other similar) as reserve words and throw exception when they are used. However, I do find the alternate approach as unnecessarily restrictive.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-6158) Data loss if the words 'merges' or 'splits' are used as Column Family name

Posted by "Todd Lipcon (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13288862#comment-13288862 ] 

Todd Lipcon commented on HBASE-6158:
------------------------------------

Is this change incompatible for rolling upgrade?
                
> Data loss if the words 'merges' or 'splits' are used as Column Family name
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6158
>                 URL: https://issues.apache.org/jira/browse/HBASE-6158
>             Project: HBase
>          Issue Type: Bug
>          Components: master, regionserver
>    Affects Versions: 0.94.0
>            Reporter: Aditya Kishore
>            Assignee: Aditya Kishore
>             Fix For: 0.92.2, 0.94.1
>
>         Attachments: HBASE-6158_94.patch, HBASE-6158_trunk.patch
>
>
> If a table is creates with either 'merges' or 'splits' as one of the Column Family name it can never be flushed to the disk even though the table creation (and data population) succeeds.
> The reason for this is that these two are used as temporary directory names inside the region folder or merge and splits respectively and hence conflicts with the directories created for CF with same name.
> A simple fix would be to uses ".merges' and ".splits" as the working folder (patch attached). This will also be consistent with other work folder names. An alternate fix would be to declare these words (and other similar) as reserve words and throw exception when they are used. However, I do find the alternate approach as unnecessarily restrictive.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-6158) Data loss if the words 'merges' or 'splits' are used as Column Family name

Posted by "Aditya Kishore (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-6158?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aditya Kishore updated HBASE-6158:
----------------------------------

    Attachment:     (was: HBASE-6158.patch)
    
> Data loss if the words 'merges' or 'splits' are used as Column Family name
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6158
>                 URL: https://issues.apache.org/jira/browse/HBASE-6158
>             Project: HBase
>          Issue Type: Bug
>          Components: master, regionserver
>    Affects Versions: 0.94.0
>            Reporter: Aditya Kishore
>            Assignee: Aditya Kishore
>             Fix For: 0.96.0, 0.94.1
>
>         Attachments: HBASE-6158_94.patch, HBASE-6158_trunk.patch
>
>
> If a table is creates with either 'merges' or 'splits' as one of the Column Family name it can never be flushed to the disk even though the table creation (and data population) succeeds.
> The reason for this is that these two are used as temporary directory names inside the region folder or merge and splits respectively and hence conflicts with the directories created for CF with same name.
> A simple fix would be to uses ".merges' and ".splits" as the working folder (patch attached). This will also be consistent with other work folder names. An alternate fix would be to declare these words (and other similar) as reserve words and throw exception when they are used. However, I do find the alternate approach as unnecessarily restrictive.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-6158) Data loss if the words 'merges' or 'splits' are used as Column Family name

Posted by "stack (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-6158?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack updated HBASE-6158:
-------------------------

    Resolution: Fixed
        Status: Resolved  (was: Patch Available)

Applied trunk and 0.94 branch.  Thanks for the patch Aditya.
                
> Data loss if the words 'merges' or 'splits' are used as Column Family name
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6158
>                 URL: https://issues.apache.org/jira/browse/HBASE-6158
>             Project: HBase
>          Issue Type: Bug
>          Components: master, regionserver
>    Affects Versions: 0.94.0
>            Reporter: Aditya Kishore
>            Assignee: Aditya Kishore
>             Fix For: 0.96.0, 0.94.1
>
>         Attachments: HBASE-6158_94.patch, HBASE-6158_trunk.patch
>
>
> If a table is creates with either 'merges' or 'splits' as one of the Column Family name it can never be flushed to the disk even though the table creation (and data population) succeeds.
> The reason for this is that these two are used as temporary directory names inside the region folder or merge and splits respectively and hence conflicts with the directories created for CF with same name.
> A simple fix would be to uses ".merges' and ".splits" as the working folder (patch attached). This will also be consistent with other work folder names. An alternate fix would be to declare these words (and other similar) as reserve words and throw exception when they are used. However, I do find the alternate approach as unnecessarily restrictive.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-6158) Data loss if the words 'merges' or 'splits' are used as Column Family name

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13289081#comment-13289081 ] 

Hudson commented on HBASE-6158:
-------------------------------

Integrated in HBase-0.92-security #111 (See [https://builds.apache.org/job/HBase-0.92-security/111/])
    HBASE-6158 Data loss if the words 'merges' or 'splits' are used as Column Family name (Revision 1346097)

     Result = FAILURE
stack : 
Files : 
* /hbase/branches/0.92/CHANGES.txt
* /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
* /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java

                
> Data loss if the words 'merges' or 'splits' are used as Column Family name
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6158
>                 URL: https://issues.apache.org/jira/browse/HBASE-6158
>             Project: HBase
>          Issue Type: Bug
>          Components: master, regionserver
>    Affects Versions: 0.94.0
>            Reporter: Aditya Kishore
>            Assignee: Aditya Kishore
>             Fix For: 0.92.2, 0.94.1
>
>         Attachments: HBASE-6158_94.patch, HBASE-6158_trunk.patch
>
>
> If a table is creates with either 'merges' or 'splits' as one of the Column Family name it can never be flushed to the disk even though the table creation (and data population) succeeds.
> The reason for this is that these two are used as temporary directory names inside the region folder or merge and splits respectively and hence conflicts with the directories created for CF with same name.
> A simple fix would be to uses ".merges' and ".splits" as the working folder (patch attached). This will also be consistent with other work folder names. An alternate fix would be to declare these words (and other similar) as reserve words and throw exception when they are used. However, I do find the alternate approach as unnecessarily restrictive.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-6158) Data loss if the words 'merges' or 'splits' are used as Column Family name

Posted by "Aditya Kishore (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-6158?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aditya Kishore updated HBASE-6158:
----------------------------------

    Attachment: HBASE-6158.patch

Rename the merge and split work folder names by prefixing '.'
                
> Data loss if the words 'merges' or 'splits' are used as Column Family name
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6158
>                 URL: https://issues.apache.org/jira/browse/HBASE-6158
>             Project: HBase
>          Issue Type: Bug
>          Components: master, regionserver
>    Affects Versions: 0.94.0
>            Reporter: Aditya Kishore
>         Attachments: HBASE-6158.patch
>
>
> If a table is creates with either 'merges' or 'splits' as one of the Column Family name it can never be flushed to the disk even though the table creation (and data population) succeeds.
> The reason for this is that these two are used as temporary directory names inside the region folder or merge and splits respectively and hence conflicts with the directories created for CF with same name.
> A simple fix would be to uses ".merges' and ".splits" as the working folder (patch attached). This will also be consistent with other work folder names. An alternate fix would be to declare these words (and other similar) as reserve words and throw exception when they are used. However, I do find the alternate approach as unnecessarily restrictive.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Closed] (HBASE-6158) Data loss if the words 'merges' or 'splits' are used as Column Family name

Posted by "Lars Hofhansl (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-6158?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lars Hofhansl closed HBASE-6158.
--------------------------------

    
> Data loss if the words 'merges' or 'splits' are used as Column Family name
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6158
>                 URL: https://issues.apache.org/jira/browse/HBASE-6158
>             Project: HBase
>          Issue Type: Bug
>          Components: master, regionserver
>    Affects Versions: 0.94.0
>            Reporter: Aditya Kishore
>            Assignee: Aditya Kishore
>             Fix For: 0.92.2, 0.94.1
>
>         Attachments: HBASE-6158_94.patch, HBASE-6158_trunk.patch
>
>
> If a table is creates with either 'merges' or 'splits' as one of the Column Family name it can never be flushed to the disk even though the table creation (and data population) succeeds.
> The reason for this is that these two are used as temporary directory names inside the region folder or merge and splits respectively and hence conflicts with the directories created for CF with same name.
> A simple fix would be to uses ".merges' and ".splits" as the working folder (patch attached). This will also be consistent with other work folder names. An alternate fix would be to declare these words (and other similar) as reserve words and throw exception when they are used. However, I do find the alternate approach as unnecessarily restrictive.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-6158) Data loss if the words 'merges' or 'splits' are used as Column Family name

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13288904#comment-13288904 ] 

Hudson commented on HBASE-6158:
-------------------------------

Integrated in HBase-0.94 #246 (See [https://builds.apache.org/job/HBase-0.94/246/])
    HBASE-6158 Data loss if the words 'merges' or 'splits' are used as Column Family name (Revision 1346096)

     Result = FAILURE
stack : 
Files : 
* /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
* /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java

                
> Data loss if the words 'merges' or 'splits' are used as Column Family name
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6158
>                 URL: https://issues.apache.org/jira/browse/HBASE-6158
>             Project: HBase
>          Issue Type: Bug
>          Components: master, regionserver
>    Affects Versions: 0.94.0
>            Reporter: Aditya Kishore
>            Assignee: Aditya Kishore
>             Fix For: 0.92.2, 0.94.1
>
>         Attachments: HBASE-6158_94.patch, HBASE-6158_trunk.patch
>
>
> If a table is creates with either 'merges' or 'splits' as one of the Column Family name it can never be flushed to the disk even though the table creation (and data population) succeeds.
> The reason for this is that these two are used as temporary directory names inside the region folder or merge and splits respectively and hence conflicts with the directories created for CF with same name.
> A simple fix would be to uses ".merges' and ".splits" as the working folder (patch attached). This will also be consistent with other work folder names. An alternate fix would be to declare these words (and other similar) as reserve words and throw exception when they are used. However, I do find the alternate approach as unnecessarily restrictive.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-6158) Data loss if the words 'merges' or 'splits' are used as Column Family name

Posted by "Hadoop QA (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13288836#comment-13288836 ] 

Hadoop QA commented on HBASE-6158:
----------------------------------

-1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12530831/HBASE-6158_trunk.patch
  against trunk revision .

    +1 @author.  The patch does not contain any @author tags.

    -1 tests included.  The patch doesn't appear to include any new or modified tests.
                        Please justify why no new tests are needed for this patch.
                        Also please list what manual steps were performed to verify this patch.

    +1 hadoop2.0.  The patch compiles against the hadoop 2.0 profile.

    +1 javadoc.  The javadoc tool did not generate any warning messages.

    +1 javac.  The applied patch does not increase the total number of javac compiler warnings.

    -1 findbugs.  The patch appears to introduce 3 new Findbugs (version 1.3.9) warnings.

    +1 release audit.  The applied patch does not increase the total number of release audit warnings.

     -1 core tests.  The patch failed these unit tests:
                       org.apache.hadoop.hbase.coprocessor.TestClassLoading

Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/2101//testReport/
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2101//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2101//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/2101//console

This message is automatically generated.
                
> Data loss if the words 'merges' or 'splits' are used as Column Family name
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6158
>                 URL: https://issues.apache.org/jira/browse/HBASE-6158
>             Project: HBase
>          Issue Type: Bug
>          Components: master, regionserver
>    Affects Versions: 0.94.0
>            Reporter: Aditya Kishore
>            Assignee: Aditya Kishore
>             Fix For: 0.92.2, 0.94.1
>
>         Attachments: HBASE-6158_94.patch, HBASE-6158_trunk.patch
>
>
> If a table is creates with either 'merges' or 'splits' as one of the Column Family name it can never be flushed to the disk even though the table creation (and data population) succeeds.
> The reason for this is that these two are used as temporary directory names inside the region folder or merge and splits respectively and hence conflicts with the directories created for CF with same name.
> A simple fix would be to uses ".merges' and ".splits" as the working folder (patch attached). This will also be consistent with other work folder names. An alternate fix would be to declare these words (and other similar) as reserve words and throw exception when they are used. However, I do find the alternate approach as unnecessarily restrictive.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-6158) Data loss if the words 'merges' or 'splits' are used as Column Family name

Posted by "Aditya Kishore (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13288843#comment-13288843 ] 

Aditya Kishore commented on HBASE-6158:
---------------------------------------

The warnings from QA are unrelated to the changes made for this bug.
                
> Data loss if the words 'merges' or 'splits' are used as Column Family name
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6158
>                 URL: https://issues.apache.org/jira/browse/HBASE-6158
>             Project: HBase
>          Issue Type: Bug
>          Components: master, regionserver
>    Affects Versions: 0.94.0
>            Reporter: Aditya Kishore
>            Assignee: Aditya Kishore
>             Fix For: 0.92.2, 0.94.1
>
>         Attachments: HBASE-6158_94.patch, HBASE-6158_trunk.patch
>
>
> If a table is creates with either 'merges' or 'splits' as one of the Column Family name it can never be flushed to the disk even though the table creation (and data population) succeeds.
> The reason for this is that these two are used as temporary directory names inside the region folder or merge and splits respectively and hence conflicts with the directories created for CF with same name.
> A simple fix would be to uses ".merges' and ".splits" as the working folder (patch attached). This will also be consistent with other work folder names. An alternate fix would be to declare these words (and other similar) as reserve words and throw exception when they are used. However, I do find the alternate approach as unnecessarily restrictive.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-6158) Data loss if the words 'merges' or 'splits' are used as Column Family name

Posted by "Aditya Kishore (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13288890#comment-13288890 ] 

Aditya Kishore commented on HBASE-6158:
---------------------------------------

> Is this change incompatible for rolling upgrade?

I don't think so. These are temporary work folders which get cleaned up routinely and particularly at Region Server (re)start for each region through HRegion.initialize().

However, a possible side effect could be that "merges" and "splits" folders created by pre-upgrade code (which somehow did not get cleaned up during a shutdown) may continue to exist on the file system as the cleanup code would no longer be looking for them. But this is better fixed in the upgrade scripts by deleting these folders if they are found to be a work folder instead of a CF container folder.
                
> Data loss if the words 'merges' or 'splits' are used as Column Family name
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6158
>                 URL: https://issues.apache.org/jira/browse/HBASE-6158
>             Project: HBase
>          Issue Type: Bug
>          Components: master, regionserver
>    Affects Versions: 0.94.0
>            Reporter: Aditya Kishore
>            Assignee: Aditya Kishore
>             Fix For: 0.92.2, 0.94.1
>
>         Attachments: HBASE-6158_94.patch, HBASE-6158_trunk.patch
>
>
> If a table is creates with either 'merges' or 'splits' as one of the Column Family name it can never be flushed to the disk even though the table creation (and data population) succeeds.
> The reason for this is that these two are used as temporary directory names inside the region folder or merge and splits respectively and hence conflicts with the directories created for CF with same name.
> A simple fix would be to uses ".merges' and ".splits" as the working folder (patch attached). This will also be consistent with other work folder names. An alternate fix would be to declare these words (and other similar) as reserve words and throw exception when they are used. However, I do find the alternate approach as unnecessarily restrictive.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-6158) Data loss if the words 'merges' or 'splits' are used as Column Family name

Posted by "Aditya Kishore (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-6158?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aditya Kishore updated HBASE-6158:
----------------------------------

    Attachment: HBASE-6158_trunk.patch
                HBASE-6158_94.patch

Sure, we could. Here are patches for both 0.94 and trunk.

Please remove the first patch "HBASE-6158.patch".
                
> Data loss if the words 'merges' or 'splits' are used as Column Family name
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6158
>                 URL: https://issues.apache.org/jira/browse/HBASE-6158
>             Project: HBase
>          Issue Type: Bug
>          Components: master, regionserver
>    Affects Versions: 0.94.0
>            Reporter: Aditya Kishore
>            Assignee: Aditya Kishore
>             Fix For: 0.96.0, 0.94.1
>
>         Attachments: HBASE-6158_94.patch, HBASE-6158_trunk.patch
>
>
> If a table is creates with either 'merges' or 'splits' as one of the Column Family name it can never be flushed to the disk even though the table creation (and data population) succeeds.
> The reason for this is that these two are used as temporary directory names inside the region folder or merge and splits respectively and hence conflicts with the directories created for CF with same name.
> A simple fix would be to uses ".merges' and ".splits" as the working folder (patch attached). This will also be consistent with other work folder names. An alternate fix would be to declare these words (and other similar) as reserve words and throw exception when they are used. However, I do find the alternate approach as unnecessarily restrictive.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-6158) Data loss if the words 'merges' or 'splits' are used as Column Family name

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13288995#comment-13288995 ] 

Hudson commented on HBASE-6158:
-------------------------------

Integrated in HBase-0.92 #446 (See [https://builds.apache.org/job/HBase-0.92/446/])
    HBASE-6158 Data loss if the words 'merges' or 'splits' are used as Column Family name (Revision 1346097)

     Result = FAILURE
stack : 
Files : 
* /hbase/branches/0.92/CHANGES.txt
* /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
* /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java

                
> Data loss if the words 'merges' or 'splits' are used as Column Family name
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6158
>                 URL: https://issues.apache.org/jira/browse/HBASE-6158
>             Project: HBase
>          Issue Type: Bug
>          Components: master, regionserver
>    Affects Versions: 0.94.0
>            Reporter: Aditya Kishore
>            Assignee: Aditya Kishore
>             Fix For: 0.92.2, 0.94.1
>
>         Attachments: HBASE-6158_94.patch, HBASE-6158_trunk.patch
>
>
> If a table is creates with either 'merges' or 'splits' as one of the Column Family name it can never be flushed to the disk even though the table creation (and data population) succeeds.
> The reason for this is that these two are used as temporary directory names inside the region folder or merge and splits respectively and hence conflicts with the directories created for CF with same name.
> A simple fix would be to uses ".merges' and ".splits" as the working folder (patch attached). This will also be consistent with other work folder names. An alternate fix would be to declare these words (and other similar) as reserve words and throw exception when they are used. However, I do find the alternate approach as unnecessarily restrictive.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-6158) Data loss if the words 'merges' or 'splits' are used as Column Family name

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13289011#comment-13289011 ] 

Hudson commented on HBASE-6158:
-------------------------------

Integrated in HBase-TRUNK-on-Hadoop-2.0.0 #40 (See [https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-2.0.0/40/])
    HBASE-6158 Data loss if the words 'merges' or 'splits' are used as Column Family name (Revision 1346095)

     Result = FAILURE
stack : 
Files : 
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java

                
> Data loss if the words 'merges' or 'splits' are used as Column Family name
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6158
>                 URL: https://issues.apache.org/jira/browse/HBASE-6158
>             Project: HBase
>          Issue Type: Bug
>          Components: master, regionserver
>    Affects Versions: 0.94.0
>            Reporter: Aditya Kishore
>            Assignee: Aditya Kishore
>             Fix For: 0.92.2, 0.94.1
>
>         Attachments: HBASE-6158_94.patch, HBASE-6158_trunk.patch
>
>
> If a table is creates with either 'merges' or 'splits' as one of the Column Family name it can never be flushed to the disk even though the table creation (and data population) succeeds.
> The reason for this is that these two are used as temporary directory names inside the region folder or merge and splits respectively and hence conflicts with the directories created for CF with same name.
> A simple fix would be to uses ".merges' and ".splits" as the working folder (patch attached). This will also be consistent with other work folder names. An alternate fix would be to declare these words (and other similar) as reserve words and throw exception when they are used. However, I do find the alternate approach as unnecessarily restrictive.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-6158) Data loss if the words 'merges' or 'splits' are used as Column Family name

Posted by "David S. Wang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13399949#comment-13399949 ] 

David S. Wang commented on HBASE-6158:
--------------------------------------

This change does make upgrade scripts more complex as noted earlier in this JIRA.  Having to change the scripts to detect this condition is potentially problematic: if "splits" or "merges" was an actual user table before the upgrade, what does the script do in that case?

Also, is "merges"/MERGEDIR actually created anywhere?  I don't see any such call in the code in trunk or in earlier releases.
                
> Data loss if the words 'merges' or 'splits' are used as Column Family name
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6158
>                 URL: https://issues.apache.org/jira/browse/HBASE-6158
>             Project: HBase
>          Issue Type: Bug
>          Components: master, regionserver
>    Affects Versions: 0.94.0
>            Reporter: Aditya Kishore
>            Assignee: Aditya Kishore
>             Fix For: 0.92.2, 0.94.1
>
>         Attachments: HBASE-6158_94.patch, HBASE-6158_trunk.patch
>
>
> If a table is creates with either 'merges' or 'splits' as one of the Column Family name it can never be flushed to the disk even though the table creation (and data population) succeeds.
> The reason for this is that these two are used as temporary directory names inside the region folder or merge and splits respectively and hence conflicts with the directories created for CF with same name.
> A simple fix would be to uses ".merges' and ".splits" as the working folder (patch attached). This will also be consistent with other work folder names. An alternate fix would be to declare these words (and other similar) as reserve words and throw exception when they are used. However, I do find the alternate approach as unnecessarily restrictive.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-6158) Data loss if the words 'merges' or 'splits' are used as Column Family name

Posted by "Zhihong Ted Yu (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13288769#comment-13288769 ] 

Zhihong Ted Yu commented on HBASE-6158:
---------------------------------------

Can you generate patch for trunk ?
{code}
-  static final String MERGEDIR = "merges";
+  static final String MERGEDIR = ".merges";
{code}
The above constant is only used in HRegion. We can make it private, right ?
                
> Data loss if the words 'merges' or 'splits' are used as Column Family name
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6158
>                 URL: https://issues.apache.org/jira/browse/HBASE-6158
>             Project: HBase
>          Issue Type: Bug
>          Components: master, regionserver
>    Affects Versions: 0.94.0
>            Reporter: Aditya Kishore
>            Assignee: Aditya Kishore
>             Fix For: 0.96.0, 0.94.1
>
>         Attachments: HBASE-6158.patch
>
>
> If a table is creates with either 'merges' or 'splits' as one of the Column Family name it can never be flushed to the disk even though the table creation (and data population) succeeds.
> The reason for this is that these two are used as temporary directory names inside the region folder or merge and splits respectively and hence conflicts with the directories created for CF with same name.
> A simple fix would be to uses ".merges' and ".splits" as the working folder (patch attached). This will also be consistent with other work folder names. An alternate fix would be to declare these words (and other similar) as reserve words and throw exception when they are used. However, I do find the alternate approach as unnecessarily restrictive.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Assigned] (HBASE-6158) Data loss if the words 'merges' or 'splits' are used as Column Family name

Posted by "Zhihong Ted Yu (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-6158?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Zhihong Ted Yu reassigned HBASE-6158:
-------------------------------------

    Assignee: Aditya Kishore
    
> Data loss if the words 'merges' or 'splits' are used as Column Family name
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6158
>                 URL: https://issues.apache.org/jira/browse/HBASE-6158
>             Project: HBase
>          Issue Type: Bug
>          Components: master, regionserver
>    Affects Versions: 0.94.0
>            Reporter: Aditya Kishore
>            Assignee: Aditya Kishore
>         Attachments: HBASE-6158.patch
>
>
> If a table is creates with either 'merges' or 'splits' as one of the Column Family name it can never be flushed to the disk even though the table creation (and data population) succeeds.
> The reason for this is that these two are used as temporary directory names inside the region folder or merge and splits respectively and hence conflicts with the directories created for CF with same name.
> A simple fix would be to uses ".merges' and ".splits" as the working folder (patch attached). This will also be consistent with other work folder names. An alternate fix would be to declare these words (and other similar) as reserve words and throw exception when they are used. However, I do find the alternate approach as unnecessarily restrictive.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-6158) Data loss if the words 'merges' or 'splits' are used as Column Family name

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13288853#comment-13288853 ] 

Hudson commented on HBASE-6158:
-------------------------------

Integrated in HBase-TRUNK #2986 (See [https://builds.apache.org/job/HBase-TRUNK/2986/])
    HBASE-6158 Data loss if the words 'merges' or 'splits' are used as Column Family name (Revision 1346095)

     Result = FAILURE
stack : 
Files : 
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java

                
> Data loss if the words 'merges' or 'splits' are used as Column Family name
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6158
>                 URL: https://issues.apache.org/jira/browse/HBASE-6158
>             Project: HBase
>          Issue Type: Bug
>          Components: master, regionserver
>    Affects Versions: 0.94.0
>            Reporter: Aditya Kishore
>            Assignee: Aditya Kishore
>             Fix For: 0.92.2, 0.94.1
>
>         Attachments: HBASE-6158_94.patch, HBASE-6158_trunk.patch
>
>
> If a table is creates with either 'merges' or 'splits' as one of the Column Family name it can never be flushed to the disk even though the table creation (and data population) succeeds.
> The reason for this is that these two are used as temporary directory names inside the region folder or merge and splits respectively and hence conflicts with the directories created for CF with same name.
> A simple fix would be to uses ".merges' and ".splits" as the working folder (patch attached). This will also be consistent with other work folder names. An alternate fix would be to declare these words (and other similar) as reserve words and throw exception when they are used. However, I do find the alternate approach as unnecessarily restrictive.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira