[ 
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

Reply via email to