hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Enis Söztutar <enis....@gmail.com>
Subject Re: How to replace MetaUtils.ScannerListener?
Date Thu, 21 Mar 2013 22:09:23 GMT
What is the use case behind offline merge? Is it because we cannot do
online merge yet? If we can get HBASE-7403 in, is there still need to
support offline merge?

Enis


On Thu, Mar 21, 2013 at 2:56 PM, Jean-Daniel Cryans <jdcryans@apache.org>wrote:

> As far as I can tell, only the merge code uses MetaUtils to do offline
> work. If this is the code you are in then pull it back into MetaUtils
> I think.
>
> J-D
>
> On Thu, Mar 21, 2013 at 2:44 PM, Jean-Marc Spaggiari
> <jean-marc@spaggiari.org> wrote:
> > Vector is because of a very old bad habit ;) I will change that to
> ArrayList.
> >
> > So far I have inlined the scanMetaRegion feature into the Merge, but
> > maybe it should be cleaner to put it back in?
> >
> > Anyway, I will keep the inlined one until everything is cleaned.
> >
> > 2013/3/21 Enis Söztutar <enis.soz@gmail.com>:
> >> The problem around current META scanning is that there is more than one
> way
> >> to do these, and the META layout is exposed. We should refrain from
> >> exposing the META details.
> >> AFAIK, these do the same thing:
> >>  MetaReader.Visitor
> >>  MetaScanner.MetaScannerVisitor, and
> >>  MetaUtils.ScannerListener
> >>
> >> More concerning is that the code for managing META is spread over
> >> MetaEditor, MetaReader, MetaScanner, MetaUtils, HRegionInfo (and maybe
> >> more). There are a couple of issues to rework these interfaces, but I
> did
> >> not get the chance to work on those.
> >>
> >>
> >> Enis
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >> On Thu, Mar 21, 2013 at 2:18 PM, Jean-Daniel Cryans <
> jdcryans@apache.org>wrote:
> >>
> >>> Mmmm I may have been trigger happy. You could pull back the
> >>> ScannerListener and scanMetaRegion.
> >>>
> >>> BTW, why are you using a Vector instead of ArrayList?
> >>>
> >>> J-D
> >>>
> >>> On Thu, Mar 21, 2013 at 2:05 PM, Jean-Marc Spaggiari
> >>> <jean-marc@spaggiari.org> wrote:
> >>> > Hi,
> >>> >
> >>> > In trunk, since HBASE-3171 (Drop ROOT and instead store META
> >>> > location(s) directly in ZooKeeper ) there is no more
> >>> > MetaUtils.ScannerListener.
> >>> >
> >>> > In the merge, I used it to retreive all the regions belonging to a
> >>> > specific table, from the META. kind of scan.
> >>> >
> >>> >           // Retrieve the list of regions for this table.
> >>> >           final List<HRegionInfo> regions = new
> Vector<HRegionInfo>();
> >>> >           utils.scanMetaRegion(HRegionInfo.FIRST_META_REGIONINFO, new
> >>> > MetaUtils.ScannerListener() {
> >>> >             public boolean processRow(HRegionInfo info) {
> >>> >               if ((info != null) &&
> >>> > (Bytes.compareTo(info.getTableName(), tableName) == 0)) {
> >>> >                 regions.add(info);
> >>> >               }
> >>> >               return true;
> >>> >             }
> >>> >           });
> >>> >
> >>> >
> >>> > Is there a recommanded way to replace that? The Merge is running
> >>> > offline, so I can't do a scan.
> >>> >
> >>> > Thanks,
> >>> >
> >>> > JM
> >>>
>

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