[ 
https://issues.apache.org/jira/browse/DRILL-5160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15773991#comment-15773991
 ] 

Paul Rogers commented on DRILL-5160:
------------------------------------

Resulting memory leak from the test described in DRILL-5157:

{code}
java.lang.AssertionError: Query state is incorrect (expected: CANCELED, actual: 
FAILED) AND/OR 
Exception thrown: org.apache.drill.common.exceptions.UserRemoteException: 
SYSTEM ERROR: IllegalStateException: Allocator[op:3:0:15:ParquetRowGroupScan] 
closed with outstanding buffers allocated (2).
Allocator(op:3:0:15:ParquetRowGroupScan) 1000000/393216/3162112/10000000000 
(res/actual/peak/limit)
  child allocators: 0
  ledgers: 2
    ledger[3407] allocator: op:3:0:15:ParquetRowGroupScan), isOwning: true, 
size: 131072, references: 1, life: 73148192887288..0, allocatorManager: [3027, 
life: 73148192235794..0] holds 1 buffers. 
        DrillBuf[4949], udle: [3028 0..131072]
    ledger[3471] allocator: op:3:0:15:ParquetRowGroupScan), isOwning: true, 
size: 262144, references: 1, life: 73148451288840..0, allocatorManager: [3091, 
life: 73148451257480..0] holds 1 buffers. 
        DrillBuf[5017], udle: [3092 0..262144]
  reservations: 0


Fragment 3:0

[Error Id: 8502074b-f488-4a14-bf7d-a2a4480392cd on 172.30.1.67:31016]
        at 
org.apache.drill.exec.server.TestDrillbitResilience.assertStateCompleted(TestDrillbitResilience.java:861)
        at 
org.apache.drill.exec.server.TestDrillbitResilience.assertCancelledWithoutException(TestDrillbitResilience.java:876)
        at 
org.apache.drill.exec.server.TestDrillbitResilience.doMemoryLeaksWhenCancelled(TestDrillbitResilience.java:680)
        at 
org.apache.drill.exec.server.TestDrillbitResilience.memoryLeaksWhenCancelled(TestDrillbitResilience.java:647)
        ...
{code}


> Memory leak in Parquet async reader when Snappy fails
> -----------------------------------------------------
>
>                 Key: DRILL-5160
>                 URL: https://issues.apache.org/jira/browse/DRILL-5160
>             Project: Apache Drill
>          Issue Type: Bug
>    Affects Versions: 1.9.0
>            Reporter: Paul Rogers
>            Assignee: Parth Chandra
>
> See the details in DRILL-5157. The Parquet async reader uses the Snappy 
> library. If the call into Snappy fails (in my case, due to missing dependency 
> management in the Drill pom.xml file), the Parquet reader fails (as it 
> should.)
> Unfortunately, the Parquet reader leaks memory which cause 
> {{IllegalStateException}} errors in production, assertion failures in unit 
> tests.
> To reproduce this the easy way (to avoid the need to undo the fix for 
> DRILL-5157 in Snappy dependencies), use Drill's exception injector in inject 
> an exception at the line where we call into Snappy (See DRILL-5157 for 
> details.)
> Set a breakpoint exception for {{IllegalStateException}} you will see the 
> memory leak. 



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

Reply via email to