On 16/12/15 18:50, Bruno P. Kinoshita wrote:
I can spin off a Centos 7 VM to give it a try, but my guess is that 
/opt/apache-jena-fuseki-2.3.1 is the directory is /opt/fuseki is a symlink.
Some commands may get confused with symlinks, or may require special 
permissions. In this case, we could use the directory instead of the symlink to 
avoid this problem (e.g. pwd -P instead of pwd, or use readlink).
CheersBruno


Good point. I checked and don't see any symlink resolution - the server uses Path.toAbsolutePath in java and I tested to see if that does symlink resolution and it doesn't appear to.

See Brian's message - looks like the same thing.

So what I think is happening is that the defaults script and in Java, if the environment variables aren't set end up the same.

The java default are FUSEKI_HOME -> "." and FUSEKI_BASE -> "run" and the code calls Path.toAbsolutePath.


The script cd's FUSEKI_HOME then exec's the java process so FUSEKI_HOME is respected but FUSEKI_BASE is not.

(This is not when running as a WAR file.)

The script needs to always export FUSEKI_HOME, export FUSEKI_BASE.

That it agrees with Joachim's report.

JENA-1099

        Andy

       From: Andy Seaborne <[email protected]>
  To: [email protected]
  Sent: Thursday, 17 December 2015 7:02 AM
  Subject: Re: Fuseki service startup environment on Centos 7

Not sure what's happening.

On 16/12/15 12:01, Neubert, Joachim wrote:
I'm playing with Fuseki 2.3.1 on Centos 7.2, which is based on systemd. Despite that, the 
"fuseki" init script should work.

FUSEKI_HOME and FUSEKI_BASE are set explicitly in /etc/defaults/fuseki. 
(/opt/fuseki is a symlink to /opt/apache-jena-fuseki-2.3.1)


Are they set and exported or just set?

The script does not seem to export them. It should - but
/etc/defaults/fuseki is simply a sourced file so you can export there.

The DEBUG output of the script reports:

Which version of the script are you running because the output below
does not quite correspond to the script I'm looking at?

(The dev version omits the FUSEKI_BASE (it shoudln't), and the layout is
different)


FUSEKI_HOME = /opt/fuseki
FUSEKI_BASE = /etc/fuseki
FUSEKI_CONF =
FUSEKI_RUN = /var/run
FUSEKI_PID = /var/run/fuseki.pid
FUSEKI_ARGS =
FUSEKI_START = /opt/fuseki/fuseki-server.jar
FUSEKI_CLASSES =
CONFIGS =

However, /etc/fuseki/logs/stderrout.log shows:

[2015-12-16 12:50:13] Server    INFO  Fuseki 2.3.1 2015-12-08T09:24:07+0000
[2015-12-16 12:50:13] Config    INFO  
FUSEKI_HOME=/opt/apache-jena-fuseki-2.3.1/.
[2015-12-16 12:50:13] Config    INFO  
FUSEKI_BASE=/opt/apache-jena-fuseki-2.3.1/run

Now - when I set

export FUSEKI_HOME=/opt/fuseki
export FUSEKI_BASE=/etc/fuseki

in my interactive bash shell, and invoke the init script again, fuseki is 
loaded correctly, including the services in /etc/fuseki/configuration.

Not sure if this is related to systemd, or if I missed something completely 
unrelated - did anybody else see similar errors?

I doubt it's systemd.



Cheers, Joachim



     Andy





Reply via email to