lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael McCandless (JIRA)" <>
Subject [jira] Commented: (LUCENE-2422) don't reuse byte[] in IndexInput/Output for read/writeString
Date Fri, 30 Apr 2010 09:30:54 GMT


Michael McCandless commented on LUCENE-2422:

bq. Mike - this patch is against an old revision? 

Yes, sorry, the patch applies to 2.9.x.  I think we should fix it in 2.9.x (and all branches
after -- 3.0, trunk).

In trunk these reused byte[] have been moved to DataInput/Output.

> don't reuse byte[] in IndexInput/Output for read/writeString
> ------------------------------------------------------------
>                 Key: LUCENE-2422
>                 URL:
>             Project: Lucene - Java
>          Issue Type: Bug
>            Reporter: Michael McCandless
>            Assignee: Michael McCandless
>             Fix For: 2.9.3, 3.0.2, 3.1, 4.0.0
>         Attachments: LUCENE-2422.patch
> IndexInput now holds a private "byte[] bytes", which it re-uses for reading strings.
 Likewise, IndexOutput holds a UTF8Result (which holds "byte[] bytes"), re-used for writing
> These are both dangerous, since on reading or writing immense strings, we never free
this storage.
> We don't use read/writeString in very perf sensitive parts of the code, so, I think we
should not reuse the byte[] at all.
> I think this is likely the cause of the recent "IndexWriter and memory usage" thread,
started by Ross Woolf on java-user@.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message