[
https://issues.apache.org/jira/browse/LUCENE-5463?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13910923#comment-13910923
]
Uwe Schindler commented on LUCENE-5463:
---------------------------------------
Yes. Sorry for consufeness.
My problem was the String size method which was not correct:
- In Java 6, substrings share the same array like the original. It just
allocates a new String object with a different offset and size, but the same
underlying array. This may cause problems like we have seen in the test
- In Java 7+, substrings are copied, so this is no longer an issue. But we
still cannot be sure about memory requirements, because Strings may have a
different internal layout.
> Make RamUsageEstimator.(human)sizeOf(Object) a forbidden API
> ------------------------------------------------------------
>
> Key: LUCENE-5463
> URL: https://issues.apache.org/jira/browse/LUCENE-5463
> Project: Lucene - Core
> Issue Type: Task
> Reporter: Adrien Grand
> Assignee: Adrien Grand
> Fix For: 4.8
>
> Attachments: LUCENE-5463-2.patch, LUCENE-5463-2.patch,
> LUCENE-5463.patch, LUCENE-5463.patch
>
>
> We have had a few issues with {{RamUsageEstimator}} recently so I think we
> should consider making the {{sizeOf(Object)}} and {{humanSizeOf(Object)}}
> methods forbidden under src/java (however still allowed for tests as it is
> handy to check the size computations which are done "manually"). However,
> {{sizeOf(byte[])}}, {{shallowSizeOf(Class)}}, etc. remain useful so I think
> we should keep them allowed.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]