[
https://issues.apache.org/jira/browse/JENA-230?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andy Seaborne resolved JENA-230.
--------------------------------
Resolution: Fixed
Fix Version/s: Fuseki 0.2.2
Assignee: Andy Seaborne
Please test and report.
> Running queries during graph PUT leads to PUT failing
> -----------------------------------------------------
>
> Key: JENA-230
> URL: https://issues.apache.org/jira/browse/JENA-230
> Project: Apache Jena
> Issue Type: Bug
> Components: Fuseki
> Affects Versions: Fuseki 0.2.1
> Environment: Macosx.
> Reporter: Bill Roberts
> Assignee: Andy Seaborne
> Fix For: Fuseki 0.2.2
>
>
> 1. create empty dir for TDB and start fuseki with that directory as the
> tdb:location
> 2. PUT a small file to the graph protocol endpoint
> curl -v -H "Content-Type: text/turtle" --upload-file small.ttl
> http://localhost:3030/crashtest/data?graph=http://test1
> 3. Run a count of all triples (this step not necessary to reproduce, but just
> a baseline check to compare against later stages).
> select (count(*) as ?c) where {?s ?p ?o}
> Answer in my case is 25 (as expected)
> 4. PUT a big file
> curl -v -H "Content-Type: text/turtle" --upload-file big.ttl
> http://localhost:3030/crashtest/data?graph=http://test2
> (big enough that it takes at least several seconds to load, so you have time
> to run some other stuff. My example was about 200,000 triples)
> 5. Before it finishes, run the count query another 2 or more times.
> It comes back with 25 each time. So far so good.
> 6. After the big file load is finished (check for 201 Created in log), run
> the count again.
> This is where the problem is evident: the count still shows 25, when it
> should show 200,000 or so.
> (Probably not significant, but my small test file has a few blank nodes in
> it. The big file does not).
> ls -l of the TDB dir shows lots of data still in nodes.dat-jrnl. The log
> includes the line:
> "WARN TDB :: Transaction not active: 5"
> (full copy of the log below)
> Going through the same procedure without running the COUNTs mentioned in
> stage 5, then everything goes smoothly.
> I'd be interested to hear if anyone else can reproduce this - and of course
> to hear what you think might be wrong!
> Many thanks
> Bill
> Details:
> OS: Macosx 10.6.8
> fuseki-server --version
> ------------------------------
> Jena: VERSION: 2.7.0-incubating
> Jena: BUILD_DATE: 2011-12-14T14:54:09+0000
> ARQ: VERSION: 2.9.0-incubating
> ARQ: BUILD_DATE: 2011-12-14T15:04:27+0000
> TDB: VERSION: 0.9.0-incubating
> TDB: BUILD_DATE: 2012-02-29T19:39:52+0000
> Fuseki: VERSION: 0.2.2-incubating-SNAPSHOT
> Fuseki: BUILD_DATE: 20120330-0505
> java -version
> ------------------
> java version "1.6.0_29"
> Java(TM) SE Runtime Environment (build 1.6.0_29-b11-402-10M3527)
> Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02-402, mixed mode)
> Config file:
> ---------------
> @prefix tdb: <http://jena.hpl.hp.com/2008/tdb#> .
> @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
> @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
> @prefix ja: <http://jena.hpl.hp.com/2005/11/Assembler#> .
> @prefix fuseki: <http://jena.apache.org/fuseki#> .
> [] rdf:type fuseki:Server ;
> # Services available. Only explicitly listed services are configured.
> # If there is a service description not linked from this list, it is
> ignored.
> fuseki:services (
> <#service1>
> ) .
> [] ja:loadClass "com.hp.hpl.jena.tdb.TDB" .
> tdb:DatasetTDB rdfs:subClassOf ja:RDFDataset .
> tdb:GraphTDB rdfs:subClassOf ja:Model .
> <#service1> rdf:type fuseki:Service ;
> fuseki:name "crashtest" ; # http://host:port/blah
> fuseki:serviceQuery "query" ; # SPARQL query service
> fuseki:serviceUpdate "update" ; # SPARQL update service
> fuseki:serviceReadWriteGraphStore "data" ; # SPARQL Graph store
> protocol (read and write)
> fuseki:dataset <#dataset-blah> ;
> .
> <#dataset-blah> rdf:type tdb:DatasetTDB ;
> tdb:location "/Users/bill/tdb/crashtest" ;
> # Query timeout on this dataset (1s, 1000 milliseconds)
> ja:context [ ja:cxtName "arq:queryTimeout" ; ja:cxtValue "10000" ] ;
> tdb:unionDefaultGraph true ;
> fuseki log:
> --------------
> 20:23:51 INFO Config :: Configuration file: test.ttl
> 20:23:51 INFO Config :: Service:
> <file:///Users/bill/code/fuseki-0.2.2/test.ttl#service1>
> 20:23:51 INFO Config :: name = crashtest
> 20:23:51 INFO Config :: query = /crashtest/query
> 20:23:51 INFO Config :: update = /crashtest/update
> 20:23:51 INFO Config :: graphStore(RW) = /crashtest/data
> 20:23:52 INFO Server :: Dataset path = /crashtest
> 20:23:52 INFO Server :: Fuseki 0.2.2-incubating-SNAPSHOT
> 20120330-0505
> 20:23:52 INFO Server :: Jetty 7.x.y-SNAPSHOT
> 20:23:52 INFO Server :: Started 2012/04/01 20:23:52 BST on
> port 3030
> 20:24:15 INFO Fuseki :: [1] PUT
> http://localhost:3030/crashtest/data?graph=http://test1
> 20:24:16 INFO Fuseki :: [1] 201 Created
> 20:24:43 INFO Fuseki :: [2] GET
> http://localhost:3030/crashtest/query?query=select+%28count%28*%29+as+%3Fc%29+where+%7B%3Fs+%3Fp+%3Fo%7D+&output=text&stylesheet=%2Fxml-to-html.xsl
> 20:24:43 INFO Fuseki :: [2] Query = select (count(*) as ?c)
> where {?s ?p ?o}
> 20:24:43 INFO Fuseki :: [2] OK/select
> 20:24:43 INFO Fuseki :: [2] 200 OK
> 20:29:12 INFO Fuseki :: [3] PUT
> http://localhost:3030/crashtest/data?graph=http://test2
> 20:29:14 INFO Fuseki :: [4] GET
> http://localhost:3030/crashtest/query?query=select+%28count%28*%29+as+%3Fc%29+where+%7B%3Fs+%3Fp+%3Fo%7D+&output=text&stylesheet=%2Fxml-to-html.xsl
> 20:29:14 INFO Fuseki :: [4] Query = select (count(*) as ?c)
> where {?s ?p ?o}
> 20:29:14 INFO Fuseki :: [4] OK/select
> 20:29:14 INFO Fuseki :: [4] 200 OK
> 20:29:18 INFO Fuseki :: [5] GET
> http://localhost:3030/crashtest/query?query=select+%28count%28*%29+as+%3Fc%29+where+%7B%3Fs+%3Fp+%3Fo%7D+&output=text&stylesheet=%2Fxml-to-html.xsl
> 20:29:18 INFO Fuseki :: [5] Query = select (count(*) as ?c)
> where {?s ?p ?o}
> 20:29:18 INFO Fuseki :: [5] OK/select
> 20:29:18 INFO Fuseki :: [5] 200 OK
> 20:29:28 WARN TDB :: Transaction not active: 5
> 20:29:28 INFO Fuseki :: [3] 201 Created
> 20:29:28 INFO Fuseki :: [6] GET
> http://localhost:3030/crashtest/query?query=select+%28count%28*%29+as+%3Fc%29+where+%7B%3Fs+%3Fp+%3Fo%7D+&output=text&stylesheet=%2Fxml-to-html.xsl
> 20:29:28 INFO Fuseki :: [6] Query = select (count(*) as ?c)
> where {?s ?p ?o}
> 20:29:28 INFO Fuseki :: [6] OK/select
> 20:29:28 INFO Fuseki :: [6] 200 OK
> ls -l crashtest
> ------------------
> drwxr-xr-x 31 bill bill 1054 1 Apr 20:24 ./
> drwxr-xr-x 15 bill bill 510 1 Apr 20:23 ../
> -rw-r--r-- 1 bill bill 16777216 1 Apr 20:29 GOSP.dat
> -rw-r--r-- 1 bill bill 8388608 1 Apr 20:23 GOSP.idn
> -rw-r--r-- 1 bill bill 16777216 1 Apr 20:29 GPOS.dat
> -rw-r--r-- 1 bill bill 8388608 1 Apr 20:23 GPOS.idn
> -rw-r--r-- 1 bill bill 16777216 1 Apr 20:29 GSPO.dat
> -rw-r--r-- 1 bill bill 8388608 1 Apr 20:23 GSPO.idn
> -rw-r--r-- 1 bill bill 8388608 1 Apr 20:23 OSP.dat
> -rw-r--r-- 1 bill bill 8388608 1 Apr 20:23 OSP.idn
> -rw-r--r-- 1 bill bill 16777216 1 Apr 20:29 OSPG.dat
> -rw-r--r-- 1 bill bill 8388608 1 Apr 20:23 OSPG.idn
> -rw-r--r-- 1 bill bill 8388608 1 Apr 20:23 POS.dat
> -rw-r--r-- 1 bill bill 8388608 1 Apr 20:23 POS.idn
> -rw-r--r-- 1 bill bill 16777216 1 Apr 20:29 POSG.dat
> -rw-r--r-- 1 bill bill 8388608 1 Apr 20:23 POSG.idn
> -rw-r--r-- 1 bill bill 8388608 1 Apr 20:23 SPO.dat
> -rw-r--r-- 1 bill bill 8388608 1 Apr 20:23 SPO.idn
> -rw-r--r-- 1 bill bill 16777216 1 Apr 20:29 SPOG.dat
> -rw-r--r-- 1 bill bill 8388608 1 Apr 20:23 SPOG.idn
> -rw-r--r-- 1 bill bill 0 1 Apr 20:24 journal.jrnl
> -rw-r--r-- 1 bill bill 8388608 1 Apr 20:24 node2id.dat
> -rw-r--r-- 1 bill bill 8388608 1 Apr 20:24 node2id.idn
> -rw-r--r-- 1 bill bill 2485 1 Apr 20:24 nodes.dat
> -rw-r--r-- 1 bill bill 5596812 1 Apr 20:29 nodes.dat-jrnl
> -rw-r--r-- 1 bill bill 8388608 1 Apr 20:23 prefix2id.dat
> -rw-r--r-- 1 bill bill 8388608 1 Apr 20:23 prefix2id.idn
> -rw-r--r-- 1 bill bill 8388608 1 Apr 20:23 prefixIdx.dat
> -rw-r--r-- 1 bill bill 8388608 1 Apr 20:23 prefixIdx.idn
> -rw-r--r-- 1 bill bill 0 1 Apr 20:23 prefixes.dat
> -rw-r--r-- 1 bill bill 0 1 Apr 20:24 prefixes.dat-jrnl
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira