Looks like the NPE was caused by the following method in BaseLoadBalancer
returning null:

  protected Map<ServerName, List<HRegionInfo>> assignMasterRegions(

      Collection<HRegionInfo> regions, List<ServerName> servers) {

    if (servers == null || regions == null || regions.isEmpty()) {

      return null;

Since bulkPlan is null, calling BulkAssigner seems unnecessary.



On Tue, Feb 3, 2015 at 9:01 PM, ramkrishna vasudevan <
ramkrishna.s.vasude...@gmail.com> wrote:

> It is not only about the state on the table descriptor but also the in
> memory state in the AM.  I remember some time back Rajeshbabu worked on a
> HBCK like tool which will forcefully change the state of these tables in
> such cases. I don't remember the JIRA now.I thought of restarting the
> master thinking the in memory state would change and I got this
>
> java.lang.NullPointerException
>         at
>
> org.apache.hadoop.hbase.master.handler.EnableTableHandler.handleEnableTable(EnableTableHandler.java:210)
>         at
>
> org.apache.hadoop.hbase.master.handler.EnableTableHandler.process(EnableTableHandler.java:142)
>         at
>
> org.apache.hadoop.hbase.master.AssignmentManager.recoverTableInEnablingState(AssignmentManager.java:1695)
>         at
>
> org.apache.hadoop.hbase.master.AssignmentManager.joinCluster(AssignmentManager.java:416)
>         at
>
> org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:720)
>         at
> org.apache.hadoop.hbase.master.HMaster.access$500(HMaster.java:170)
>         at org.apache.hadoop.hbase.master.HMaster$1.run(HMaster.java:1459)
>         at java.lang.Thread.run(Thread.java:745)
> 2015-02-04 16:11:45,932 FATAL [stobdtserver3:16040.activeMasterManager]
> master.HMaster: Master server abort: loaded coprocessors are:
> [org.apache.hadoop.hbase.coprocessor.MultiRowMutationEndpoint]
> 2015-02-04 16:11:45,933 FATAL [stobdtserver3:16040.activeMasterManager]
> master.HMaster: Unhandled exception. Starting shutdown.
> java.lang.NullPointerException
>         at
>
> org.apache.hadoop.hbase.master.handler.EnableTableHandler.handleEnableTable(EnableTableHandler.java:210)
>         at
>
> org.apache.hadoop.hbase.master.handler.EnableTableHandler.process(EnableTableHandler.java:142)
>         at
>
> org.apache.hadoop.hbase.master.AssignmentManager.recoverTableInEnablingState(AssignmentManager.java:1695)
>         at
>
> org.apache.hadoop.hbase.master.AssignmentManager.joinCluster(AssignmentManager.java:416)
>         at
>
> org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:720)
>         at
> org.apache.hadoop.hbase.master.HMaster.access$500(HMaster.java:170)
>         at org.apache.hadoop.hbase.master.HMaster$1.run(HMaster.java:1459)
>
>
> Regards
> Ram
>
> On Wed, Feb 4, 2015 at 10:25 AM, Ted Yu <yuzhih...@gmail.com> wrote:
>
> > What about creating an offline tool which can modify the table descriptor
> > so that table goes to designated state ?
> >
> > Cheers
> >
> > On Tue, Feb 3, 2015 at 8:51 PM, ramkrishna vasudevan <
> > ramkrishna.s.vasude...@gmail.com> wrote:
> >
> > > I tried reproducing this scenario on trunk. The same problem exists.
> > > Currently in the master the table state is noted in the Table
> descriptor
> > > and not on the ZK.  In 0.98.XX version it should be on the zk.
> > >
> > > When we tried to enable the table the region assignment failed due to
> > > ClassNotFound and already the state is in ENABLING.  But doing a
> describe
> > > table still shows it in DISABLED.
> > >
> > > Thought we could alter the correct Configuration but specifying another
> > > alter Table command we are still not able to enable the table.
> > >
> > > Moving this to dev to see if there is any workaround for this issue.
> If
> > > not we may have to solve this issue across branches until we have the
> > > Procedure V2 implemenation ready on trunk.
> > >
> > > Any suggestions?
> > >
> > > Regards
> > > Ram
> > >
> > > On Wed, Feb 4, 2015 at 4:05 AM, 叶炜晨 <yeweic...@qiyi.com> wrote:
> > >
> > > >  my version is 0.98.6-cdh5.2.0, the problem in my production
> > environment.
> > > >
> > > > So should I first delete znode? And then how to distable this
> table?my
> > > > goal is to fix the wrong table configuration to get my data.
> > > >
> > > >
> > > >  from my mobile phone.
> > > >
> > > >  在 2015-2-4 上午12:46,ramkrishna vasudevan <
> > > ramkrishna.s.vasude...@gmail.com
> > > > >写道:
> > > >
> > > > >
> > > > > I think the only way out here is to clear the zookeeper node.  But
> am
> > > > not sure on the ramifications of that.
> > > > >
> > > >
> > > > > Which version are you using?  The newer versions are 'protobuf'fed.
> > > > >
> > > >
> > > > > Are you running this in production?
> > > > >
> > > >
> > > > > Regards
> > > > > Ram
> > > > >
> > > >
> > > > > On Tue, Feb 3, 2015 at 5:00 PM,yeweichen2...@gmail.com<
> > > > yeweichen2...@gmail.com>wrote:
> > > >
> > > > >>
> > > > >> I tried HBCK, but it doesn`t help.
> > > >
> > > > I want to disable the table, so that I can use "alter" to fix the
> wrong
> > > > configuration. But now the table keep in the status that no matter I
> > use
> > > > "is_enabled" or "is_disabled", it return false.
> > > > >>
> > > > >> ________________________________
> > > > >> yeweichen2...@gmail.com
> > > > >>>
> > > > >>>
> > > > >>> From: ramkrishna vasudevan
> > > > >>> Date: 2015-02-03 19:55
> > > > >>> To: user@hbase.apache.org
> > > > >>> CC: yeweichen
> > > > >>> Subject: Re: Wrong Configuration lead to a failure when enabling
> > > table
> > > > >>> Can you try HBCK? Did it help in anyway?  Remember something was
> > done
> > > > >>> related to failure in ENABLE/DISABLE table some time back.
> > > > >>>
> > > > >>> Regards
> > > > >>> Ram
> > > > >>>
> > > > >>> On Tue, Feb 3, 2015 at 3:38 PM,yeweichen2...@gmail.com<
> > > > >>> yeweichen2...@gmail.com> wrote:
> > > > >>>
> > > > >>> > Hi, all,
> > > > >>> >
> > > > >>> > II did the following command in hbase shell:
> > > > >>> >
> > > > >>> > disable 'TestTable'
> > > > >>> > alter 'TestTable', CONFIGURATION =>
> > > > >>> > {'hbase.regionserver.region.split.policy' => 'xxxxxxxxx'}
> > > > >>> > enable 'TestTable'
> > > > >>> >
> > > > >>> > At first I want to put
> > > > >>> >
> > > "org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy"
> > > > to the
> > > > >>> > place "xxxxxxxxx", but because a spelling error, now is
> something
> > > > wrong in
> > > > >>> > this configuration. After I enable the table, it failed bacause
> > of
> > > > >>> > ClassNotFound.
> > > > >>> >
> > > > >>> > Now is the problem: the table failed to enable and stay in a
> > middle
> > > > >>> > status. The table is neither enabled nor disabled now. How can
> I
> > > > save my
> > > > >>> > table and fix the wrong configuration?
> > > > >>> >
> > > > >>> >
> > > > >>> >
> > > > >>> >
> > > > >>> >
> > > > >>> >yeweichen2...@gmail.com
> > > > >>> >
> > > > >
> > > > >
> > > >
> > >
> >
>

Reply via email to