[ 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