hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ted Yu <yuzhih...@gmail.com>
Subject Re: How to delete an "non-existent" table?
Date Tue, 27 Jul 2010 23:37:52 GMT
I looked at HMaster.createTable() in 0.20.5 but didn't see info.isOffline()
being called. Meaning HMaster doesn't check whether region is online or
offline.

I noticed the following difference in which HMaster.createTable() and
HConnectionManager$TableServers.tableExists(byte[]) determine whether a
table exists:
HMaster.createTable() uses openScanner() to get regioninfo column from
MetaRegion and compares table name.
HConnectionManager$TableServers.tableExists() uses MetaScannerVisitor to
perform MetaScanner.metaScan() and searches for region whose startKey is
zero length

Since list command didn't show table_c, my guess is that no startKey is zero
length for regions of table_c

On Tue, Jul 27, 2010 at 4:08 PM, Jean-Daniel Cryans <jdcryans@apache.org>wrote:

> You would see OFFLINE => TRUE in the region attributes.
>
> J-D
>
> On Tue, Jul 27, 2010 at 4:04 PM, Ted Yu <yuzhihong@gmail.com> wrote:
> > J-D:
> > Can you tell me how to check whether a region is on/offline in HBase
> shell ?
> >  MetaTable-0,,1280224961277  column=info:regioninfo,
> > timestamp=1280224961359, value=REGION => {NAME => 'MetaTa
> >                             ble-0,,1280224961277', STARTKEY => '', ENDKEY
> > => '', ENCODED => 1730461654, TABLE
> >                              => {{NAME => 'MetaTable-0', FAMILIES =>
> [{NAME
> > => 'm', COMPRESSION => 'GZ', VERS
> >                             IONS => '1', TTL => '2147483647', BLOCKSIZE
> =>
> > '65536', IN_MEMORY => 'false', BLO
> >                             CKCACHE => 'true'}]}}
> >  MetaTable-0,,1280224961277  column=info:server, timestamp=1280252831805,
> > value=10.201.8.247:60020
> >  MetaTable-0,,1280224961277  column=info:serverstartcode,
> > timestamp=1280252831805, value=1280250793085
> >
> > Thanks
> >
> > On Tue, Jul 27, 2010 at 3:51 PM, Jean-Daniel Cryans <jdcryans@apache.org
> >wrote:
> >
> >> Check in the .META. table, there must be some OFFLINE regions. Delete
> >> those rows like you would delete rows from any table.
> >>
> >> If the data is still on HDFS, you could also run bin/add_table.rb
> >>
> >> J-D
> >>
> >> On Tue, Jul 27, 2010 at 3:49 PM, Steve Kuo <kuosenhao@gmail.com> wrote:
> >> > My HBase cluster was in a bad state with all regionservers terminated.
> >> > After waiting for bin/stop-hbase.sh to shutdown for a long time, I
> hard
> >> > killed HMaster.  When I restarted hbase, I found table_c did not show
> up
> >> > under 'list' but I could not re-create it.
> >> >
> >> > What is the best way to rectify this situation?  It's ok to wipe out
> all
> >> > tables and start over if necessary.
> >> >
> >> > Thanks in advance.
> >> >
> >> > HBase Shell; enter 'help<RETURN>' for list of supported commands.
> >> > Version: 0.20.5, r956266, Sat Jun 19 12:25:12 PDT 2010
> >> > hbase(main):001:0> list
> >> > table_a
> >> >
> >> > table_b
> >> >
> >> > 2 row(s) in 0.0840 seconds
> >> > hbase(main):002:0> create 'table_c', {NAME => 'data', COMPRESSION
=>
> >> 'lzo',
> >> > VERSIONS => 1}
> >> > NativeException: org.apache.hadoop.hbase.TableExistsException:
> >> > org.apache.hadoop.hbase.TableExistsException: table_c
> >> >    at
> >> org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:798)
> >> >    at
> >> org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:762)
> >> >    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >> >    at
> >> >
> >>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> >> >    at
> >> >
> >>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >> >    at java.lang.reflect.Method.invoke(Method.java:597)
> >> >    at
> org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:657)
> >> >    at
> >> >
> org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:915)
> >> >
> >> >
> >> > hbase(main):003:0> exists 'table_c'
> >> > false
> >> >
> >> > 1 row(s) in 0.0420 seconds
> >> >
> >>
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message