[ https://issues.apache.org/jira/browse/HBASE-18273?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16064902#comment-16064902 ]
Dima Spivak commented on HBASE-18273: ------------------------------------- Can you do away with the outer conditional and just keep the one for the suffixed file? > 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 > Fix For: 2.0.0-beta-2 > > 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)