https://issues.apache.org/jira/browse/HBASE-2391 has been filed.
We call HBaseAdmin.isMasterRunning() to see if client has connection with HBase. If there is a working alternative, we'd love to use it. Thanks J-D. On Mon, Mar 29, 2010 at 2:25 PM, Jean-Daniel Cryans <jdcry...@apache.org>wrote: > I think this method wasn't updated when we moved to Zookeeper (since > in pre-0.20, dead master = dead cluster), also looking at when this is > called, I only see it from HMerge and HBaseAdmin.isMasterRunning()... > which in turn isn't called anywhere in the java code (I think we call > it in the shell tho). > > So we should first consider if this method is useful at all, and if so > then what would be the best fix. For example, if you run a HMerge > while the master is down but the region servers are up, you're going > to end up with something wrong since it expects hbase to be completely > down. > > Can you open a jira to continue discussions there? > > Thx! > > J-D > > On Mon, Mar 29, 2010 at 2:01 PM, Ted Yu <yuzhih...@gmail.com> wrote: > > Hi, > > While going over TableServers.isMasterRunning() in HConnectionManager, I > see > > this: > > public boolean isMasterRunning() { > > if (this.master == null) { > > try { > > getMaster(); > > > > } catch (MasterNotRunningException e) { > > return false; > > } > > } > > return true; > > } > > When isMasterRunning() is called the first time, if master is obtained > > successfully, master field would contain reference to HMasterInterface. > > Subsequent calls to isMasterRunning() wouldn't throw > > MasterNotRunningException even if master server stops responding to > clients. > > > > I think master.isMasterRunning() should be called if master isn't null. > > > > Regards > > >