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 2016/08/12 09:02:20 UTC

[jira] [Assigned] (LUCENE-7409) Look into making mmapdirectory's unmap safer

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

Uwe Schindler reassigned LUCENE-7409:
-------------------------------------

    Assignee: Uwe Schindler

OK,
I take the issue and provide a patch soon. I will combine all commits into one during the merge to master later (although it is Robert's branch).

I am still not sure that the store-store barrier does what we expect, but it has shown that it works better than before. So Robert is right - there are no guarantees, it just proves to be better.

Uwe

> Look into making mmapdirectory's unmap safer
> --------------------------------------------
>
>                 Key: LUCENE-7409
>                 URL: https://issues.apache.org/jira/browse/LUCENE-7409
>             Project: Lucene - Core
>          Issue Type: Improvement
>            Reporter: Robert Muir
>            Assignee: Uwe Schindler
>
> I have seen a few bugs around this recently: of course its a bug in application code but a JVM crash is not good. 
> I think we should see if we can prevent the crashes better than the current weak map, e.g. make it a safer option.
> I made an ugly prototype here: https://github.com/apache/lucene-solr/compare/master...rmuir:ace?expand=1
> It has a test that crashes the JVM without the patch but passes with.
> Hacky patch only implements readBytes() but has no problems with the luceneutil benchmark (1M):
> {noformat}
> Report after iter 19:
>                     Task    QPS base      StdDev   QPS patch      StdDev                Pct diff
>                   IntNRQ      105.23     (17.6%)      100.42     (10.1%)   -4.6% ( -27% -   28%)
>                  Respell      128.35     (13.2%)      125.88      (7.4%)   -1.9% ( -19% -   21%)
>                   Fuzzy1      110.14     (17.2%)      108.28     (13.2%)   -1.7% ( -27% -   34%)
>                LowPhrase      337.02     (13.0%)      333.72      (9.3%)   -1.0% ( -20% -   24%)
>                MedPhrase      146.44     (12.9%)      145.55      (8.0%)   -0.6% ( -19% -   23%)
>              MedSpanNear       96.85     (13.1%)       96.57      (7.8%)   -0.3% ( -18% -   23%)
>             HighSpanNear       95.85     (13.9%)       96.33      (8.2%)    0.5% ( -18% -   26%)
>               HighPhrase      146.84     (13.6%)      148.40      (8.4%)    1.1% ( -18% -   26%)
>                 HighTerm      295.15     (15.8%)      298.77      (9.5%)    1.2% ( -20% -   31%)
>              LowSpanNear      268.80     (12.4%)      272.16      (7.9%)    1.2% ( -16% -   24%)
>                 Wildcard      284.09     (11.7%)      290.91      (8.9%)    2.4% ( -16% -   25%)
>                  Prefix3      212.50     (15.4%)      217.76     (10.0%)    2.5% ( -19% -   32%)
>                OrHighLow      358.65     (15.0%)      368.93     (10.7%)    2.9% ( -19% -   33%)
>               AndHighMed      799.65     (13.2%)      834.74      (7.8%)    4.4% ( -14% -   29%)
>          MedSloppyPhrase      229.36     (15.9%)      239.95      (9.8%)    4.6% ( -18% -   36%)
>                   Fuzzy2       69.58     (14.6%)       72.82     (14.5%)    4.7% ( -21% -   39%)
>              AndHighHigh      426.98     (12.8%)      451.77      (7.3%)    5.8% ( -12% -   29%)
>                  MedTerm     1361.11     (14.5%)     1450.90      (9.2%)    6.6% ( -14% -   35%)
>                 PKLookup      266.61     (13.4%)      284.28      (8.4%)    6.6% ( -13% -   32%)
>         HighSloppyPhrase      251.22     (16.9%)      268.32     (10.7%)    6.8% ( -17% -   41%)
>                OrHighMed      235.92     (17.2%)      253.12     (12.8%)    7.3% ( -19% -   45%)
>               OrHighHigh      186.79     (13.5%)      201.15      (9.7%)    7.7% ( -13% -   35%)
>          LowSloppyPhrase      395.23     (15.9%)      425.93      (9.3%)    7.8% ( -15% -   39%)
>               AndHighLow     1128.28     (14.9%)     1242.11      (8.2%)   10.1% ( -11% -   38%)
>                  LowTerm     3024.62     (12.9%)     3367.65      (9.7%)   11.3% (  -9% -   39%)
> {noformat}
> We should do more testing. Maybe its totally the wrong tradeoff, maybe we only need handles for getters and everything inlines correctly, rather than needing a ton for every getXYZ() method...



--
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