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/28 03:12:00 UTC

[jira] [Assigned] (HBASE-18273) hbase_rotate_log in hbase-daemon.sh 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 reassigned HBASE-18273:
-------------------------------------

    Assignee: Fangyuan Deng

> hbase_rotate_log in hbase-daemon.sh 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
>            Assignee: Fangyuan Deng
>             Fix For: 2.0.0-beta-2
>
>         Attachments: HBASE-18273.0.patch, HBASE-18273.1.patch, HBASE-18273.2.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 suffix (.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)