Uploaded image for project: 'Atlas'
  1. Atlas
  2. ATLAS-3776

graph query fails when orderBy attribute is specified

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 3.0.0
    • Fix Version/s: 2.1.0, 3.0.0
    • Component/s: atlas-core
    • Labels:
      None

      Description

      EntitySearchProcessor fails when doing search by classification and specify orderBy attribute. The issue is that for graph query you cannot refer to attribute by name but need to provide absolute path to entity attribute e.g. 

       

      ```

      { "attributes": [ "description", "comment", "popularityScore" ], "classification": "customer_NON_PII", "excludeDeletedEntities": "False", "limit": "", "offset": 100, "sortBy": "Table.popularityScore", "sortOrder": "DESCENDING", "typeName": "hive_table" }

      ```

      this query fails with following exception:

       

      ```

      {"exception":{"message":"Provided key does not exist: Table.popularityScore","class":"java.lang.IllegalArgumentException","stacktrace":"java.lang.IllegalArgumentException: Provided key does not exist: hive_table.popularityScore\n\tat com.google.common.base.Preconditions.checkArgument(Preconditions.java:163)\n\tat org.janusgraph.graphdb.query.graph.GraphCentricQueryBuilder.
      orderBy(GraphCentricQueryBuilder.java:160)

      ```

       

      When specify full reference to attribute e.g. 

       

      ```

      { "attributes": [ "description", "comment", "popularityScore" ], "classification": "customer_NON_PII", "excludeDeletedEntities": "False", "limit": "", "offset": 100, "sortBy": "Table.popularityScore", "sortOrder": "DESCENDING", "typeName": "hive_table" }

      ```

      it fails on validation stage

       

      ```

      {"exception":{"message":"Attribute Table.popularityScore not found for type Table","class":"org.apache.atlas.exception.AtlasBaseException","stacktrace":"org.apache.atlas.exception.AtlasBaseException: Attribute Table.popularityScore not found for type Table\n\tat org.apache.atlas.discovery.SearchContext.validateAttributes(SearchContext.java:288)

      ```

      workaround is provided as a patch.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                dwarszawski Damian Warszawski
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: