You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Tugdual Grall (JIRA)" <ji...@apache.org> on 2016/09/07 12:39:20 UTC

[jira] [Commented] (DRILL-4882) Drill does not work when it has only access to "secondary nodes"

    [ 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)