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 2012/07/12 20:23:34 UTC
[jira] [Closed] (JENA-230) Running queries during graph PUT leads
to PUT failing
[ https://issues.apache.org/jira/browse/JENA-230?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andy Seaborne closed JENA-230.
------------------------------
> 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