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

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

Github user chunhui-shi commented on a diff in the pull request:

    https://github.com/apache/drill/pull/609#discussion_r94687060
  
    --- Diff: 
contrib/storage-mongo/src/main/java/org/apache/drill/exec/store/mongo/MongoStoragePlugin.java
 ---
    @@ -136,17 +138,40 @@ public synchronized MongoClient 
getClient(List<ServerAddress> addresses) {
         if (client == null) {
           if (credential != null) {
             List<MongoCredential> credentialList = Arrays.asList(credential);
    -        client = new MongoClient(addresses, credentialList, 
clientURI.getOptions());
    +        if (!isDirectConnection()) {
    --- End diff --
    
    Could you add Unit test for this fix?


> Drill does not work when it has only access to "secondary nodes"
> ----------------------------------------------------------------
>
>                 Key: DRILL-4882
>                 URL: https://issues.apache.org/jira/browse/DRILL-4882
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Storage - MongoDB
>    Affects Versions: 1.6.0, 1.7.0, 1.8.0
>         Environment: Drill Stand Alone
> Drill in MapR
>            Reporter: Tugdual Grall
>            Priority: Minor
>
> In some deployments, especially when doing analytics on MongoDB, the 
> application, Drill in this case, only have access to secondary nodes. 
> This is a common choice to avoid overloading the Mongo cluster.
> When we have such configuration Drill fail with various exception related to 
> timeout/primary read preference.
> This is due to the fact that some of the "Schema Oriented" methods of 
> MongoDriver are forcing the read preference to primary. The methods are used 
> in the following place in Drill:
> 1-
> https://github.com/apache/drill/blob/1.8.0/contrib/storage-mongo/src/main/java/org/apache/drill/exec/store/mongo/schema/MongoSchemaFactory.java#L89
> 2-
> https://github.com/apache/drill/blob/1.8.0/contrib/storage-mongo/src/main/java/org/apache/drill/exec/store/mongo/schema/MongoSchemaFactory.java#L109
> and also the Run command to get information about the type of topology 
> (sharded or not):
> 3- 
> https://github.com/apache/drill/blob/1.8.0/contrib/storage-mongo/src/main/java/org/apache/drill/exec/store/mongo/MongoGroupScan.java#L167
> 3- could be fixed by simply adding a ReadPreference.primaryPreferred() but 
> not sufficient since we need to have 1 & 2 fixed



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

Reply via email to