You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "ECFuzz (Jira)" <ji...@apache.org> on 2022/11/06 13:44:00 UTC

[jira] [Updated] (HBASE-27341) when “hbase.regionserver.logroll.period” is set to a negative number, Log cannot run normally

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

ECFuzz updated HBASE-27341:
---------------------------
    Component/s: regionserver

> when “hbase.regionserver.logroll.period” is set to a negative number, Log cannot run normally
> ---------------------------------------------------------------------------------------------
>
>                 Key: HBASE-27341
>                 URL: https://issues.apache.org/jira/browse/HBASE-27341
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>            Reporter: ECFuzz
>            Assignee: ECFuzz
>            Priority: Major
>
> In hbase- default.xml
> {code:java}
> <property>
>    <name>hbase.regionserver.logroll.period</name>
>    <value>3600000</value>
>    <description>Period at which we will roll the commit log regardless
>   of how many edits it has.</description>
>  </property>{code}
> Taking hbase.regionserver.logroll.period set to -1 in hbase-site.xml as an example, it is normal to start hbase.
> However, {*}there are a large number of repeated wal rolling operation records in the log file{*}.
> {code:java}
> 2022-08-06 15:39:37,172 INFO  [regionserver/xmw1-kb310-65:16020.logRoller] wal.AbstractFSWAL: Rolled WAL /home/xmw/hbase-2.2.2/hbase-tmp/WALs/xmw1-kb310-65,16020,1659771570212/xmw1-kb310-65%2C16020%2C1659771570212.1659771577156 with entries=0, filesize=83 B; new WAL /home/xmw/hbase-2.2.2/hbase-tmp/WALs/xmw1-kb310-65,16020,1659771570212/xmw1-kb310-65%2C16020%2C1659771570212.1659771577167
> 2022-08-06 15:39:37,172 INFO  [regionserver/xmw1-kb310-65:16020.logRoller] wal.AbstractFSWAL: Archiving file:/home/xmw/hbase-2.2.2/hbase-tmp/WALs/xmw1-kb310-65,16020,1659771570212/xmw1-kb310-65%2C16020%2C1659771570212.1659771577156 to file:/home/xmw/hbase-2.2.2/hbase-tmp/oldWALs/xmw1-kb310-65%2C16020%2C1659771570212.1659771577156
> 2022-08-06 15:39:37,177 INFO  [regionserver/xmw1-kb310-65:16020.logRoller] wal.AbstractFSWAL: Rolled WAL /home/xmw/hbase-2.2.2/hbase-tmp/WALs/xmw1-kb310-65,16020,1659771570212/xmw1-kb310-65%2C16020%2C1659771570212.meta.1659771577160.meta with entries=0, filesize=83 B; new WAL /home/xmw/hbase-2.2.2/hbase-tmp/WALs/xmw1-kb310-65,16020,1659771570212/xmw1-kb310-65%2C16020%2C1659771570212.meta.1659771577172.meta
> 2022-08-06 15:39:37,177 INFO  [regionserver/xmw1-kb310-65:16020.logRoller] wal.AbstractFSWAL: Archiving file:/home/xmw/hbase-2.2.2/hbase-tmp/WALs/xmw1-kb310-65,16020,1659771570212/xmw1-kb310-65%2C16020%2C1659771570212.meta.1659771577160.meta to file:/home/xmw/hbase-2.2.2/hbase-tmp/oldWALs/xmw1-kb310-65%2C16020%2C1659771570212.meta.1659771577160.meta
> 2022-08-06 15:39:37,182 INFO  [regionserver/xmw1-kb310-65:16020.logRoller] wal.AbstractFSWAL: Rolled WAL /home/xmw/hbase-2.2.2/hbase-tmp/WALs/xmw1-kb310-65,16020,1659771570212/xmw1-kb310-65%2C16020%2C1659771570212.1659771577167 with entries=0, filesize=83 B; new WAL /home/xmw/hbase-2.2.2/hbase-tmp/WALs/xmw1-kb310-65,16020,1659771570212/xmw1-kb310-65%2C16020%2C1659771570212.1659771577177
> 2022-08-06 15:39:37,182 INFO  [regionserver/xmw1-kb310-65:16020.logRoller] wal.AbstractFSWAL: Archiving file:/home/xmw/hbase-2.2.2/hbase-tmp/WALs/xmw1-kb310-65,16020,1659771570212/xmw1-kb310-65%2C16020%2C1659771570212.1659771577167 to file:/home/xmw/hbase-2.2.2/hbase-tmp/oldWALs/xmw1-kb310-65%2C16020%2C1659771570212.1659771577167
> 2022-08-06 15:39:37,188 INFO  [regionserver/xmw1-kb310-65:16020.logRoller] wal.AbstractFSWAL: Rolled WAL /home/xmw/hbase-2.2.2/hbase-tmp/WALs/xmw1-kb310-65,16020,1659771570212/xmw1-kb310-65%2C16020%2C1659771570212.meta.1659771577172.meta with entries=0, filesize=83 B; new WAL /home/xmw/hbase-2.2.2/hbase-tmp/WALs/xmw1-kb310-65,16020,1659771570212/xmw1-kb310-65%2C16020%2C1659771570212.meta.1659771577182.meta
> 2022-08-06 15:39:37,188 INFO  [regionserver/xmw1-kb310-65:16020.logRoller] wal.AbstractFSWAL: Archiving file:/home/xmw/hbase-2.2.2/hbase-tmp/WALs/xmw1-kb310-65,16020,1659771570212/xmw1-kb310-65%2C16020%2C1659771570212.meta.1659771577172.meta to file:/home/xmw/hbase-2.2.2/hbase-tmp/oldWALs/xmw1-kb310-65%2C16020%2C1659771570212.meta.1659771577172.meta
> 2022-08-06 15:39:37,196 INFO  [regionserver/xmw1-kb310-65:16020.logRoller] wal.AbstractFSWAL: Rolled WAL /home/xmw/hbase-2.2.2/hbase-tmp/WALs/xmw1-kb310-65,16020,1659771570212/xmw1-kb310-65%2C16020%2C1659771570212.1659771577177 with entries=0, filesize=83 B; new WAL /home/xmw/hbase-2.2.2/hbase-tmp/WALs/xmw1-kb310-65,16020,1659771570212/xmw1-kb310-65%2C16020%2C1659771570212.1659771577188
> 2022-08-06 15:39:37,197 INFO  [regionserver/xmw1-kb310-65:16020.logRoller] wal.AbstractFSWAL: Archiving file:/home/xmw/hbase-2.2.2/hbase-tmp/WALs/xmw1-kb310-65,16020,1659771570212/xmw1-kb310-65%2C16020%2C1659771570212.1659771577177 to file:/home/xmw/hbase-2.2.2/hbase-tmp/oldWALs/xmw1-kb310-65%2C16020%2C1659771570212.1659771577177
> 2022-08-06 15:39:37,201 INFO  [regionserver/xmw1-kb310-65:16020.logRoller] wal.AbstractFSWAL: Rolled WAL /home/xmw/hbase-2.2.2/hbase-tmp/WALs/xmw1-kb310-65,16020,1659771570212/xmw1-kb310-65%2C16020%2C1659771570212.meta.1659771577182.meta with entries=0, filesize=83 B; new WAL /home/xmw/hbase-2.2.2/hbase-tmp/WALs/xmw1-kb310-65,16020,1659771570212/xmw1-kb310-65%2C16020%2C1659771570212.meta.1659771577197.meta
> 2022-08-06 15:39:37,201 INFO  [regionserver/xmw1-kb310-65:16020.logRoller] wal.AbstractFSWAL: Archiving file:/home/xmw/hbase-2.2.2/hbase-tmp/WALs/xmw1-kb310-65,16020,1659771570212/xmw1-kb310-65%2C16020%2C1659771570212.meta.1659771577182.meta to file:/home/xmw/hbase-2.2.2/hbase-tmp/oldWALs/xmw1-kb310-65%2C16020%2C1659771570212.meta.1659771577182.meta{code}
> When using the service, it works fine and close normally.
> According to the above phenomenon, we believe that the phenomenon is related to the WAL rolling of regionserver. After code review, we found that in the constructor of hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/LogRoller.java. After reading the configuration item hbase.regionserver.logroll.period, {*}it is not checked whether the value is normal{*}. In the subsequent run() function, the current time is directly compared to the last rollback time with hbase.regionserver.logroll.period to determine whether to perform the WAL rollback operation, so that no matter what the current time is, The rollback operation will be performed, {*}resulting in a large number of records in the LOG{*}, *and it is very likely to occupy too many resources. And no prompt message appears to remind us of the problem.*
> Therefore, we propose to {*}add the judgment of hbase.regionserver.logroll.period on the constructor of LogRoller{*}. If the parameter LogRoller.rollPeriod affected by this configuration item is less than zero, an error message will be output and he relevant exception can be thrown. 
> This way, if the hbase.regiononserver.logroll.period is less than 0, an exception can be thrown and an error message logged, stopping the log from having a large number of duplicate wal roll operation records.
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)