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

ASF GitHub Bot commented on DRILL-5015:
---------------------------------------

Github user paul-rogers commented on a diff in the pull request:

    https://github.com/apache/drill/pull/648#discussion_r87098173
  
    --- Diff: 
exec/java-exec/src/main/java/org/apache/drill/exec/client/DrillClient.java ---
    @@ -223,19 +223,65 @@ public void connect(Properties props) throws 
RpcException {
         connect(null, props);
       }
     
    +  /**
    +   * Function to populate the endpointList with information of all the 
drillbits
    +   * provided in the connection string by client
    +   * @param endpointList - ArrayList of DrillbitEndpoints
    +   * @param drillbits - One or more drillbit ip[:port] provided in 
connection string
    --- End diff --
    
    One or more drillbit -> drillbits
    
    (Javadoc practice is to use lower case in param comments. See: 
http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html#styleguide)
    
    Please copy detailed description from method body to here so it shows up in 
Javadoc.
    
    I one port allowed? Or, should the user specify all three? If only one, 
what port numbers are used for the other two? If this is documented elsewhere, 
just point to that location.


> As per documentation, when issuing a list of drillbits in the connection 
> string, we always attempt to connect only to the first one
> -----------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DRILL-5015
>                 URL: https://issues.apache.org/jira/browse/DRILL-5015
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Client - JDBC
>    Affects Versions: 1.8.0, 1.9.0
>            Reporter: Sorabh Hamirwasia
>            Assignee: Sudheesh Katkam
>
> When trying to connect to a Drill cluster by specifying more than 1 drillbits 
> to connect to, we always attempt to connect to only the first drillbit.
> As an example, we tested against a pair of drillbits, but we always connect 
> to the first entry in the CSV list by querying for the 'current' drillbit. 
> The remaining entries are never attempted.
> [root@pssc-60 agileSqlPerfTests]# /opt/mapr/drill/drill-1.8.0/bin/sqlline  -u 
>  "jdbc:drill:schema=dfs.tmp;drillbit=pssc-61:31010,pssc-62:31010" -f 
> whereAmI.q  | grep -v logback
> 1/1          select * from sys.drillbits where `current`;
> +-----------------+------------+---------------+------------+----------+
> |    hostname     | user_port  | control_port  | data_port  | current  |
> +-----------------+------------+---------------+------------+----------+
> | pssc-61.qa.lab  | 31010      | 31011         | 31012      | true     |
> +-----------------+------------+---------------+------------+----------+
> 1 row selected (0.265 seconds)
> Closing: org.apache.drill.jdbc.impl.DrillConnectionImpl
> apache drill 1.8.0 
> "a little sql for your nosql"
> This property is meant for use by clients when not wanting to overload the ZK 
> for fetching a list of existing Drillbits, but the behaviour doesn't match 
> the documentation. 
> [Making a Direct Drillbit Connection | 
> https://drill.apache.org/docs/using-the-jdbc-driver/#using-the-jdbc-url-format-for-a-direct-drillbit-connection
>  ]
> We need to randomly shuffle between this list and If an entry in the shuffled 
> list is unreachable, we need to try for the next entry in the list.



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

Reply via email to