hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeremy Carroll <phobos...@gmail.com>
Subject Re: Compaction throttling and per-region compaction automation
Date Tue, 06 Nov 2012 19:24:57 GMT
We ran into the throttleSize here at Klout in this issue (
https://issues.apache.org/jira/browse/HBASE-592). Everything was promoted
to the major compaction threads as a result. It was an error on our part
since we were bulk loading files, and not using puts / flush sizes for it's
compaction logic.

The patches are not IO rate limiting, but a way to determine how many
compaction threads are available to run (Queues), and when items are
promoted from the small (minor) queue to the large (major) queue.

I would welcome any real IO throttling on a per server basis. ;)

On Tue, Nov 6, 2012 at 11:06 AM, Otis Gospodnetic <
otis.gospodnetic@gmail.com> wrote:

> Thanks Jeremy (I see you everywhere I turn!)
>
> https://issues.apache.org/jira/browse/HBASE-5867 sounds like there is
> compaction throttling in 0.96.0, no?
>
> Lucene faces very similar problems as HBase, I think.
> * An index has multiple segments.
> * Files are added, not modified.
> * Deletions are markers/tombstones.
> * Optimization process purges deletes and rewrites segments.
>
> But there are some other options like:
> * Optimize only partially, not all the way down to just 1 segment, but down
> to N
> * Only expunge deletes, don't actually merge segments and rewrite them to
> disk
> * Pick segments with most deletes first
> * Throttle IO
>    See
>
>
> http://search-lucene.com/c/Lucene:core/src/java/org/apache/lucene/store/RateLimiter.java
>
>
> http://lucene.apache.org/core/4_0_0/core/org/apache/lucene/store/RateLimiter.html
>
>
> http://lucene.apache.org/core/4_0_0/core/org/apache/lucene/index/TieredMergePolicy.html
>     http://search-lucene.com/?q=throttle+merge&fc_project=Lucene
>
> Maybe some of the above is "borrowable" if throttling has not been
> implemented yet.
>
> Otis
> --
> Search Analytics - http://sematext.com/search-analytics/index.html
> Performance Monitoring - http://sematext.com/spm/index.html
>
>
> On Tue, Nov 6, 2012 at 1:59 PM, Jeremy Carroll <phobos182@gmail.com>
> wrote:
>
> > To date I have used the major / minor compaction threads to control how
> > many compactions are allowed to exist at one time on a per RegionServer
> > basis. Then compact a table, and have the threads control how many
> regions
> > can compact at once. With care taken if minors are upgraded to majors as
> > there is no throttling on Disk IO for majors which can be very impactful.
> >
> > Aravind created an offline compaction script which pre-dated the
> > threading implementation which you may find useful.
> >
> > https://github.com/aravind/hbase_compact
> >
> > On Tue, Nov 6, 2012 at 10:38 AM, Otis Gospodnetic <
> > otis.gospodnetic@gmail.com> wrote:
> >
> > > Hi,
> > >
> > > Major compactions are..... you know... :)
> > > So I saw there is https://issues.apache.org/jira/browse/HBASE-3743 for
> > > throttling them.
> > >
> > > We are about to try the per-region compaction, so I was wondering if
> > anyone
> > > has written a tool/script to automate that a bit?
> > >
> > > Thanks,
> > > Otis
> > > --
> > > Search Analytics - http://sematext.com/search-analytics/index.html
> > > Performance Monitoring - http://sematext.com/spm/index.html
> > >
> >
>

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