[
https://issues.apache.org/jira/browse/HBASE-1373?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Lars Francke updated HBASE-1373:
--------------------------------
Attachment: javadoc.patch
HBase-65+1373.patch
HBASE-65 wasn't actually fixed with HBASE-1360, that must have been a
misunderstanding. I'll do both here and I've got a patch ready that implements
parts of both tickets.
This patch adds various command line switches. It also solves HBASE-65 but it
wasn't sensible to split those in two different patches.
* Option to use a framed transport
* Option to use the compact protocol
* Option to bind to a specific IP address
One change in behavior but I don't think anyone is affected by it and I'd call
it a bugfix (although it makes the command line parsing ugly).
bin/hbase should print usage information when invoked without an argument. The
current Thrift server starts when no argument is provided: {{bin/hbase
thrift}}. With this change the Thrift server prints usage information when
called this way and only starts when the {{start}} argument is provided.
Apart from this everything should stay the same as before as the defaults
stayed the same.
I've also added documentation for this but as english is my second language I'd
appreciate a review.
For the links in the documentation to actually work we need to generate Javadoc
for the generated Thrift classes but those classes are currently excluded in
the build.xml. I've added another patch that deals with this and another
outdated exclusion (onelab was completely removed in September). I decided not
to open another issue as it seems we might move to Maven anytime now but I can
if you want.
This also lacks the option for a nonblocking server. This is because the
Nonblocking Servers require a TNonblockingServerSocket which doesn't support an
InetSocketAddress. So the IP address binding only works for the normal
TThreadPoolServer. I'll have a look at this and will open a ticket for Thrift.
tl;dr: The patch fixes HBASE-65 + HBASE-1373 _except_ that it only supports the
old ThreadpoolServer and not the Nonblocking servers. This is for review only.
I'll try to fix the rest.
> Update Thrift to use compact/framed protocol
> --------------------------------------------
>
> Key: HBASE-1373
> URL: https://issues.apache.org/jira/browse/HBASE-1373
> Project: Hadoop HBase
> Issue Type: Improvement
> Components: thrift
> Reporter: Andrew Purtell
> Assignee: Lars Francke
> Priority: Minor
> Fix For: 0.21.0
>
> Attachments: HBase-65+1373.patch, javadoc.patch
>
>
> TCompactProtocol/TFramedTransport and nonblocking server option promises
> better efficiency and performance improvements. Consider moving HBase Thrift
> bits to this when full platform support is ready for TCompactProtocol.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.