[
https://issues.apache.org/jira/browse/JENA-91?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13089605#comment-13089605
]
Paolo Castagna commented on JENA-91:
------------------------------------
> I notice that if the transaction is READ, the components are always empty,
> so, a READ transaction never really begins. A WRITE transaction seems to
> start the begin fine. Is this how it is supposed to be?
Yep, a READ transaction does not need journals.
Finally, some progress. I did not find the exact bug though. So, no fix yet.
Have a look here http://svn.apache.org/viewvc?view=revision&revision=1160820.
I've just committed Report_JENA91.java (i.e. a small and sequential test which
replicate the "Different ids allocated: expected [...], got [...] " issue. I am
now concentrating on the 'offset' in NoteTableTrans.java and the fact that the
ObjectFile for the node table is "shared".
> extremely large buffer is being created in ObjectFileStorage
> ------------------------------------------------------------
>
> Key: JENA-91
> URL: https://issues.apache.org/jira/browse/JENA-91
> Project: Jena
> Issue Type: Bug
> Components: TDB
> Reporter: Simon Helsen
> Assignee: Andy Seaborne
> Priority: Critical
> Attachments: TestTransSystem.patch, TestTransSystem2.patch,
> TestTransSystem3.patch
>
>
> I tried to debug the OME and check why a bytebuffer is causing my native
> memory to explode in almost no time. It all seems to happen in this bit of
> code in com.hp.hpl.jena.tdb.base.objectfile.ObjectFileStorage (lines 243
> onwards)
> // No - it's in the underlying file storage.
> lengthBuffer.clear() ;
> int x = file.read(lengthBuffer, loc) ;
> if ( x != 4 )
> throw new
> FileException("ObjectFile.read("+loc+")["+filesize+"]["+file.size()+"]:
> Failed to read the length : got "+x+" bytes") ;
> int len = lengthBuffer.getInt(0) ;
> ByteBuffer bb = ByteBuffer.allocate(len) ;
> My debugger shows that x==4. It also shows the lengthBuffer has the following
> content: [111, 110, 61, 95]. This amounts to the value of len=1869495647,
> which is rather a lot :-) Obviously, the next statement (ByteBuffer.allocate)
> causes the OME.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira