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

Josh Elser commented on CALCITE-840:
------------------------------------

Thanks for the feedback, Julian.

bq. Removing the jackson annotations should be a separate commit, but I think 
we should do it as part of this task. Otherwise when will it get done?

I have a list of other things I'd like to address (PHOENIX-1972, CALCITE-871, 
CALCITE-645 are at the fore-front). My intent would be to do it while I 
continue work on those issues.

bq. a client using the protobuf transport should not depend on jackson

That's a fair point. I've been limiting my view to users who are just consuming 
the JDBC driver instead of doing things by hand in Java. In the former case, 
everything is already shaded+relocated into the Avatica jar, and they don't 
have to care what they're getting. I could see us moving the present avatica 
module into some avatica-core module, and pulling protobuf and jackson specific 
code into their own modules. This would help reduce the dependency footprint.

bq. With intermittent test failures we have no confidence in the Avatica stack 
at present

Yeah, this was a pain today trying to get the tests to pass in one build. I'd 
be happy to look into this one too, but I don't have a good feeling for where 
to start. Do you have any hunch where the concurrency issue is?

bq. Which is simpler: committing generated code, or generating as part of the 
build

The former doesn't require us doing anything on build-boxes. Maven pulls in the 
right dependencies and we don't do any code-gen on a normal build -- that's 
what this patch does (and is the large part of why it's so large). I think it's 
reasonable to assume that we're going to have decent stability in the protobuf 
classes and recompiling will be an uncommon event. The only downside is that 
you have to remember to recompile when you do change the proto files (which 
would become rather apparent quickly if you forget :))

> Protobuf transport for Avatica
> ------------------------------
>
>                 Key: CALCITE-840
>                 URL: https://issues.apache.org/jira/browse/CALCITE-840
>             Project: Calcite
>          Issue Type: Bug
>          Components: avatica
>            Reporter: Julian Hyde
>            Assignee: Josh Elser
>             Fix For: 1.5.0-incubating
>
>         Attachments: CALCITE-840.001.patch, CALCITE-840.002.patch, 
> CALCITE-840.003.patch, CALCITE-840.004.patch
>
>
> Create a transport for Avatica that uses Protobuf.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to