[ 
https://issues.apache.org/jira/browse/JENA-612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14259403#comment-14259403
 ] 

Hudson commented on JENA-612:
-----------------------------

SUCCESS: Integrated in Jena_New_Tests #169 (See 
[https://builds.apache.org/job/Jena_New_Tests/169/])
JENA-612 : Catch stdout and stderr : This closes #13 (andy: rev 
03342b1aaf8a0b7cb33516aaf5aa24582e5ab6bd)
* jena-fuseki2/fuseki
* jena-fuseki/fuseki


> Fuseki does not log an error when failing to open a TDB dataset
> ---------------------------------------------------------------
>
>                 Key: JENA-612
>                 URL: https://issues.apache.org/jira/browse/JENA-612
>             Project: Apache Jena
>          Issue Type: Improvement
>          Components: Fuseki
>    Affects Versions: Fuseki 1.0.0
>            Reporter: Ian Dickinson
>            Assignee: Andy Seaborne
>            Priority: Minor
>             Fix For: Fuseki 1.1.2, Fuseki 2.0.0
>
>
> Steps to recreate:
> 1. Create a TDB dataset owned by user A, with no write permission for other 
> or group.
> 2. Start fuseki via start-stop-daemon, per the fuseki init.d script provided 
> in the distribution, with $FUSEKI_USER set to be a user other than A and 
> --loc pointing to the dataset from step 1.
> 3. Fuseki starts, but then silently dies with no diagnostic.
> Analysis
> The --background flag in the start-stop-daemon call causes all stdout and 
> stderr output to get silently swallowed. Fuseki does not log the failure to 
> open the dataset to the log file, so the effect is that the daemon process 
> terminates with no obvious explanation or diagnostic.
> What I would like to happen:
> Catch the FileException and make an entry in the Fuseki log.
> Stack trace for reference:
> com.hp.hpl.jena.tdb.base.file.FileException: Failed to open: 
> /var/data-stores/transport/tdb/node2id.idn (mode=rw)
>       at 
> com.hp.hpl.jena.tdb.base.file.ChannelManager.open$(ChannelManager.java:82)
>       at 
> com.hp.hpl.jena.tdb.base.file.ChannelManager.openref$(ChannelManager.java:56)
>       at 
> com.hp.hpl.jena.tdb.base.file.ChannelManager.acquire(ChannelManager.java:45)
>       at com.hp.hpl.jena.tdb.base.file.FileBase.<init>(FileBase.java:61)
>       at com.hp.hpl.jena.tdb.base.file.FileBase.<init>(FileBase.java:50)
>       at com.hp.hpl.jena.tdb.base.file.FileBase.create(FileBase.java:45)
>       at 
> com.hp.hpl.jena.tdb.base.file.BlockAccessBase.<init>(BlockAccessBase.java:46)
>       at 
> com.hp.hpl.jena.tdb.base.file.BlockAccessMapped.<init>(BlockAccessMapped.java:63)
>       at 
> com.hp.hpl.jena.tdb.base.block.BlockMgrFactory.createMMapFile(BlockMgrFactory.java:90)
>       at 
> com.hp.hpl.jena.tdb.base.block.BlockMgrFactory.createFile(BlockMgrFactory.java:80)
>       at 
> com.hp.hpl.jena.tdb.base.block.BlockMgrFactory.create(BlockMgrFactory.java:58)
>       at 
> com.hp.hpl.jena.tdb.setup.Builder$BlockMgrBuilderStd.buildBlockMgr(Builder.java:196)
>       at 
> com.hp.hpl.jena.tdb.setup.Builder$RangeIndexBuilderStd.createBPTree(Builder.java:165)
>       at 
> com.hp.hpl.jena.tdb.setup.Builder$RangeIndexBuilderStd.buildRangeIndex(Builder.java:134)
>       at 
> com.hp.hpl.jena.tdb.setup.Builder$IndexBuilderStd.buildIndex(Builder.java:112)
>       at 
> com.hp.hpl.jena.tdb.setup.Builder$NodeTableBuilderStd.buildNodeTable(Builder.java:85)
>       at 
> com.hp.hpl.jena.tdb.setup.DatasetBuilderStd$NodeTableBuilderRecorder.buildNodeTable(DatasetBuilderStd.java:382)
>       at 
> com.hp.hpl.jena.tdb.setup.DatasetBuilderStd.makeNodeTable(DatasetBuilderStd.java:293)
>       at 
> com.hp.hpl.jena.tdb.setup.DatasetBuilderStd._build(DatasetBuilderStd.java:159)
>       at 
> com.hp.hpl.jena.tdb.setup.DatasetBuilderStd.build(DatasetBuilderStd.java:149)
>       at 
> com.hp.hpl.jena.tdb.setup.DatasetBuilderStd.build(DatasetBuilderStd.java:64)
>       at com.hp.hpl.jena.tdb.StoreConnection.make(StoreConnection.java:217)
>       at 
> com.hp.hpl.jena.tdb.transaction.DatasetGraphTransaction.<init>(DatasetGraphTransaction.java:75)
>       at com.hp.hpl.jena.tdb.sys.TDBMaker._create(TDBMaker.java:57)
>       at 
> com.hp.hpl.jena.tdb.sys.TDBMaker.createDatasetGraphTransaction(TDBMaker.java:45)
>       at 
> com.hp.hpl.jena.tdb.TDBFactory._createDatasetGraph(TDBFactory.java:104)
>       at com.hp.hpl.jena.tdb.TDBFactory.createDatasetGraph(TDBFactory.java:73)
>       at com.hp.hpl.jena.tdb.TDBFactory.createDatasetGraph(TDBFactory.java:69)
>       at 
> org.apache.jena.fuseki.FusekiCmd.processModulesAndArgs(FusekiCmd.java:266)
>       at arq.cmdline.CmdArgModule.process(CmdArgModule.java:51)
>       at arq.cmdline.CmdMain.mainMethod(CmdMain.java:100)
>       at arq.cmdline.CmdMain.mainRun(CmdMain.java:63)
>       at arq.cmdline.CmdMain.mainRun(CmdMain.java:50)
>       at org.apache.jena.fuseki.FusekiCmd.main(FusekiCmd.java:141)
> Caused by: java.io.FileNotFoundException: 
> /var/data-stores/transport/tdb/node2id.idn (Permission denied)
>       at java.io.RandomAccessFile.open(Native Method)
>       at java.io.RandomAccessFile.<init>(RandomAccessFile.java:233)
>       at java.io.RandomAccessFile.<init>(RandomAccessFile.java:118)
>       at 
> com.hp.hpl.jena.tdb.base.file.ChannelManager.open$(ChannelManager.java:79)
>       ... 33 more



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to