Sharmadha Sainath created ATLAS-2036:
----------------------------------------

             Summary: Search using entity and trait attributes - Issue with 
Boolean attributes of tag and case insensitive search
                 Key: ATLAS-2036
                 URL: https://issues.apache.org/jira/browse/ATLAS-2036
             Project: Atlas
          Issue Type: Bug
          Components:  atlas-core
    Affects Versions: 0.9-incubating
            Reporter: Sharmadha Sainath


1. Created a tag tag1 with attributes 
       1. strAttr of type string ,
       2. boolAttr  of type boolean , 
       3. intAttr of type integer

2. Associated an entity to the tag with values  =  
        strAttr : value 
        boolAttr : false 
        intAttr : 5

3. In Basic search :
 a)  tag = tag1 ,
       tagfilters :
             strAttr = value                fetched the entity
 b)  tag = tag1 ,
      tagfilters : 
             strAttr= VALUE              fetched the entity 
 c)  tag = tag1 ,
      tagfilters : 
              strAttr = value , 
              boolAttr = false ,
              intAttr = 5                     fetched the entity
 d)  tag = tag1 , 
      tagfilters : 
          strAttr = VALUE , 
          intAttr = 5 fetched any entity
 e) tag = tag1 , 
      tagfilters : 
          boolAttr = false                fetched any entity
 e) But tag = tag1 ,
      tagfilters: 
         strAttr = VALUE ,
         boolAttr = false didn't fetch any entity . (to be noted : strAttr's 
value is in CAPS)

Logs when searching for tag filters : strAttr : VALUE , intAttr:5
{code}

2017-08-09 13:47:55,474 INFO  - [pool-2-thread-9 - 
5b8ea24d-0708-4571-b55d-a345d2997ed4:] ~ Converted query string with 3 
replacements: [v."__typeName":(tag1) AND v."tag1.intAttr": 5 AND 
v."tag1.strAttr": VALUE] => [iyt_t:(tag1) AND 870ud_i: 5 AND 86rd1_t: VALUE] 
(IndexSerializer:648)
2017-08-09 13:47:55,484 INFO  - [pool-2-thread-9 - 
5b8ea24d-0708-4571-b55d-a345d2997ed4:] ~ Converted query string with 3 
replacements: [v."__typeName":(tag1) AND v."tag1.intAttr": 5 AND 
v."tag1.strAttr": VALUE] => [iyt_t:(tag1) AND 870ud_i: 5 AND 86rd1_t: VALUE] 
(IndexSerializer:648)

{code}


Logs when searching for tag filters : strAttr : VALUE , boolAttr : false (Note 
: no INFO logs from IndexSerializer regrading query conversion are found in 
this search )
{code}
 WARN  - [pool-2-thread-9 - 4c272ca0-4853-4d24-b2d0-f10934516889:] ~ search 
includes non-indexed attribute 'tag1.boolAttr'; might cause poor performance 
(SearchProcessor:120)
{code}





Thus , any case insensitive string search with boolean attribute in tag search 
fails to fetch the entity. Other datatypes (including enum) when combined with 
case insensitive search fetches the expected entity.

Also , this behavior is not observed on entity filters.
For example , an  hdfs_path entity with description - hdfs_path , isSymLink = 
false ,
both the following search fetch the entity :
1. description = hdfs_path ,  isSymLink = false 
2.  description = Hdfs_path ,  isSymLink = false




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to