+1 as well.

On Mon, Aug 5, 2013 at 2:30 PM, Enis Söztutar <enis....@gmail.com> wrote:

> +1 on making the connection API explicit.
>
> We should start dog-fooding, and actively encouraging the new usage in 0.96
> (can come after 0.96.0)
>
> Enis
>
>
> On Mon, Aug 5, 2013 at 1:21 PM, Suraj Varma <svarma...@gmail.com> wrote:
>
> > Might this be a good time to _not_ throw IOException and perhaps throw
> > something along the lines of retryable / non-retryable etc exceptions -
> > similar to the hierarchy in asynchbase?
> >
> > Since clients have to change anyways ... perhaps it is a good time to
> > introduce this change?
> > --S
> >
> >
> > On Mon, Aug 5, 2013 at 10:45 AM, Gary Helmling <ghelml...@gmail.com>
> > wrote:
> >
> > > +1
> > >
> > > Nice work on this Lars!
> > >
> > > This will make the client connection code a lot simpler and a lot
> easier
> > to
> > > reason about.
> > >
> > > While it's unfortunate that external client code will necessarily need
> to
> > > be reworked for the changes, I think the result will be much cleaner
> all
> > > around.  It will be great to get rid of the convolutions of HTablePool
> as
> > > well.  If necessary to ease the client transition, HTablePool could
> even
> > be
> > > kept, but reworked as just a simple wrapper around HConnection (no need
> > to
> > > even do reference counting, etc).
> > >
> > > Looking forward to start making use of this.
> > >
> > > --gh
> > >
> > >
> > > On Mon, Aug 5, 2013 at 10:31 AM, Andrew Purtell <apurt...@apache.org>
> > > wrote:
> > >
> > > > +1 Lars
> > > >
> > > > I think it makes sense to take your experience with using the client
> in
> > > app
> > > > servers into API improvements.
> > > >
> > > > > Love the quiz.
> > > >
> > > > +1 nice illustration
> > > >
> > > > On Mon, Aug 5, 2013 at 8:25 AM, Stack <st...@duboce.net> wrote:
> > > >
> > > > > On Sun, Aug 4, 2013 at 7:56 PM, lars hofhansl <la...@apache.org>
> > > wrote:
> > > > >
> > > > > > Let's do a little quiz:
> > > > > >
> > > > > > HTable t1 = new HTable(conf);
> > > > > > t1.close();
> > > > > >
> > > > > > // 1. Will the next line create a new HConnection behind the
> scenes
> > > > > (along
> > > > > > with re-creating all the caches)?
> > > > > > // (If so, it will be expensive, if not, when is the first
> > > HConnection
> > > > > > actually released?)
> > > > > > HTable t2 = new HTable(conf);
> > > > > >
> > > > > > // 2. how about this one?
> > > > > > HTable t2 = new HTable(new Configuration(conf));
> > > > > >
> > > > > > // 3. or now?
> > > > > > conf.setInt(HConstants.HBASE_CLIENT_PAUSE, 2000);
> > > > > > HTable t3 = new HTable(conf);
> > > > > >
> > > > > > // 4. and now?
> > > > > > conf.setInt(HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE_KEY, 1024000);
> > > > > > HTable t4 = new HTable(conf);
> > > > > >
> > > > > > // 5. how many connections are opened now?
> > > > > > t4.close();
> > > > > >
> > > > > > This stuff is convoluted and needlessly complicated. And this is
> > not
> > > > > > because the code is bad, but because the abstraction is simply
> > > > > inadequate.
> > > > > > A client wants to connect to a cluster and then do some action on
> > > that
> > > > > > cluster (via HTable as a convenience).
> > > > > > If the cluster connection is implicit it leads to all of the
> above
> > > > > > considerations.
> > > > > >
> > > > > >
> > > > > Love the quiz.
> > > > >
> > > > > +1 on your redo of our connection model (HConnection is a "cluster
> > > > > connection".  I like that you have to get one of these first...)
> > > > >
> > > > > St.Ack
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > Best regards,
> > > >
> > > >    - Andy
> > > >
> > > > Problems worthy of attack prove their worth by hitting back. - Piet
> > Hein
> > > > (via Tom White)
> > > >
> > >
> >
>

Reply via email to