JENA-1104 suggests there is a ordering/timing issue and that it is not Fuseki1/Fuseki2 expect that things happen in a different order.

I'm not sure that a shared index across two different datasets will work if updates are involved. Maybe someone else can help with that.

What's fuseki:allowTimeoutOverride? Is this a local build with the code for that uncommented out?

        Andy

On 21/12/15 14:53, Brian McBride wrote:
The fuseki configuration below sets up two services with a shared
dataset.  The dataset has a lucene text index.

This configuration works on Fuseki 1.3.1.  Fuseki 2.3.1 fails to start.
The log output is shown below.  Looks like the lucene index may be
trying to grab a lock for the dataset twice.

If I change the second fuseki:dataset line to:

[[
     fuseki:dataset                        <#ds> ;
]]

then it works on Fuseki 2.3.1 and  Unexpectedly both services have
access to the text index, which doesn't seem right, thought suits me for
the moment as I need both services to have access to the index.

Is there some configuration change I need to make between Fuseki 1 and
Fuseki 2?

Brian



Fuseki 2.3.1 log output

[[
2015-12-21 14:42:20.940 WARN  Config               :: Fuseki v2:
Management functions are always on the same port as the server.
--mgtPort ignored.
2015-12-21 14:42:21.062 INFO  Server               :: Fuseki 2.3.1
2015-12-08T09:24:07+0000
2015-12-21 14:42:21.229 INFO  Config               ::
FUSEKI_HOME=/usr/share/fuseki
2015-12-21 14:42:21.230 INFO  Config               ::
FUSEKI_BASE=/etc/fuseki
2015-12-21 14:42:21.233 INFO  Servlet              :: Initializing Shiro
environment
2015-12-21 14:42:21.233 INFO  EnvironmentLoader    :: Starting Shiro
environment initialization.
2015-12-21 14:42:21.242 INFO  Config               :: Shiro file:
file:///etc/fuseki/shiro.ini
2015-12-21 14:42:21.415 INFO  EnvironmentLoader    :: Shiro environment
initialized in 181 ms.
2015-12-21 14:42:21.415 INFO  Config               :: Configuration
file: /etc/fuseki/config.ttl
2015-12-21 14:42:22.193 WARN  AssemblerHelp        :: ja:loadClass:
Migration to Jena3: Converting com.hp.hpl.jena.tdb.TDB to
org.apache.jena.tdb.TDB
2015-12-21 14:42:23.557 ERROR Server               :: Exception in
initialization: caught:
org.apache.lucene.store.LockObtainFailedException: Lock obtain timed
out: NativeFSLock@/var/lib/fuseki/databases/ds-lucene/write.lock
2015-12-21 14:42:23.577 INFO  Server               :: Started 2015/12/21
14:42:23 UTC on port 3030

]]



Fuseki configuration.

[[

# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0

@prefix :        <#> .
@prefix fuseki:  <http://jena.apache.org/fuseki#> .
@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix tdb:     <http://jena.hpl.hp.com/2008/tdb#> .
@prefix ja:      <http://jena.hpl.hp.com/2005/11/Assembler#> .

[] rdf:type fuseki:Server ;

    fuseki:services (
      <#service_ds>
      <#service_ds_timeout_override>
    ) .

# TDB
[] ja:loadClass "com.hp.hpl.jena.tdb.TDB" .
tdb:DatasetTDB  rdfs:subClassOf  ja:RDFDataset .
tdb:GraphTDB    rdfs:subClassOf  ja:Model .



<#service_ds> rdf:type fuseki:Service ;
     rdfs:label                             "TDB Service (RW)" ;
     fuseki:name                            "ds" ;
     fuseki:serviceQuery                    "query" ;
     fuseki:dataset                         <#ds-with-lucene> ;
     .

<#service_ds_timeout_override>
     rdfs:label                            "TDB Service Query with
timeout override" ;
     fuseki:name                           "ds_to" ;
     fuseki:allowTimeoutOverride           true;
     fuseki:serviceQuery                   "query" ;
     fuseki:dataset                        <#ds-with-lucene> ;
     .

<#ds> rdf:type      tdb:DatasetTDB ;
                       tdb:location   "/var/lib/fuseki/databases/ds" ;
      .


@prefix text:    <http://jena.apache.org/text#> .

[] ja:loadClass       "org.apache.jena.query.text.TextQuery" .
text:TextDataset      rdfs:subClassOf   ja:RDFDataset .
text:TextIndexLucene  rdfs:subClassOf   text:TextIndex .


<#ds-with-lucene>
     rdf:type     text:TextDataset;
     text:dataset   <#ds> ;
     text:index     <#indexLucene> ;
     .

<#indexLucene> a text:TextIndexLucene ;
     text:directory <file:///var/lib/fuseki/databases/ds-lucene>;
     text:entityMap <#entMap> ;
     .

<#entMap> a text:EntityMap ;
     text:entityField      "uri" ;
     text:defaultField     "text" ;
     text:map (
          [
            text:field "text" ;
            text:predicate rdfs:label ;
          ]
          ) .
]]


Reply via email to