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

xuqinya updated HBASE-23285:
----------------------------
    Description: 
[HBASE-14247|https://issues.apache.org/jira/browse/HBASE-14247] Add a new 
config hbase.separate.oldlogdir.by.regionserver, the old wal dir will be 
separated by regionservers. 
But,if there are no files, the regionserver directory will be cleared. 
CommonFSUtils.renameAndSetModifyTime(this.fs, p, newPath) will throw exception. 
So if HBASE-14247 is enabled, LogCleaner should not delete empty oldWALs/rs 
directories.

{code:java}
java.io.IOException: Unable to rename 
hdfs://127.0.0.1:59066/user/xuqinya/test-data/0836eb3c-cf89-ffdd-5ca1-54049cb50c15/WALs/169.254.31.146,59229,1573636627328/169.254.31.146%2C59229%2C1573636627328.1573636642613
 to 
hdfs://127.0.0.1:59066/user/xuqinya/test-data/0836eb3c-cf89-ffdd-5ca1-54049cb50c15/oldWALs/169.254.31.146,59229,1573636627328/169.254.31.146%2C59229%2C1573636627328.1573636642613

        at 
org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.archiveLogFile(AbstractFSWAL.java:735)
        at 
org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.cleanOldLogs(AbstractFSWAL.java:706)
        at 
org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.rollWriter(AbstractFSWAL.java:849)
        at 
org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.rollWriter(AbstractFSWAL.java:540)
{code}


  was:
[HBASE-14247|https://issues.apache.org/jira/browse/HBASE-14247] Add a new 
config hbase.separate.oldlogdir.by.regionserver, the old wal dir will be 
separated by regionservers. 
But,if there are no files, the regionserver directory will be cleared. 
CommonFSUtils.renameAndSetModifyTime(this.fs, p, newPath) will throw exception.

{code:java}
java.io.IOException: Unable to rename 
hdfs://127.0.0.1:59066/user/xuqinya/test-data/0836eb3c-cf89-ffdd-5ca1-54049cb50c15/WALs/169.254.31.146,59229,1573636627328/169.254.31.146%2C59229%2C1573636627328.1573636642613
 to 
hdfs://127.0.0.1:59066/user/xuqinya/test-data/0836eb3c-cf89-ffdd-5ca1-54049cb50c15/oldWALs/169.254.31.146,59229,1573636627328/169.254.31.146%2C59229%2C1573636627328.1573636642613

        at 
org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.archiveLogFile(AbstractFSWAL.java:735)
        at 
org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.cleanOldLogs(AbstractFSWAL.java:706)
        at 
org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.rollWriter(AbstractFSWAL.java:849)
        at 
org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.rollWriter(AbstractFSWAL.java:540)
{code}



> LogCleaner should not delete empty oldWALs/rs directories  when separate the 
> old WALs into different regionserver directories
> -----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-23285
>                 URL: https://issues.apache.org/jira/browse/HBASE-23285
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: master
>            Reporter: xuqinya
>            Assignee: xuqinya
>            Priority: Minor
>
> [HBASE-14247|https://issues.apache.org/jira/browse/HBASE-14247] Add a new 
> config hbase.separate.oldlogdir.by.regionserver, the old wal dir will be 
> separated by regionservers. 
> But,if there are no files, the regionserver directory will be cleared. 
> CommonFSUtils.renameAndSetModifyTime(this.fs, p, newPath) will throw 
> exception. So if HBASE-14247 is enabled, LogCleaner should not delete empty 
> oldWALs/rs directories.
> {code:java}
> java.io.IOException: Unable to rename 
> hdfs://127.0.0.1:59066/user/xuqinya/test-data/0836eb3c-cf89-ffdd-5ca1-54049cb50c15/WALs/169.254.31.146,59229,1573636627328/169.254.31.146%2C59229%2C1573636627328.1573636642613
>  to 
> hdfs://127.0.0.1:59066/user/xuqinya/test-data/0836eb3c-cf89-ffdd-5ca1-54049cb50c15/oldWALs/169.254.31.146,59229,1573636627328/169.254.31.146%2C59229%2C1573636627328.1573636642613
>       at 
> org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.archiveLogFile(AbstractFSWAL.java:735)
>       at 
> org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.cleanOldLogs(AbstractFSWAL.java:706)
>       at 
> org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.rollWriter(AbstractFSWAL.java:849)
>       at 
> org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.rollWriter(AbstractFSWAL.java:540)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to