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