Uploaded image for project: 'Apache Drill'
  1. Apache Drill
  2. DRILL-4882

Drill does not work when it has only access to "secondary nodes"

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • 1.6.0, 1.7.0, 1.8.0
    • None
    • Storage - MongoDB
    • None
    • Drill Stand Alone
      Drill in MapR

    Description

      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

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              tgrall Tugdual Grall
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated: