[ 
https://issues.apache.org/jira/browse/HBASE-2400?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12877296#action_12877296
 ] 

HBase Review Board commented on HBASE-2400:
-------------------------------------------

Message from: "Jeff Hammerbacher" <[email protected]>


bq.  On 2010-06-09 19:24:25, Ryan Rawson wrote:
bq.  > trunk/src/main/java/org/apache/hadoop/hbase/avro/hbase.avpr, line 1
bq.  > <http://review.hbase.org/r/128/diff/3/?file=1190#file1190line1>
bq.  >
bq.  >     if this is generated from the genavro, is it possible to get a maven 
rule to generate this?  Or is that not ready yet?

Yes, this should definitely be done during the build. See 
https://issues.apache.org/jira/browse/AVRO-572.


bq.  On 2010-06-09 19:24:25, Ryan Rawson wrote:
bq.  > trunk/src/main/java/org/apache/hadoop/hbase/avro/hbase.genavro, line 155
bq.  > <http://review.hbase.org/r/128/diff/3/?file=1191#file1191line155>
bq.  >
bq.  >     The Java API gets its speed by essentially taking a Result which is 
an array of KeyValue, which are just byte arrays and serializing it all as one 
large array.  On the client side, the client reads the entire array then builds 
the KeyValues that provide a view onto this one array. 
bq.  >     
bq.  >     I don't know how this performance improvement could be done in this 
avro interface, but I thought I'd bring it up for reference.

My comment here is not for performance considerations, it's for concision and 
related to your previous comment (on line 140): AColumn, AResultEntry, and 
AColumnValue all do approximately the same thing. I could make the fields 
nullable and use one Avro record for each. Pro: I have less generated classes. 
Con: the generated class I have is less task-specific. To be honest, since 
there are not a lot of Avro services out there, it's hard to say which is the 
best practice. I'm happy to take feedback but decided that being more verbose 
with my number of objects was better.


bq.  On 2010-06-09 19:24:25, Ryan Rawson wrote:
bq.  > trunk/src/main/java/org/apache/hadoop/hbase/avro/hbase.genavro, line 156
bq.  > <http://review.hbase.org/r/128/diff/3/?file=1191#file1191line156>
bq.  >
bq.  >     it would be nice to collapse AResultEntry and AColumnValue, they 
seem to be almost the same thing.

(see above comment)


bq.  On 2010-06-09 19:24:25, Ryan Rawson wrote:
bq.  > trunk/src/main/java/org/apache/hadoop/hbase/avro/hbase.genavro, line 268
bq.  > <http://review.hbase.org/r/128/diff/3/?file=1191#file1191line268>
bq.  >
bq.  >     these apis are good, but i'm wondering if you'd be open to a new 
experimental scanner API we have been interested in for the base RPC...
bq.  >     
bq.  >     essentially right now you need 3 RPC calls even to retrieve a small 
amount of data.  What would an API look like that lets you open, get rows and 
have implicit closes if you hit the end of the scan in your 'number of records' 
parameter?  We'd still have explicit closes for premature client-driven 
scan-terminations, but if your goal is to scan to the end, then why do an 
explicit close?  Also why not have the 'open' also start to return data?  The 
returned value would probably have to be a struct..
bq.  >     
bq.  >     This is more of an optional exercise, so if you dont feel the need, 
it's fine.

Yeah that would be nice; you could return (int scannerId, bytes[] row, 
resultScanner result). In the Python client, I don't expose open/close; the 
Python clients just scan.


bq.  On 2010-06-09 19:24:25, Ryan Rawson wrote:
bq.  > trunk/src/main/java/org/apache/hadoop/hbase/avro/hbase.genavro, line 230
bq.  > <http://review.hbase.org/r/128/diff/3/?file=1191#file1191line230>
bq.  >
bq.  >     technically speaking getRowOrBefore() isnt a 'public' method, it is 
supposed to be mostly used for META support, and I think we are trending to 
'dont use for general purpose'.

Noted. I will remove the comment.


- Jeff


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://review.hbase.org/r/128/#review171
-----------------------------------------------------------





> new connector for Avro RPC access to HBase cluster
> --------------------------------------------------
>
>                 Key: HBASE-2400
>                 URL: https://issues.apache.org/jira/browse/HBASE-2400
>             Project: HBase
>          Issue Type: Task
>          Components: avro
>            Reporter: Andrew Purtell
>            Priority: Minor
>         Attachments: HBASE-2400-v0.patch
>
>
> Build a new connector contrib architecturally equivalent to the Thrift 
> connector, but using Avro serialization and associated transport and RPC 
> server work. Support AAA (audit, authentication, authorization). 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to