You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by Ryan Rawson <ry...@gmail.com> on 2010/01/17 23:05:52 UTC

Re: Update of the Thrift library: New dependencies | regeneration of old API?

One thing to watch out for is the framed transport is not supported by
all thrift implementations. As an example, php. So we want to not do
anything that would restrict thrift access to Java only.

On Sun, Jan 17, 2010 at 2:01 PM, Lars Francke <la...@gmail.com> wrote:
> I've been working on the Thrift API for a few weeks now. As a first
> step I've been working on HBASE-1360 to update the current Thrift
> version from the current SVN snapshot to the recently released 0.2.0
> version. Due to Kay Kay and stacks help this has been resolved now and
> is ready to be submitted to trunk.
>
> As a heads up: This introduces three new .jar dependencies.
> commons-lang, slf4j-api and slf4j-simple.
>
> The update to the new Thrift version is in preparation for HBASE-1744
> but if there are no objections I can regenerate the old Thrift API
> with this new Thrift compiler to introduce security and feature
> updates. I've run only limited tests on the old version with the new
> generated code but there seem to be no problems at all. One new
> "feature" would be that the structs now implement a proper hashcode
> function instead of always returning 0.
>
> If there is interest I can also backport other things from the new
> Thrift server. Namely HBASE-65 ("Thrift Server should have an option
> to bind to ip address") and the optional use of the framed transport
> and/or the binary protocol.
>
> Cheers,
> Lars
>

Re: Update of the Thrift library: New dependencies | regeneration of old API?

Posted by Ryan Rawson <ry...@gmail.com>.
Great, thanks for that.

Previously, it seemed that 'framed compact' protocol was totally a
win, but like I said, it breaks php connectivity.

-ryan

On Sun, Jan 17, 2010 at 2:12 PM, Lars Francke <la...@gmail.com> wrote:
> On Sun, Jan 17, 2010 at 23:05, Ryan Rawson <ry...@gmail.com> wrote:
>> One thing to watch out for is the framed transport is not supported by
>> all thrift implementations. As an example, php. So we want to not do
>> anything that would restrict thrift access to Java only.
>
> That's true. I've implemented this as command line options. The _new_
> Thrift server now understands the following command line options:
> - framed
> - compact
> - bind <ip address>
> - port <port>
>
> So everyone can customize as to the requirements they have. By default
> the binary protocol is used on an unframed transport (same behavior as
> the current ThriftServer).
>
>> and the optional use of the framed transport and/or the binary protocol
>
> That was meant to say "and/or the compact protocol".
>
> Lars
>

Re: Update of the Thrift library: New dependencies | regeneration of old API?

Posted by stack <st...@duboce.net>.
On Sun, Jan 17, 2010 at 2:12 PM, Lars Francke <la...@gmail.com>wrote:

> On Sun, Jan 17, 2010 at 23:05, Ryan Rawson <ry...@gmail.com> wrote:
> > One thing to watch out for is the framed transport is not supported by
> > all thrift implementations. As an example, php. So we want to not do
> > anything that would restrict thrift access to Java only.
>
> That's true. I've implemented this as command line options. The _new_
> Thrift server now understands the following command line options:
> - framed
> - compact
> - bind <ip address>
> - port <port>
>
> Sweet.
St.Ack



> So everyone can customize as to the requirements they have. By default
> the binary protocol is used on an unframed transport (same behavior as
> the current ThriftServer).
>
> > and the optional use of the framed transport and/or the binary protocol
>
> That was meant to say "and/or the compact protocol".
>
> Lars
>

Re: Update of the Thrift library: New dependencies | regeneration of old API?

Posted by Lars Francke <la...@gmail.com>.
On Sun, Jan 17, 2010 at 23:05, Ryan Rawson <ry...@gmail.com> wrote:
> One thing to watch out for is the framed transport is not supported by
> all thrift implementations. As an example, php. So we want to not do
> anything that would restrict thrift access to Java only.

That's true. I've implemented this as command line options. The _new_
Thrift server now understands the following command line options:
- framed
- compact
- bind <ip address>
- port <port>

So everyone can customize as to the requirements they have. By default
the binary protocol is used on an unframed transport (same behavior as
the current ThriftServer).

> and the optional use of the framed transport and/or the binary protocol

That was meant to say "and/or the compact protocol".

Lars