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

Tugdual Grall commented on DRILL-4882:
--------------------------------------


I have started to work on a fix, the easiest will be to change Mongo Driver to 
allow ReadPreference when using schema calls.
I have created a pull request in MongoDriver for this, and successfully tested 
with Drill (only have to change the 3 lines listed in the bug description)

The PR is visible here:
https://github.com/mongodb/mongo-java-driver/pull/372

If Mongo community does not take this we have to find another solution (using 
other commands, wrapping Driver classes to create new methods)



> 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