You don't have to run the major compaction - the shell is doing that for
you.  You must disable the table first, like:

disable 'session_timeline'
drop 'session_timeline'

See the admin.rb file:

    def drop(table_name)
      tableExists(table_name)
      raise ArgumentError, "Table #{table_name} is enabled. Disable it
first.'" if enabled?(table_name)

      @admin.deleteTable(table_name)
      flush(org.apache.hadoop.hbase.HConstants::META_TABLE_NAME)
      major_compact(org.apache.hadoop.hbase.HConstants::META_TABLE_NAME)
    end

On Mon, Jul 23, 2012 at 1:22 PM, Mohit Anchlia <mohitanch...@gmail.com>wrote:

> Thanks! but I am still trying to understand these 2 questions:
>
> 1. How to see if this table has more than one region?
> 2. And why do I need to run major compact if I have more than one region?
>
> On Mon, Jul 23, 2012 at 1:14 PM, Mohammad Tariq <donta...@gmail.com>
> wrote:
>
> > Hi Mohit,
> >
> >       A table must be disabled first in order to get deleted.
> > Regards,
> >     Mohammad Tariq
> >
> >
> > On Tue, Jul 24, 2012 at 1:38 AM, Mohit Anchlia <mohitanch...@gmail.com>
> > wrote:
> > > I am trying to drop one of the tables but on the shell I get run
> > > major_compact. I have couple of questions:
> > >
> > > 1. How to see if this table has more than one region?
> > > 2. And why do I need to run major compact
> > >
> > >
> > > hbase(main):010:0* drop 'SESSION_TIMELINE'
> > >
> > > ERROR: Table SESSION_TIMELINE is enabled. Disable it first.'
> > >
> > > Here is some help for this command:
> > >
> > > Drop the named table. Table must first be disabled. If table has
> > >
> > > more than one region, run a major compaction on .META.:
> > >
> > > hbase> major_compact ".META."
> >
>

Reply via email to