[
https://issues.apache.org/jira/browse/JENA-81?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16507024#comment-16507024
]
ASF GitHub Bot commented on JENA-81:
------------------------------------
Github user afs commented on the issue:
https://github.com/apache/jena/pull/431
The diff may not make this clear but the old `GraphPrefixesProjection` is
replaced by `GraphPrefixesProjectionTDB` as it noted "Despite the name "TDB"
this is general replacement for DatasetPrefixStorage".
`PrefixMappingBase` is a new `PrefixMapping` base class:
`PrefixMappingImpl` has hidden state and its extension mechanism is too
limited, causing measurably expensive usage due to
[JENA-81|https://issues.apache.org/jira/browse/JENA-81] when working with a lot
of prefixes (100+).
The changes in `PrefixMappingImpl` are limited to using `ConcurrentHashMap`
instead of `HashMap` - that does not make the class multi-thread-consistent but
does address multi-thread access to `HashMap`s.
> Partial failure to see prefixes in persistent storage
> -----------------------------------------------------
>
> Key: JENA-81
> URL: https://issues.apache.org/jira/browse/JENA-81
> Project: Apache Jena
> Issue Type: Bug
> Components: Jena, TDB
> Reporter: Andy Seaborne
> Assignee: Andy Seaborne
> Priority: Minor
> Fix For: Jena 2.11.0
>
> Attachments: Report_Prefixes.java
>
>
> PrefixMappingImpl only looks in its local data structures to service
> findMapping. findMapping is private.
> But calls to get() are used to cache prefixes from persistent store so a
> findmMappign call before touching a prefix wil casuse findMapping not to find
> it.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)