Laurent Goujon commented on DRILL-4791:

I wonder how much of the jdbc driver size is caused by embedding classes we 
actually don't need? The RPC classes are all in exec/java-exec along with all 
the parser and execution code, so splitting the rpc part in submodule might 
achieve the size reduction you are looking at. The only exception to this is 
the embedded mode, but maybe a optional jar could be created for it. Thoughts?

Also, I don't mind having a new API, but transport should be based on something 
standard like gRPC (which is a protobuf-based protocol on top of HTTP/2): lots 
of things come for free like authentication,qos,security...

> Provide a light-weight, versioned client API
> --------------------------------------------
>                 Key: DRILL-4791
>                 URL: https://issues.apache.org/jira/browse/DRILL-4791
>             Project: Apache Drill
>          Issue Type: New Feature
>            Reporter: Paul Rogers
>            Assignee: Paul Rogers
> Drill's existing client APIs are "industrial strength" - they provide full 
> access to the sophisticated distributed, columnar RPCs which Drill uses 
> internall. However, they are too complex for most client needs. Provide a 
> simpler API optimized for clients: row-based result sets, synchronous, etc.
> At the same time, Drill clients must currently link with the same version of 
> Drill code as is running on the Drill cluster. This forces clients to upgrade 
> in lock-step with the cluster. Allow Drill clients to be upgraded after (or 
> even before) the Drill cluster to simplify management of desktop apps that 
> use Drill.

This message was sent by Atlassian JIRA

Reply via email to