[
https://issues.apache.org/jira/browse/HBASE-4209?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13087966#comment-13087966
]
Roman Shaposhnik commented on HBASE-4209:
-----------------------------------------
stack, thanks for the clarifications -- much appreciated! Now, as I said, I
only see addShutdownHook call in regionserver code:
{noformat}
$ git grep addShutdownHook
src/main/java/org/apache/hadoop/hbase/regionserver/ShutdownHook.java:
Runtime.getRuntime().addShutdownHook(t);
{noformat}
and then
{noformat}
/**
* @param hrs
* @param name
* @return Thread the RegionServer is running in correctly named.
* @throws IOException
*/
public static Thread startRegionServer(final HRegionServer hrs,
final String name) throws IOException {
Thread t = new Thread(hrs);
t.setName(name);
t.start();
// Install shutdown hook that will catch signals and run an orderly shutdown
// of the hrs.
ShutdownHook.install(hrs.getConfiguration(), FileSystem.get(hrs
.getConfiguration()), hrs, t);
return t;
}
{noformat}
Now, the behavior that I observe is that when HBase is running in a distributed
fashion, flushing of the newly created tables happen when regionserve receives
a SIGTERM. When it is running in a standalone configuration tables don't get
flushed UNLESS I explicitly call stop-hbase.sh before sending a SIGTERM.
Once would assume that the same code would be called in both cases since it is
registering that hook unconditionally. What am I missing here?
> The HBase hbase-daemon.sh SIGKILLs master when stopping it
> ----------------------------------------------------------
>
> Key: HBASE-4209
> URL: https://issues.apache.org/jira/browse/HBASE-4209
> Project: HBase
> Issue Type: Bug
> Components: master
> Reporter: Roman Shaposhnik
>
> There's a bit of code in hbase-daemon.sh that makes HBase master being
> SIGKILLed when stopping it rather than trying SIGTERM (like it does for other
> daemons). When HBase is executed in a standalone mode (and the only daemon
> you need to run is master) that causes newly created tables to go missing as
> unflushed data is thrown out. If there was not a good reason to kill master
> with SIGKILL perhaps we can take that special case out and rely on SIGTERM.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira