You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jon Meredith (JIRA)" <ji...@apache.org> on 2018/09/25 21:18:00 UTC

[jira] [Updated] (CASSANDRA-14790) LongBufferPoolTest burn test fails assertion

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

Jon Meredith updated CASSANDRA-14790:
-------------------------------------
    Description: 
The LongBufferPoolTest from the burn tests fails with an assertion error.  I added a build target to run individual burn tests, and \{jasobrown} gave a fix for the uninitialized test setup (attached), however the test now fails on an assertion about recycling buffers.

To reproduce (with patch applied)


{{ ant burn-testsome -Dtest.name=org.apache.cassandra.utils.memory.LongBufferPoolTest -Dtest.methods=testAllocate}}

Output

{{    [junit] Testcase: testAllocate(org.apache.cassandra.utils.memory.LongBufferPoolTest): FAILED

    [junit] null

    [junit] junit.framework.AssertionFailedError

    [junit] at org.apache.cassandra.utils.memory.BufferPool$Debug.check(BufferPool.java:204)

    [junit] at org.apache.cassandra.utils.memory.BufferPool.assertAllRecycled(BufferPool.java:181)

    [junit] at org.apache.cassandra.utils.memory.LongBufferPoolTest.testAllocate(LongBufferPoolTest.java:350)

    [junit] at org.apache.cassandra.utils.memory.LongBufferPoolTest.testAllocate(LongBufferPoolTest.java:54)}}

All major branches from 3.0 and later have issues, however the trunk branch also warns about references not being released before the reference is garbage collected.

{{  [junit] ERROR [Reference-Reaper:1] 2018-09-25 13:59:54,089 Ref.java:224 - LEAK DETECTED: a reference (org.apache.cassandra.utils.concurrent.Ref$State@7f58d19a) to @623704362 was not released before the reference was garbage collected
 [junit] ERROR [Reference-Reaper:1] 2018-09-25 13:59:54,089 Ref.java:255 - Allocate trace org.apache.cassandra.utils.concurrent.Ref$State@7f58d19a:
 [junit] Thread[pool-2-thread-24,5,main]
 [junit] at java.lang.Thread.getStackTrace(Thread.java:1559)
 [junit] at org.apache.cassandra.utils.concurrent.Ref$Debug.<init>(Ref.java:245)
 [junit] at org.apache.cassandra.utils.concurrent.Ref$State.<init>(Ref.java:175)
 [junit] at org.apache.cassandra.utils.concurrent.Ref.<init>(Ref.java:97)
 [junit] at org.apache.cassandra.utils.memory.BufferPool$Chunk.setAttachment(BufferPool.java:663)
 [junit] at org.apache.cassandra.utils.memory.BufferPool$Chunk.get(BufferPool.java:803)
 [junit] at org.apache.cassandra.utils.memory.BufferPool$Chunk.get(BufferPool.java:793)
 [junit] at org.apache.cassandra.utils.memory.BufferPool$LocalPool.get(BufferPool.java:388)
 [junit] at org.apache.cassandra.utils.memory.BufferPool.maybeTakeFromPool(BufferPool.java:143)
 [junit] at org.apache.cassandra.utils.memory.BufferPool.takeFromPool(BufferPool.java:115)
 [junit] at org.apache.cassandra.utils.memory.BufferPool.get(BufferPool.java:85)
 [junit] at org.apache.cassandra.utils.memory.LongBufferPoolTest$3.allocate(LongBufferPoolTest.java:296)
 [junit] at org.apache.cassandra.utils.memory.LongBufferPoolTest$3.testOne(LongBufferPoolTest.java:246)
 [junit] at org.apache.cassandra.utils.memory.LongBufferPoolTest$TestUntil.call(LongBufferPoolTest.java:399)
 [junit] at org.apache.cassandra.utils.memory.LongBufferPoolTest$TestUntil.call(LongBufferPoolTest.java:379)
 [junit] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
 [junit] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
 [junit] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
 [junit] at java.lang.Thread.run(Thread.java:748)

}}

Perhaps the environment is not being set up correctly for the tests.
  

  was:
The LongBufferPoolTest from the burn tests fails with an assertion error.  I added a build target to run individual burn tests, and \{jasobrown} gave a fix for the uninitialized test setup (attached), however the test now fails on an assertion about recycling buffers.

To reproduce (with patch applied)

{{
ant burn-testsome -Dtest.name=org.apache.cassandra.utils.memory.LongBufferPoolTest -Dtest.methods=testAllocate
}}

Output

{{

    [junit] Testcase: testAllocate(org.apache.cassandra.utils.memory.LongBufferPoolTest): FAILED

    [junit] null

    [junit] junit.framework.AssertionFailedError

    [junit] at org.apache.cassandra.utils.memory.BufferPool$Debug.check(BufferPool.java:204)

    [junit] at org.apache.cassandra.utils.memory.BufferPool.assertAllRecycled(BufferPool.java:181)

    [junit] at org.apache.cassandra.utils.memory.LongBufferPoolTest.testAllocate(LongBufferPoolTest.java:350)

    [junit] at org.apache.cassandra.utils.memory.LongBufferPoolTest.testAllocate(LongBufferPoolTest.java:54)}}

All major branches from 3.0 and later have issues, however the trunk branch also warns about references not being released before the reference is garbage collected.

{{

     [junit] ERROR [Reference-Reaper:1] 2018-09-25 13:59:54,089 Ref.java:224 - LEAK DETECTED: a reference (org.apache.cassandra.utils.concurrent.Ref$State@7f58d19a) to @623704362 was not released before the reference was garbage collected
    [junit] ERROR [Reference-Reaper:1] 2018-09-25 13:59:54,089 Ref.java:255 - Allocate trace org.apache.cassandra.utils.concurrent.Ref$State@7f58d19a:
    [junit] Thread[pool-2-thread-24,5,main]
    [junit] 	at java.lang.Thread.getStackTrace(Thread.java:1559)
    [junit] 	at org.apache.cassandra.utils.concurrent.Ref$Debug.<init>(Ref.java:245)
    [junit] 	at org.apache.cassandra.utils.concurrent.Ref$State.<init>(Ref.java:175)
    [junit] 	at org.apache.cassandra.utils.concurrent.Ref.<init>(Ref.java:97)
    [junit] 	at org.apache.cassandra.utils.memory.BufferPool$Chunk.setAttachment(BufferPool.java:663)
    [junit] 	at org.apache.cassandra.utils.memory.BufferPool$Chunk.get(BufferPool.java:803)
    [junit] 	at org.apache.cassandra.utils.memory.BufferPool$Chunk.get(BufferPool.java:793)
    [junit] 	at org.apache.cassandra.utils.memory.BufferPool$LocalPool.get(BufferPool.java:388)
    [junit] 	at org.apache.cassandra.utils.memory.BufferPool.maybeTakeFromPool(BufferPool.java:143)
    [junit] 	at org.apache.cassandra.utils.memory.BufferPool.takeFromPool(BufferPool.java:115)
    [junit] 	at org.apache.cassandra.utils.memory.BufferPool.get(BufferPool.java:85)
    [junit] 	at org.apache.cassandra.utils.memory.LongBufferPoolTest$3.allocate(LongBufferPoolTest.java:296)
    [junit] 	at org.apache.cassandra.utils.memory.LongBufferPoolTest$3.testOne(LongBufferPoolTest.java:246)
    [junit] 	at org.apache.cassandra.utils.memory.LongBufferPoolTest$TestUntil.call(LongBufferPoolTest.java:399)
    [junit] 	at org.apache.cassandra.utils.memory.LongBufferPoolTest$TestUntil.call(LongBufferPoolTest.java:379)
    [junit] 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    [junit] 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    [junit] 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    [junit] 	at java.lang.Thread.run(Thread.java:748)

}}

Perhaps the environment is not being set up correctly for the tests.
 


> LongBufferPoolTest burn test fails assertion
> --------------------------------------------
>
>                 Key: CASSANDRA-14790
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14790
>             Project: Cassandra
>          Issue Type: Test
>          Components: Testing
>         Environment: Run under macOS 10.13.6, with patch (attached, but also https://github.com/jonmeredith/cassandra/tree/failing-burn-test)
>            Reporter: Jon Meredith
>            Priority: Major
>         Attachments: 0001-Add-burn-testsome-target-to-build.xml.patch, 0002-Initialize-before-running-LongBufferPoolTest.patch
>
>
> The LongBufferPoolTest from the burn tests fails with an assertion error.  I added a build target to run individual burn tests, and \{jasobrown} gave a fix for the uninitialized test setup (attached), however the test now fails on an assertion about recycling buffers.
> To reproduce (with patch applied)
> {{ ant burn-testsome -Dtest.name=org.apache.cassandra.utils.memory.LongBufferPoolTest -Dtest.methods=testAllocate}}
> Output
> {{    [junit] Testcase: testAllocate(org.apache.cassandra.utils.memory.LongBufferPoolTest): FAILED
>     [junit] null
>     [junit] junit.framework.AssertionFailedError
>     [junit] at org.apache.cassandra.utils.memory.BufferPool$Debug.check(BufferPool.java:204)
>     [junit] at org.apache.cassandra.utils.memory.BufferPool.assertAllRecycled(BufferPool.java:181)
>     [junit] at org.apache.cassandra.utils.memory.LongBufferPoolTest.testAllocate(LongBufferPoolTest.java:350)
>     [junit] at org.apache.cassandra.utils.memory.LongBufferPoolTest.testAllocate(LongBufferPoolTest.java:54)}}
> All major branches from 3.0 and later have issues, however the trunk branch also warns about references not being released before the reference is garbage collected.
> {{  [junit] ERROR [Reference-Reaper:1] 2018-09-25 13:59:54,089 Ref.java:224 - LEAK DETECTED: a reference (org.apache.cassandra.utils.concurrent.Ref$State@7f58d19a) to @623704362 was not released before the reference was garbage collected
>  [junit] ERROR [Reference-Reaper:1] 2018-09-25 13:59:54,089 Ref.java:255 - Allocate trace org.apache.cassandra.utils.concurrent.Ref$State@7f58d19a:
>  [junit] Thread[pool-2-thread-24,5,main]
>  [junit] at java.lang.Thread.getStackTrace(Thread.java:1559)
>  [junit] at org.apache.cassandra.utils.concurrent.Ref$Debug.<init>(Ref.java:245)
>  [junit] at org.apache.cassandra.utils.concurrent.Ref$State.<init>(Ref.java:175)
>  [junit] at org.apache.cassandra.utils.concurrent.Ref.<init>(Ref.java:97)
>  [junit] at org.apache.cassandra.utils.memory.BufferPool$Chunk.setAttachment(BufferPool.java:663)
>  [junit] at org.apache.cassandra.utils.memory.BufferPool$Chunk.get(BufferPool.java:803)
>  [junit] at org.apache.cassandra.utils.memory.BufferPool$Chunk.get(BufferPool.java:793)
>  [junit] at org.apache.cassandra.utils.memory.BufferPool$LocalPool.get(BufferPool.java:388)
>  [junit] at org.apache.cassandra.utils.memory.BufferPool.maybeTakeFromPool(BufferPool.java:143)
>  [junit] at org.apache.cassandra.utils.memory.BufferPool.takeFromPool(BufferPool.java:115)
>  [junit] at org.apache.cassandra.utils.memory.BufferPool.get(BufferPool.java:85)
>  [junit] at org.apache.cassandra.utils.memory.LongBufferPoolTest$3.allocate(LongBufferPoolTest.java:296)
>  [junit] at org.apache.cassandra.utils.memory.LongBufferPoolTest$3.testOne(LongBufferPoolTest.java:246)
>  [junit] at org.apache.cassandra.utils.memory.LongBufferPoolTest$TestUntil.call(LongBufferPoolTest.java:399)
>  [junit] at org.apache.cassandra.utils.memory.LongBufferPoolTest$TestUntil.call(LongBufferPoolTest.java:379)
>  [junit] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>  [junit] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>  [junit] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>  [junit] at java.lang.Thread.run(Thread.java:748)
> }}
> Perhaps the environment is not being set up correctly for the tests.
>   



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org