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

Qifan Chen resolved TRAFODION-1431.
-----------------------------------
    Resolution: Fixed

> Compiler dumps core when compiling load transform query with ESP colocation 
> feature is on
> -----------------------------------------------------------------------------------------
>
>                 Key: TRAFODION-1431
>                 URL: https://issues.apache.org/jira/browse/TRAFODION-1431
>             Project: Apache Trafodion
>          Issue Type: Bug
>          Components: sql-cmp
>    Affects Versions: 1.1 (pre-incubation)
>            Reporter: Qifan Chen
>            Assignee: Qifan Chen
>              Labels: patch
>
> Conditions. 
> 1.  The query loads data into a salted HBase table. 
> 2. The ESP colocation feature is turned on (via CQD TRAF_ALLOW_ESP_COLOCATION 
> 'ON')
> The stack trace is as follows. 
> #7  NAHeap::unlinkLargeFragment (this=0x7fca76a004c8, treeFrag=0x7fca70350ea0)
>     at ../common/NAMemory.cpp:1869
> #8  0x00007fca95a4d463 in unlinkFragment (this=0x7fca76a004c8, addr=<value 
> optimized out>)
>     at ../common/NAMemory.cpp:1957
> #9  NAHeap::deallocateHeapMemory (this=0x7fca76a004c8, addr=<value optimized 
> out>)
>     at ../common/NAMemory.cpp:3625
> #10 0x00007fca90b17aba in NodeMap::getPopularNodeNumber (this=0x7fca73b73de8, 
>     beginPos=<value optimized out>, endPos=5) at ../optimizer/NodeMap.cpp:1305
> #11 0x00007fca90bef2eb in FileScan::synthHbaseScanPhysicalProperty 
> (this=0x7fca7034e0b8, 
>     context=0x7fca7034a700, planNumber=<value optimized out>, 
> sortOrderVEG=...)
>     at ../optimizer/OptPhysRelExpr.cpp:15046
> #12 0x00007fca90bf2f70 in FileScan::synthPhysicalProperty 
> (this=0x7fca7034e0b8, 
>     myContext=0x7fca7034a700, planNumber=-1, pws=<value optimized out>)
> Root cause analysis.  During compilation for the load transform query, the 
> partition function for scans is range partitioned. The node ID field in the 
> node map for a range partitioning function is always -1.   In the method to 
> find out the most populate node for an ESP, the node Id value of -1 is used 
> to access the -1th entry in the frequency array. Hence the crash. 
> Repair: the Node Id population logic is moved to createNodeMapForHbase() and 
> all code paths to create a node map for HBase table will go through the 
> function.  In addition, a check is added to prevent writing to the -1th entry 
> in the array. 
> Workaround: turn off the CQD (set to 'off'). 



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

Reply via email to