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

Rajesh Balamohan updated HIVE-15388:
------------------------------------
    Description: 
Branch: apache-master (applicable with previous releases as well)

Queries generated via tools can have lots "(" for "AND/OR" conditions. This 
causes huge delays in parsing phase when the number of expressions are high.

e.g
{noformat}
SELECT `iata`,
       `airport`,
       `city`,
       `state`,
       `country`,
       `lat`,
       `lon`
FROM airports
WHERE 
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((`airports`.`airport`
 = "Thigpen"
                                                                                
OR `airports`.`airport` = "Astoria Regional")
                                                                               
OR `airports`.`airport` = "Warsaw Municipal")
                                                                              
OR `airports`.`airport` = "John F Kennedy Memorial")
                                                                             OR 
`airports`.`airport` = "Hall-Miller Municipal")
                                                                            OR 
`airports`.`airport` = "Atqasuk")
                                                                           OR 
`airports`.`airport` = "William B Hartsfield-Atlanta Intl")
                                                                          OR 
`airports`.`airport` = "Artesia Municipal")
                                                                         OR 
`airports`.`airport` = "Outagamie County Regional")
                                                                        OR 
`airports`.`airport` = "Watertown Municipal")
                                                                       OR 
`airports`.`airport` = "Augusta State")
                                                                      OR 
`airports`.`airport` = "Aurora Municipal")
                                                                     OR 
`airports`.`airport` = "Alakanuk")
                                                                    OR 
`airports`.`airport` = "Austin Municipal")
                                                                   OR 
`airports`.`airport` = "Auburn Municipal")
                                                                  OR 
`airports`.`airport` = "Auburn-Opelik")
                                                                 OR 
`airports`.`airport` = "Austin-Bergstrom International")
                                                                OR 
`airports`.`airport` = "Wausau Municipal")
                                                               OR 
`airports`.`airport` = "Mecklenburg-Brunswick Regional")
                                                              OR 
`airports`.`airport` = "Alva Regional")
                                                             OR 
`airports`.`airport` = "Asheville Regional")
                                                            OR 
`airports`.`airport` = "Avon Park Municipal")
                                                           OR 
`airports`.`airport` = "Wilkes-Barre/Scranton Intl")
                                                          OR 
`airports`.`airport` = "Marana Northwest Regional")
                                                         OR 
`airports`.`airport` = "Catalina")
                                                        OR `airports`.`airport` 
= "Washington Municipal")
                                                       OR `airports`.`airport` 
= "Wainwright")
                                                      OR `airports`.`airport` = 
"West Memphis Municipal")
                                                     OR `airports`.`airport` = 
"Arlington Municipal")
                                                    OR `airports`.`airport` = 
"Algona Municipal")
                                                   OR `airports`.`airport` = 
"Chandler")
                                                  OR `airports`.`airport` = 
"Altus Municipal")
                                                 OR `airports`.`airport` = 
"Neil Armstrong")
                                                OR `airports`.`airport` = 
"Angel Fire")
                                               OR `airports`.`airport` = 
"Waycross-Ware County")
                                              OR `airports`.`airport` = 
"Colorado City Municipal")
                                             OR `airports`.`airport` = 
"Hazelhurst")
                                            OR `airports`.`airport` = 
"Kalamazoo County")
                                           OR `airports`.`airport` = 
"Granville")
                                          OR `airports`.`airport` = "Silver 
Springs")
                                         OR `airports`.`airport` = "Whitford")
                                        OR `airports`.`airport` = "Biddeford 
Municipal")
                                       OR `airports`.`airport` = "Sugarloaf 
Regional")
                                      OR `airports`.`airport` = "Barnes 
Municipal")
                                     OR `airports`.`airport` = "Columbus 
Municipal")
                                    OR `airports`.`airport` = "Battle Mountain")
                                   OR `airports`.`airport` = "Huron County 
Memorial")
                                  OR `airports`.`airport` = "New Braunfels 
Municipal")
                                 OR `airports`.`airport` = "Benson Municipal")
                                OR `airports`.`airport` = "Curtis")
                               OR `airports`.`airport` = "Marlboro County")
                              OR `airports`.`airport` = "Broken Bow Municipal")
                             OR `airports`.`airport` = "Virginia Tech")
                            OR `airports`.`airport` = "Bryce Canyon")
                           OR `airports`.`airport` = "Black River Falls Area")
                          OR `airports`.`airport` = "Boca Raton")
                         OR `airports`.`airport` = "Birchwood")
                        OR `airports`.`airport` = "Baudette International")
                       OR `airports`.`airport` = "Blanding Muni")
                      OR `airports`.`airport` = "Bradley International")
                     OR `airports`.`airport` = "Morrilton Municipal")
                    OR `airports`.`airport` = "Igor I Sikorsky Memorial")
                   OR `airports`.`airport` = "Broadus")
                  OR `airports`.`airport` = "Laurence G Hanscom")
                 OR `airports`.`airport` = "Southwest Michigan Regional")
                OR `airports`.`airport` = "Bethel")
               OR `airports`.`airport` = "Bradford Reg")
              OR `airports`.`airport` = "Scotts Bluff County")
             OR `airports`.`airport` = "Boeing Field/King County Intl")
            OR `airports`.`airport` = "Buffalo Municipal")
           OR `airports`.`airport` = "Meadows")
          OR `airports`.`airport` = "Mobile Downtown")
         OR `airports`.`airport` = "Virgil I Grissom Municipal")
        OR `airports`.`airport` = "Silver Bay Municipal");
{noformat}

This query would take more than minutes to parse and compile.  

Temp Workaround: If "(" are removed manually, it gets completed in 2-3 seconds.

  was:
Branch: apache-master (applicable with previous releases as well)

Queries generated via tools can have lots "(" for "AND/OR" conditions. This 
causes huge delays in parsing phase when the number of expressions are high.

e.g
{noformat}
SELECT `iata`,
       `airport`,
       `city`,
       `state`,
       `country`,
       `lat`,
       `lon`
FROM airports
WHERE 
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((`airports`.`airport`
 = "Thigpen"
                                                                                
OR `airports`.`airport` = "Astoria Regional")
                                                                               
OR `airports`.`airport` = "Warsaw Municipal")
                                                                              
OR `airports`.`airport` = "John F Kennedy Memorial")
                                                                             OR 
`airports`.`airport` = "Hall-Miller Municipal")
                                                                            OR 
`airports`.`airport` = "Atqasuk")
                                                                           OR 
`airports`.`airport` = "William B Hartsfield-Atlanta Intl")
                                                                          OR 
`airports`.`airport` = "Artesia Municipal")
                                                                         OR 
`airports`.`airport` = "Outagamie County Regional")
                                                                        OR 
`airports`.`airport` = "Watertown Municipal")
                                                                       OR 
`airports`.`airport` = "Augusta State")
                                                                      OR 
`airports`.`airport` = "Aurora Municipal")
                                                                     OR 
`airports`.`airport` = "Alakanuk")
                                                                    OR 
`airports`.`airport` = "Austin Municipal")
                                                                   OR 
`airports`.`airport` = "Auburn Municipal")
                                                                  OR 
`airports`.`airport` = "Auburn-Opelik")
                                                                 OR 
`airports`.`airport` = "Austin-Bergstrom International")
                                                                OR 
`airports`.`airport` = "Wausau Municipal")
                                                               OR 
`airports`.`airport` = "Mecklenburg-Brunswick Regional")
                                                              OR 
`airports`.`airport` = "Alva Regional")
                                                             OR 
`airports`.`airport` = "Asheville Regional")
                                                            OR 
`airports`.`airport` = "Avon Park Municipal")
                                                           OR 
`airports`.`airport` = "Wilkes-Barre/Scranton Intl")
                                                          OR 
`airports`.`airport` = "Marana Northwest Regional")
                                                         OR 
`airports`.`airport` = "Catalina")
                                                        OR `airports`.`airport` 
= "Washington Municipal")
                                                       OR `airports`.`airport` 
= "Wainwright")
                                                      OR `airports`.`airport` = 
"West Memphis Municipal")
                                                     OR `airports`.`airport` = 
"Arlington Municipal")
                                                    OR `airports`.`airport` = 
"Algona Municipal")
                                                   OR `airports`.`airport` = 
"Chandler")
                                                  OR `airports`.`airport` = 
"Altus Municipal")
                                                 OR `airports`.`airport` = 
"Neil Armstrong")
                                                OR `airports`.`airport` = 
"Angel Fire")
                                               OR `airports`.`airport` = 
"Waycross-Ware County")
                                              OR `airports`.`airport` = 
"Colorado City Municipal")
                                             OR `airports`.`airport` = 
"Hazelhurst")
                                            OR `airports`.`airport` = 
"Kalamazoo County")
                                           OR `airports`.`airport` = 
"Granville")
                                          OR `airports`.`airport` = "Silver 
Springs")
                                         OR `airports`.`airport` = "Whitford")
                                        OR `airports`.`airport` = "Biddeford 
Municipal")
                                       OR `airports`.`airport` = "Sugarloaf 
Regional")
                                      OR `airports`.`airport` = "Barnes 
Municipal")
                                     OR `airports`.`airport` = "Columbus 
Municipal")
                                    OR `airports`.`airport` = "Battle Mountain")
                                   OR `airports`.`airport` = "Huron County 
Memorial")
                                  OR `airports`.`airport` = "New Braunfels 
Municipal")
                                 OR `airports`.`airport` = "Benson Municipal")
                                OR `airports`.`airport` = "Curtis")
                               OR `airports`.`airport` = "Marlboro County")
                              OR `airports`.`airport` = "Broken Bow Municipal")
                             OR `airports`.`airport` = "Virginia Tech")
                            OR `airports`.`airport` = "Bryce Canyon")
                           OR `airports`.`airport` = "Black River Falls Area")
                          OR `airports`.`airport` = "Boca Raton")
                         OR `airports`.`airport` = "Birchwood")
                        OR `airports`.`airport` = "Baudette International")
                       OR `airports`.`airport` = "Blanding Muni")
                      OR `airports`.`airport` = "Bradley International")
                     OR `airports`.`airport` = "Morrilton Municipal")
                    OR `airports`.`airport` = "Igor I Sikorsky Memorial")
                   OR `airports`.`airport` = "Broadus")
                  OR `airports`.`airport` = "Laurence G Hanscom")
                 OR `airports`.`airport` = "Southwest Michigan Regional")
                OR `airports`.`airport` = "Bethel")
               OR `airports`.`airport` = "Bradford Reg")
              OR `airports`.`airport` = "Scotts Bluff County")
             OR `airports`.`airport` = "Boeing Field/King County Intl")
            OR `airports`.`airport` = "Buffalo Municipal")
           OR `airports`.`airport` = "Meadows")
          OR `airports`.`airport` = "Mobile Downtown")
         OR `airports`.`airport` = "Virgil I Grissom Municipal")
        OR `airports`.`airport` = "Silver Bay Municipal");
{noformat}

This query would take more than minutes to parse and compile.  If the "(" are 
removed manually, it gets completed in 2-3 seconds.


> HiveParser spends lots of time in parsing queries with lots "("
> ---------------------------------------------------------------
>
>                 Key: HIVE-15388
>                 URL: https://issues.apache.org/jira/browse/HIVE-15388
>             Project: Hive
>          Issue Type: Improvement
>    Affects Versions: 2.2.0
>            Reporter: Rajesh Balamohan
>         Attachments: hive-15388.stacktrace.txt
>
>
> Branch: apache-master (applicable with previous releases as well)
> Queries generated via tools can have lots "(" for "AND/OR" conditions. This 
> causes huge delays in parsing phase when the number of expressions are high.
> e.g
> {noformat}
> SELECT `iata`,
>        `airport`,
>        `city`,
>        `state`,
>        `country`,
>        `lat`,
>        `lon`
> FROM airports
> WHERE 
> ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((`airports`.`airport`
>  = "Thigpen"
>                                                                               
>   OR `airports`.`airport` = "Astoria Regional")
>                                                                               
>  OR `airports`.`airport` = "Warsaw Municipal")
>                                                                               
> OR `airports`.`airport` = "John F Kennedy Memorial")
>                                                                              
> OR `airports`.`airport` = "Hall-Miller Municipal")
>                                                                             
> OR `airports`.`airport` = "Atqasuk")
>                                                                            OR 
> `airports`.`airport` = "William B Hartsfield-Atlanta Intl")
>                                                                           OR 
> `airports`.`airport` = "Artesia Municipal")
>                                                                          OR 
> `airports`.`airport` = "Outagamie County Regional")
>                                                                         OR 
> `airports`.`airport` = "Watertown Municipal")
>                                                                        OR 
> `airports`.`airport` = "Augusta State")
>                                                                       OR 
> `airports`.`airport` = "Aurora Municipal")
>                                                                      OR 
> `airports`.`airport` = "Alakanuk")
>                                                                     OR 
> `airports`.`airport` = "Austin Municipal")
>                                                                    OR 
> `airports`.`airport` = "Auburn Municipal")
>                                                                   OR 
> `airports`.`airport` = "Auburn-Opelik")
>                                                                  OR 
> `airports`.`airport` = "Austin-Bergstrom International")
>                                                                 OR 
> `airports`.`airport` = "Wausau Municipal")
>                                                                OR 
> `airports`.`airport` = "Mecklenburg-Brunswick Regional")
>                                                               OR 
> `airports`.`airport` = "Alva Regional")
>                                                              OR 
> `airports`.`airport` = "Asheville Regional")
>                                                             OR 
> `airports`.`airport` = "Avon Park Municipal")
>                                                            OR 
> `airports`.`airport` = "Wilkes-Barre/Scranton Intl")
>                                                           OR 
> `airports`.`airport` = "Marana Northwest Regional")
>                                                          OR 
> `airports`.`airport` = "Catalina")
>                                                         OR 
> `airports`.`airport` = "Washington Municipal")
>                                                        OR 
> `airports`.`airport` = "Wainwright")
>                                                       OR `airports`.`airport` 
> = "West Memphis Municipal")
>                                                      OR `airports`.`airport` 
> = "Arlington Municipal")
>                                                     OR `airports`.`airport` = 
> "Algona Municipal")
>                                                    OR `airports`.`airport` = 
> "Chandler")
>                                                   OR `airports`.`airport` = 
> "Altus Municipal")
>                                                  OR `airports`.`airport` = 
> "Neil Armstrong")
>                                                 OR `airports`.`airport` = 
> "Angel Fire")
>                                                OR `airports`.`airport` = 
> "Waycross-Ware County")
>                                               OR `airports`.`airport` = 
> "Colorado City Municipal")
>                                              OR `airports`.`airport` = 
> "Hazelhurst")
>                                             OR `airports`.`airport` = 
> "Kalamazoo County")
>                                            OR `airports`.`airport` = 
> "Granville")
>                                           OR `airports`.`airport` = "Silver 
> Springs")
>                                          OR `airports`.`airport` = "Whitford")
>                                         OR `airports`.`airport` = "Biddeford 
> Municipal")
>                                        OR `airports`.`airport` = "Sugarloaf 
> Regional")
>                                       OR `airports`.`airport` = "Barnes 
> Municipal")
>                                      OR `airports`.`airport` = "Columbus 
> Municipal")
>                                     OR `airports`.`airport` = "Battle 
> Mountain")
>                                    OR `airports`.`airport` = "Huron County 
> Memorial")
>                                   OR `airports`.`airport` = "New Braunfels 
> Municipal")
>                                  OR `airports`.`airport` = "Benson Municipal")
>                                 OR `airports`.`airport` = "Curtis")
>                                OR `airports`.`airport` = "Marlboro County")
>                               OR `airports`.`airport` = "Broken Bow 
> Municipal")
>                              OR `airports`.`airport` = "Virginia Tech")
>                             OR `airports`.`airport` = "Bryce Canyon")
>                            OR `airports`.`airport` = "Black River Falls Area")
>                           OR `airports`.`airport` = "Boca Raton")
>                          OR `airports`.`airport` = "Birchwood")
>                         OR `airports`.`airport` = "Baudette International")
>                        OR `airports`.`airport` = "Blanding Muni")
>                       OR `airports`.`airport` = "Bradley International")
>                      OR `airports`.`airport` = "Morrilton Municipal")
>                     OR `airports`.`airport` = "Igor I Sikorsky Memorial")
>                    OR `airports`.`airport` = "Broadus")
>                   OR `airports`.`airport` = "Laurence G Hanscom")
>                  OR `airports`.`airport` = "Southwest Michigan Regional")
>                 OR `airports`.`airport` = "Bethel")
>                OR `airports`.`airport` = "Bradford Reg")
>               OR `airports`.`airport` = "Scotts Bluff County")
>              OR `airports`.`airport` = "Boeing Field/King County Intl")
>             OR `airports`.`airport` = "Buffalo Municipal")
>            OR `airports`.`airport` = "Meadows")
>           OR `airports`.`airport` = "Mobile Downtown")
>          OR `airports`.`airport` = "Virgil I Grissom Municipal")
>         OR `airports`.`airport` = "Silver Bay Municipal");
> {noformat}
> This query would take more than minutes to parse and compile.  
> Temp Workaround: If "(" are removed manually, it gets completed in 2-3 
> seconds.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to