accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Terry Porter (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ACCUMULO-1901) start-here.sh starts only one GC process even if more are defined
Date Wed, 04 Dec 2013 22:42:36 GMT

    [ https://issues.apache.org/jira/browse/ACCUMULO-1901?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13839429#comment-13839429
] 

Terry Porter commented on ACCUMULO-1901:
----------------------------------------

I think it's good that this was reopened -- I just found that the secondary gc doesn't get
started when start-all.sh is used. It works if a service script is used, which I use and that's
why I missed it.  The issue is on line 55 of start-all.sh; that bit needs to look more like
lines 50-53 for multiple masters.

With respect to the gc file being mandatory or optional: in bin/config.sh, the GC variable
is set to the value of the MASTER1 variable. So I think the gc file can remain optional if
the master file is mandatory.  To avoid any runtime script errors from being reported, start-here.sh
and start-all.sh should check to see if the gc file exists; if it does, process it; if not,
run the traditional command to start the GC on the server found in variables $GC.

Tonight I'll change the start-here.sh script to check for the existence of the gc file as
described above, and make similar changes to the start-all.sh entry on line 55, and see if
I missed any changes needed in any of the stop-* scripts.

> start-here.sh starts only one GC process even if more are defined
> -----------------------------------------------------------------
>
>                 Key: ACCUMULO-1901
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-1901
>             Project: Accumulo
>          Issue Type: Bug
>          Components: gc, scripts
>    Affects Versions: 1.4.2, 1.4.3, 1.4.4, 1.5.0
>         Environment: Red Hat Enterprise Linux 6.3 64-bit
>            Reporter: Terry Porter
>            Assignee: Terry Porter
>            Priority: Minor
>              Labels: gc, newbie
>             Fix For: 1.4.5, 1.5.1, 1.6.0
>
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> Even when a second host is listed in the gc file, the gc process is only ever started
on the first host listed in the gc file.  The issue lies in lines 48-55 in start-here.sh as
shown below:
> {code}
> for host in $HOSTS
> do
>     if [ ${host} = ${GC} ]
>     then
>         ${bin}/start-server.sh $GC gc "garbage collector"
>         break
>     fi
> done
> {code}
> Simple fix:
> {code}
> for host in $HOSTS
> do
>     if grep -q "^${host}\$" $ACCUMULO_HOME/conf/gc
>     then
>         ${bin}/start-server.sh ${host} gc "garbage collector"
>         break
>     fi
> done
> {code}
> This fix works in my 1.4.2 environment.  stop-here.sh already sweeps all possible processes
to kill them, so I assumed no fix was needed there, but on my last cluster shutdown I found
the stop-all.sh script only stopped the GC on the Master host. That fix is still outstanding.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message