Here is related code from HTable ctor:

    if (connection == null || connection.isClosed()) {
      throw new IllegalArgumentException("Connection is null or closed.");
    }
It was likely that connection was closed (from your description of your
code).

If HConnectionImplementation were to check the status of connection before
calling HTable ctor, that would be helpful.
For the moment, your application should check the status of connection.

Cheers

On Mon, Jan 19, 2015 at 1:48 PM, Calvin Lei <[email protected]> wrote:

> I upgraded to 0.98.0.2.1.1.0-385-hadoop2. The exception from hbase is:
>
> java.lang.IllegalArgumentException: Connection is null or closed.
>   at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:302)
>   at
>
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getTable(HConnectionManager.java:763)
>   at
>
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getTable(HConnectionManager.java:745)
>   at
>
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getTable(HConnectionManager.java:740)
>
>
> On Mon, Jan 19, 2015 at 4:37 PM, Ted Yu <[email protected]> wrote:
>
> > Which 0.98 release did you upgrade to ?
> >
> > Can you pastebin the whole stack trace ?
> >
> > Thanks
> >
> >
> >
> > > On Jan 19, 2015, at 1:25 PM, Calvin Lei <[email protected]> wrote:
> > >
> > > Dear all,
> > >   I recently upgrade to HBase 0.0.98 and I have started seeing the
> error
> > > "Connection is null or closed" when calling HConnection.getTable().
> > >   As recommended by the documentation, I create a HConnection using
> > > HConnectionManager.createConnection(config) and at app start and close
> > the
> > > connection at app shut down. Looks like the state of the cluster has
> > > changed during the lifetime of the app and the HConnection closes out
> all
> > > connections.
> > >    Do i have to check isClosed() before I call getTable()?
> >
>

Reply via email to