You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Fangyuan Deng (JIRA)" <ji...@apache.org> on 2017/06/27 13:05:00 UTC

[jira] [Updated] (HBASE-18273) hbase_rotate_log in hbase script not working for some JDK

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

Fangyuan Deng updated HBASE-18273:
----------------------------------
    Attachment: HBASE-18273.0.patch

> hbase_rotate_log in hbase script not working for some JDK
> ---------------------------------------------------------
>
>                 Key: HBASE-18273
>                 URL: https://issues.apache.org/jira/browse/HBASE-18273
>             Project: HBase
>          Issue Type: Bug
>          Components: hbase
>    Affects Versions: 1.2.6, 1.1.11, 2.0.0-alpha-1
>            Reporter: Fangyuan Deng
>            Priority: Minor
>         Attachments: HBASE-18273.0.patch
>
>
> When restarting a hbase process,  hbase_rotate_log $HBASE_LOGGC will rotate GC logs.
> the code looks like this,
>  if [ -f "$log" ]; then # rotate logs
>     while [ $num -gt 1 ]; do
>         prev=`expr $num - 1`
>         [ -f "$log.$prev" ] && mv -f "$log.$prev" "$log.$num"
>         num=$prev
>     done
> But, some version JDK will add a postfix .0 to the gc file, like hbase-xxx.gc.0,  rather than hbase-xxx.gc.
> So I add a check before rotate,
>  if [ ! -f "$log" ]; then #for some jdk, gc log has a postfix 0
>       if [ -f "$log.0" ]; then
>         mv -f "$log.0" "$log";
>       fi
>     fi



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)