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