You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by "Andy Seaborne (Jira)" <ji...@apache.org> on 2020/11/06 16:27:00 UTC
[jira] [Commented] (JENA-1988) Separating B+ tree into different
Node representations.
[ https://issues.apache.org/jira/browse/JENA-1988?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17227482#comment-17227482 ]
Andy Seaborne commented on JENA-1988:
-------------------------------------
Could you explain what optimization hopes to achieve?
The native NodeTable has a large cache in front of it which benefits read-access, and many literals are encoded into NodeIds and don't hit the storage NodeTableNative.
> Separating B+ tree into different Node representations.
> -------------------------------------------------------
>
> Key: JENA-1988
> URL: https://issues.apache.org/jira/browse/JENA-1988
> Project: Apache Jena
> Issue Type: Question
> Components: TDB
> Affects Versions: Jena 3.16.0
> Reporter: Martin Pekár
> Priority: Blocker
> Labels: features, newbie, performance, test
> Fix For: Jena 3.16.0
>
> Attachments: NodeTableNative.java
>
>
> In a project to optimize the indexing, I am trying to have 4 indexes, one for each Node type (variable, literal, URI and blank). To implement this, I added 4 copies of the _nodeHashToId_ Index instance in the _NodeTableNative_ class. Then, for every operation on the _nodeHashToId_, for example using _containsNode()_ in the NodeTableNative class, I first check the type of Node given as parameter and then check for existence in the appropriate _nodeHashToId_ copy.
> Now, for some reason I get a NullPointerException when running the tests. Many of these exceptions appear in the _BufferChannelFile_ class in the _size()_ method because the call to _file.channel()_ return null.
> My question is then, is _NodeTableNative___ even the right place to implement this optimization, and second, if it is the right place to implement, can you help me understand why this exception is thrown?
--
This message was sent by Atlassian Jira
(v8.3.4#803005)