You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Uwe Schindler (JIRA)" <ji...@apache.org> on 2015/02/12 14:18:12 UTC

[jira] [Updated] (LUCENE-6242) SparseFixedBitDocIdSet.ramBytesUsed() reports wrong size if alignment of JVM is not 8

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

Uwe Schindler updated LUCENE-6242:
----------------------------------
    Description: 
There seems to be a bug in SparseFixedBitDocIdSet's ramBytesUsed. To me this is a bit crazy implemented, so I have not yet found the issue. To me it looks like some of the summing up breaks if the alignment of the JVM is not 8:

{noformat}
   [junit4] Suite: org.apache.lucene.util.TestSparseFixedBitDocIdSet
   [junit4]   2> NOTE: reproduce with: ant test  -Dtestcase=TestSparseFixedBitDocIdSet -Dtests.method=testRamBytesUsed -Dtests.seed=
C1F3B881CB1C5E8A -Dtests.locale=es_BO -Dtests.timezone=America/Detroit -Dtests.asserts=true -Dtests.file.encoding=ISO-8859-1
   [junit4] FAILURE 0.06s J1 | TestSparseFixedBitDocIdSet.testRamBytesUsed <<<
   [junit4]    > Throwable #1: java.lang.AssertionError: expected:<264> but was:<256>
   [junit4]    >        at __randomizedtesting.SeedInfo.seed([C1F3B881CB1C5E8A:3350AAC1016341DC]:0)
   [junit4]    >        at org.apache.lucene.util.BaseDocIdSetTestCase.testRamBytesUsed(BaseDocIdSetTestCase.java:104)
   [junit4]    >        at java.lang.Thread.run(Thread.java:745)
{noformat}

To reproduce this failure, run inside core (with 64 bits JVM):

{noformat}
ant test -Dtestcase=TestSparseFixedBitDocIdSet -Dtests.method=testRamBytesUsed -Dargs="-XX:ObjectAlignmentInBytes=16" -Dtests.seed=C1F3B881CB1C5E8A
{noformat}

The default works:

{noformat}
ant test -Dtestcase=TestSparseFixedBitDocIdSet -Dtests.method=testRamBytesUsed -Dargs="-XX:ObjectAlignmentInBytes=8" -Dtests.seed=C1F3B881CB1C5E8A
{noformat}

I think we should randomly also specify the ObjectAlignmentInBytes for test runs on Policeman Jenkins. Any Power of 2 is fine.

  was:
There seems to be a bug in SparseFixedBitDocIdSet's ramBytesUsed. To me this is a bit crazy implemented, so I have not yet found the issue. To me it looks like some of the summing up breaks if the alignment of the JVM is not 8:

{noformat}
   [junit4] Suite: org.apache.lucene.util.TestSparseFixedBitDocIdSet
   [junit4]   2> NOTE: reproduce with: ant test  -Dtestcase=TestSparseFixedBitDocIdSet -Dtests.method=testRamBytesUsed -Dtests.seed=
C1F3B881CB1C5E8A -Dtests.locale=es_BO -Dtests.timezone=America/Detroit -Dtests.asserts=true -Dtests.file.encoding=ISO-8859-1
   [junit4] FAILURE 0.06s J1 | TestSparseFixedBitDocIdSet.testRamBytesUsed <<<
   [junit4]    > Throwable #1: java.lang.AssertionError: expected:<264> but was:<256>
   [junit4]    >        at __randomizedtesting.SeedInfo.seed([C1F3B881CB1C5E8A:3350AAC1016341DC]:0)
   [junit4]    >        at org.apache.lucene.util.BaseDocIdSetTestCase.testRamBytesUsed(BaseDocIdSetTestCase.java:104)
   [junit4]    >        at java.lang.Thread.run(Thread.java:745)
{noformat}

To reproduce this failure, run inside core:

{noformat}
ant test -Dtestcase=TestSparseFixedBitDocIdSet -Dtests.method=testRamBytesUsed -Dargs="-XX:ObjectAlignmentInBytes=16" -Dtests.seed=C1F3B881CB1C5E8A
{noformat}

The default works:

{noformat}
ant test -Dtestcase=TestSparseFixedBitDocIdSet -Dtests.method=testRamBytesUsed -Dargs="-XX:ObjectAlignmentInBytes=8" -Dtests.seed=C1F3B881CB1C5E8A
{noformat}

I think we should randomly also specify the ObjectAlignmentInBytes for test runs on Policeman Jenkins. Any Power of 2 is fine.


> SparseFixedBitDocIdSet.ramBytesUsed() reports wrong size if alignment of JVM is not 8
> -------------------------------------------------------------------------------------
>
>                 Key: LUCENE-6242
>                 URL: https://issues.apache.org/jira/browse/LUCENE-6242
>             Project: Lucene - Core
>          Issue Type: Bug
>            Reporter: Uwe Schindler
>
> There seems to be a bug in SparseFixedBitDocIdSet's ramBytesUsed. To me this is a bit crazy implemented, so I have not yet found the issue. To me it looks like some of the summing up breaks if the alignment of the JVM is not 8:
> {noformat}
>    [junit4] Suite: org.apache.lucene.util.TestSparseFixedBitDocIdSet
>    [junit4]   2> NOTE: reproduce with: ant test  -Dtestcase=TestSparseFixedBitDocIdSet -Dtests.method=testRamBytesUsed -Dtests.seed=
> C1F3B881CB1C5E8A -Dtests.locale=es_BO -Dtests.timezone=America/Detroit -Dtests.asserts=true -Dtests.file.encoding=ISO-8859-1
>    [junit4] FAILURE 0.06s J1 | TestSparseFixedBitDocIdSet.testRamBytesUsed <<<
>    [junit4]    > Throwable #1: java.lang.AssertionError: expected:<264> but was:<256>
>    [junit4]    >        at __randomizedtesting.SeedInfo.seed([C1F3B881CB1C5E8A:3350AAC1016341DC]:0)
>    [junit4]    >        at org.apache.lucene.util.BaseDocIdSetTestCase.testRamBytesUsed(BaseDocIdSetTestCase.java:104)
>    [junit4]    >        at java.lang.Thread.run(Thread.java:745)
> {noformat}
> To reproduce this failure, run inside core (with 64 bits JVM):
> {noformat}
> ant test -Dtestcase=TestSparseFixedBitDocIdSet -Dtests.method=testRamBytesUsed -Dargs="-XX:ObjectAlignmentInBytes=16" -Dtests.seed=C1F3B881CB1C5E8A
> {noformat}
> The default works:
> {noformat}
> ant test -Dtestcase=TestSparseFixedBitDocIdSet -Dtests.method=testRamBytesUsed -Dargs="-XX:ObjectAlignmentInBytes=8" -Dtests.seed=C1F3B881CB1C5E8A
> {noformat}
> I think we should randomly also specify the ObjectAlignmentInBytes for test runs on Policeman Jenkins. Any Power of 2 is fine.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org