Task #7442
Metacat can't index a resource map object
100%
Description
When Metacat index a resource map, it has the error:
com.hp.hpl.jena.tdb.base.file.FileException: Failed to open: /var/lib/tomcat7/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.(FileBase.java:61)
at com.hp.hpl.jena.tdb.base.file.FileBase.(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.(BlockAccessBase.java:46)
at com.hp.hpl.jena.tdb.base.file.BlockAccessMapped.(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.(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.createDataset(TDBFactory.java:52)
at com.hp.hpl.jena.tdb.TDBFactory.createDataset(TDBFactory.java:48)
at org.dataone.cn.indexer.annotation.TripleStoreService.getDataset(TripleStoreService.java:29)
at org.dataone.cn.indexer.annotation.RdfXmlSubprocessor.process(RdfXmlSubprocessor.java:160)
at org.dataone.cn.indexer.annotation.RdfXmlSubprocessor.processDocument(RdfXmlSubprocessor.java:111)
at edu.ucsb.nceas.metacat.index.SolrIndex.process(SolrIndex.java:235)
at edu.ucsb.nceas.metacat.index.SolrIndex.insert(SolrIndex.java:384)
at edu.ucsb.nceas.metacat.index.SolrIndex.update(SolrIndex.java:590)
at edu.ucsb.nceas.metacat.index.SolrIndex.update(SolrIndex.java:545)
at edu.ucsb.nceas.metacat.index.SystemMetadataEventListener.entryUpdated(SystemMetadataEventListener.java:146)
at edu.ucsb.nceas.metacat.index.SystemMetadataEventListener.entryAdded(SystemMetadataEventListener.java:119)
at com.hazelcast.client.impl.EntryListenerManager.notifyListeners(EntryListenerManager.java:148)
at com.hazelcast.client.impl.EntryListenerManager.notifyListeners(EntryListenerManager.java:130)
at com.hazelcast.client.impl.ListenerManager.customRun(ListenerManager.java:88)
at com.hazelcast.client.ClientRunnable.run(ClientRunnable.java:30)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.FileNotFoundException: /var/lib/tomcat7/tdb/node2id.idn (No such file or directory)
at java.io.RandomAccessFile.open(Native Method)
at java.io.RandomAccessFile.(RandomAccessFile.java:241)
at java.io.RandomAccessFile.(RandomAccessFile.java:122)
at com.hp.hpl.jena.tdb.base.file.ChannelManager.open$(ChannelManager.java:79)
... 42 more
History
#1 Updated by Ben Leinfelder about 9 years ago
- Category set to d1_indexer
- Status changed from New to In Progress
- % Done changed from 0 to 30
Jing reports that creating the tdb directory manually resolves the issue, so...
Committed change to TripleStoreService.java that will create the TDB directory if it does not exist using a [now] configurable value, defaulting to the original ./tdb.
#2 Updated by Jing Tao about 9 years ago
- Status changed from In Progress to Closed
- % Done changed from 30 to 100
- translation missing: en.field_remaining_hours set to 0.0
I tested in the mn-demo-8 and it worked.