hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Purtell <apurt...@apache.org>
Subject Re: [DISCUSS] FileSystem Quotas in HBase
Date Wed, 02 Nov 2016 22:01:36 GMT
Another approach to hard limits could be pushing the quota down to the HDFS
level, because HDFS would have a very accurate assessment of quota
utilization at all times, but this would only work with HDFS and impose
limits on how HBase structures storage on the filesystem (e.g. all files
for a namespace must be under a common root). Still, implementation would
be "easy": over hard quota, all allocations would fail, the bulk of the
effort is hardening response to allocation failures.

On Wed, Nov 2, 2016 at 1:11 PM, Enis Söztutar <enis@apache.org> wrote:

> Thanks Josh for the doc and pursuing this.
>
> I was involved with some of the design choices so consider me a +1 on the
> general approach. One topic which is not covered here is that the other
> design decision that we could have pursued is a more strict control on the
> quota usage so that we would always guarantee that the namespace / table
> cannot use more than allocated disk space. This hard-limit approach would
> differ from the proposed "soft-limit" approach because the soft limit
> approach can end up overusing the disk space by a small amount (because it
> takes time to detect the quota limit is reached and enforcing of the
> limit).
>
> The hard-limit approach maybe built by doing a lease kind of mechanism
> where the master gives away disk space leases to region servers from the
> remaining limit, and the regionservers make sure that they cannot allocate
> more space than the lease dictates. By ensuring that the space is
> pre-allocated via leases, we can always make sure that strict limits are
> applied. Though, this approach would be harder to build and stabilize
> because it will need new mechanisms for distributing and managing this kind
> of leases as well as tuning the allocations to make sure that regionservers
> never block flushes or compactions due to lack of lease in time would prove
> challenging to get it right.
>
> We generally think that the "soft-limit" approach would be a good enough
> approximation and the error bounds on over-allocation would be minimal and
> negligible in production.  Thus, the proposal is to implement the soft
> approach with good documentation about how much space can be over-allocated
> in a worst-case scenario.
>
> Enis
>
> On Wed, Nov 2, 2016 at 12:15 PM, Josh Elser <elserj@apache.org> wrote:
>
> > Thanks for the reviews so far, Ted and Stack. The comments were great and
> > much appreciated.
> >
> > Interpreting consensus from lack of objection, I'm going to move ahead in
> > earnest starting to work on what was described in the doc. Expect to see
> > some work break-out happening under HBASE-16961 and patches starting to
> > land.
> >
> > I'm also happy to entertain more discussion if anyone hasn't found the
> > time to read/comment yet.
> >
> > Thanks!
> >
> > - Josh
> >
> >
> > Josh Elser wrote:
> >
> >> Sure thing, Ted.
> >>
> >> https://docs.google.com/document/d/1VtLWDkB2tpwc_zgCNPE1ulZO
> >> eecF-YA2FYSK3TSs_bw/edit?usp=sharing
> >>
> >>
> >> Let me open an umbrella issue for now. I can break up the work later.
> >>
> >> https://issues.apache.org/jira/browse/HBASE-16961
> >>
> >> Ted Yu wrote:
> >>
> >>> Josh:
> >>> Can you put the doc in google doc so that people can comment on it ?
> >>>
> >>> Is there a JIRA opened for this work ?
> >>> Please open one if there is none.
> >>>
> >>> Thanks
> >>>
> >>> On Fri, Oct 28, 2016 at 9:00 AM, Josh Elser<elserj@apache.org> wrote:
> >>>
> >>> Hi folks,
> >>>>
> >>>> I'd like to propose the introduction of FileSystem quotas to HBase.
> >>>>
> >>>> Here's a design doc[1] available which (hopefully) covers all of the
> >>>> salient points of what I think an initial version of such a feature
> >>>> would
> >>>> include.
> >>>>
> >>>> tl;dr We can define quotas on tables and namespaces. Region size is
> >>>> computed by RegionServers and sent to the Master. The Master inspects
> >>>> the
> >>>> sizes of Regions, rolling up to table and namespace sizes. Defined
> >>>> quotas
> >>>> in the quota table are evaluated given the computed sizes, and, for
> >>>> those
> >>>> tables/namespaces violating the quota, RegionServers are informed to
> >>>> take
> >>>> some action to limit any further filesystem growth by that
> >>>> table/namespace.
> >>>>
> >>>> I'd encourage you to give the document a read -- I tried to cover as
> >>>> much
> >>>> as I could without getting unnecessarily bogged down in implementation
> >>>> details.
> >>>>
> >>>> Feedback is, of course, welcomed. I'd like to start sketching out a
> >>>> breakdown of the work (all writing and no programming makes Josh a sad
> >>>> boy). I'm happy to field any/all questions. Thanks in advance.
> >>>>
> >>>> - Josh
> >>>>
> >>>> [1] http://home.apache.org/~elserj/hbase/FileSystemQuotasforApac
> >>>> heHBase.pdf
> >>>>
> >>>>
> >>>
>



-- 
Best regards,

   - Andy

Problems worthy of attack prove their worth by hitting back. - Piet Hein
(via Tom White)

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