[ 
https://issues.apache.org/jira/browse/ATLAS-2036?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sharmadha Sainath updated ATLAS-2036:
-------------------------------------
    Description: 
1. Created a tag tag1 with attributes 
          strAttr of type string ,
          boolAttr  of type boolean , 
          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


  was:
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



> 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 
>           strAttr of type string ,
>           boolAttr  of type boolean , 
>           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