[
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.