Tugdual Grall created DRILL-4882:
------------------------------------
Summary: 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.8.0, 1.7.0, 1.6.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)