hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-6787) Convert RowProcessorProtocol to protocol buffer service
Date Fri, 19 Oct 2012 05:56:03 GMT

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

stack commented on HBASE-6787:
------------------------------

Thanks for doing this DD.

Looking at this:

{code}
-    if (ci.columnInterpreterSpecificData() != null) {
-      requestBuilder.setInterpreterSpecificBytes(
-        ci.columnInterpreterSpecificData());
+    ByteString columnInterpreterSpecificData = null;
+    if ((columnInterpreterSpecificData = ci.columnInterpreterSpecificData()) 
+       != null) {
+      requestBuilder.setInterpreterSpecificBytes(columnInterpreterSpecificData);
{code}

... you are doing straight mapping of old style to new pb style.  Thats fine for this CP.
 Going forward though, we're expecting folks to define their own pbs when they do their own
endpoints, right?  And if so, they won't be doing stuff like the above passing arbitrary byte
arrays but rather, they'll be pb attributes?  Or is this patch adding this functionality?
 This ability to add arbitrary bytes?  If so, does it have to part of the general RowProcessor?
 Can it not be specific to aggregating CP?  Just wondering.

I ain't sure whats going on in RowProcessorClient.  It has a method getRowProcessorPB that
takes and returns generics of RowProcessorArgument?  I don't follow what is going on.

In BaseRowProcessorEndpoint#process, we take a RowProcessorArgument.  Should that be a RowProcessorRequest?
 (Ditto here constructRowProcessorFromRequest(RowProcessorArgument request))

What is getProtoForResultType that takes a Result?  Why ResultType in the method name?

The initialize taking 'bytes' drops typing, ability to extend (unless these arbitrary bytes
are serialized pb themselves)

When would there be different result types?  (looking at getProtoForResultType in the Interface)
 And it returns serialized pb?

So result of the CP is arbitrary bytes for the client to interpret?  Can it not be a pb?

Sorry if my comments above are clueless for I am when it comes to these endpoint CPs.




                
> Convert RowProcessorProtocol to protocol buffer service
> -------------------------------------------------------
>
>                 Key: HBASE-6787
>                 URL: https://issues.apache.org/jira/browse/HBASE-6787
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Coprocessors
>            Reporter: Gary Helmling
>            Assignee: Devaraj Das
>             Fix For: 0.96.0
>
>         Attachments: 6787-1.patch
>
>
> With coprocessor endpoints now exposed as protobuf defined services, we should convert
over all of our built-in endpoints to PB services.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message