So, you are going to have a thrift2 package for the new stuff. I don't know of any other way of deprecating the old thrift api while introducing the new. Any ideas on how once we remove the original thrift, of how we'd move thrift2 to thrift package?
That was the easiest option for now but if you have any other ideas? I could throw all that stuff in the old package as well - I don't think there are any name-clashes. The only idea I have for moving the stuff afterwards:
0.92: Deprecate thrift, introduce thrift2
0.94: Remove old thrift, deprecate thrift2, copy thrift2 to thrift
0.96: Remove thrift2
As I said: I can easily throw it all in the current thrift package I guess.
Why would I need an HBaseAdminPool? Why not just create one each time? Why have one at all? Just let thriftians use shell if they want admin functionality?
That class is a remnant from an earlier patch I never finished. Not used at the moment. I think an optional Thrift-Admin interface would be nice but I'll concentrate on the regular client stuff for now.
IRC, this does not make a new array each time - it just returns the ByteBuffer backing array:
Yes that's the intention. I know it ain't the most proper way but it should work. Otherwise I'd need to do something like
ByteBuffer bb = <...>
byte arr = new byte[bb.remaining()];
or use a CharsetDecoder or CharBuffer or something like that. I'm really not sure how to best handle ByteBuffers. So any hint would be great.
There are missing licenses on new files and missing copyright header.
Thanks will fix that!
I'd imagine this has to be public for some reason else you'd make it private?
No that was just an oversight as far as I can see. Thanks, will look at it.
The rest you mentioned is not finished yet - it's just a literal copy & paste from the old code (that's why the tests are commented out). I didn't change a thing yet. But it's on my list.
I just thought it was about time I finally showed some results
And sure this can go into 0.92 - it has very little dependencies on the rest of the code so I'll keep the patch updated if needed.