Steve,
I have tried more runs, both on disk and using an in-memory (hopefully
faster so the problem arises earlier). No luck, no more failures seen.
1/ Could help me understand the test structure some more?
ReaderWriterTest does some setup to fill the two reader graphs. The
threads are kicked off:
* the readers (2 of them), doing listStatements on their respective graphs
* the writer (1 of) doing two WRITE transactions, one to full it's graph
and one to delete all it's data.
Are the numbers of readers/writers critical?
2/ At the crash point is it always:
fromRec=0000000000000000000000000000000000000000000000000000000000000000
toRec=0000000000000001000000000000000000000000000000000000000000000000
?
This is always the listStatements of the first reader (reader 2). It's
the NodeId=0 allocated in ReaderWriterTest setup on the first triple
added - it will be the nodeid for the graph name.
3/ Could you run with the following changes:
3a/ Set SystemTDB.NullOut = true very early e.g.
public static void main(String[] args) {
SystemTDB.NullOut = true ;
3b/ model.listStatements() , not using the SimpleSelector
Sorry I haven't a test setup - all my trying to find possible better
test cases hasn't got anywhere.
Do you have other test cases that illustrate the issue?
Andy
On 29/01/14 12:26, Steve Groeger wrote:
Andy,
Adding the code as mentioned in your earlier post I get the following:
RecordRangeIterator.iterator -- No such block (pageId=117440534,
fromRec=0000000000000000000000000000000000000000000000000000000000000000,
toRec=0000000000000001000000000000000000000000000000000000000000000000)
Thanks
Steve Groeger
From: Andy Seaborne <a...@apache.org>
To: users@jena.apache.org,
Date: 26/01/2014 19:57
Subject: Re: BlockException: No such block
Steve,
I'm not getting systematic failures, even after running multiple times
for well over 4 hours. I saw one failure but had several runs with no
failure at all. Looks like my setup does not have the right timing.
I've changed the internal exception point to print (stderr) some details
and exit the VM:
if ( ! pageMgr.valid(pageId) ) {
String msg =
"RecordRangeIterator.iterator -- No such block (pageId="+
pageId+
", fromRec="+fromRec+", toRec="+toRec+ ")" ;
System.err.println(msg) ;
System.exit(0) ;
throw new BlockException(msg) ;
}
Do you have some test servers you could run your test code with the
development Jena? Ideally, running multiple tests so we build up a
number of outcomes to see if there is a pattern.
https://repository.apache.org/content/repositories/snapshots/org/apache/jena/
apache-jena/2.11.2-SNAPSHOT for a binary build or use maven directly on
apache-jena-libs.
The other thing that may well be needed is a more sensitive test case.
Running in the debugger is too slow to be practical.
What other patterns of transactions have you tried?
Andy
On 24/01/14 16:00, Steve Groeger wrote:
Andy,
I am currently running with the TDB being written to my harddrive (of my
Linux RHEL 64bit machine). This failure can sometimes take up to 3-4
hours
before it fails.
I have tried using a RAM disk but it fills up before the failure occurs
as
I can only give it 10Gb of space and due the test the TDB does get very
large due to all the creates & deletes.
I am running on RHEL 6.4 with the following JVM:
java version "1.6.0"
Java(TM) SE Runtime Environment (build
pxa6460sr15-20131017_01(SR15))
IBM J9 VM (build 2.4, JRE 1.6.0 IBM J9 2.4 Linux amd64-64
jvmxa6460sr15-20131016_170922 (JIT enabled, AOT enabled)
J9VM - 20131016_170922
JIT - r9_20130920_46510ifx2
GC - GA24_Java6_SR15_20131016_1337_B170922)
JCL - 20131015_01
Thanks
Steve Groeger
IBM WebSphere Service Registry Development
MP 211, Hursley
Tel: (44) 1962 816911 Mobex: 279990 Mobile: 07718 517 129
Fax (44) 1962 816800
Lotus Notes: Steve Groeger/UK/IBM
Internet: groe...@uk.ibm.com
From: Andy Seaborne <a...@apache.org>
To: users@jena.apache.org,
Date: 24/01/2014 13:57
Subject: Re: BlockException: No such block
On 24/01/14 07:18, Steve Groeger wrote:
It took 16690 iterations of the writer thread to obtain this error but
as
you can see the reader thread gets the exception when trying to execute
this line:
How long in time did that take? As it may be a timing issue, do you
have an SSD?
Running
java version "1.7.0_51"
OpenJDK Runtime Environment (IcedTea 2.4.4)
(7u51-2.4.4-0ubuntu0.13.10.1)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)
Andy
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU