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

Reply via email to