Bug #6516
openSolr index doesn't work in the remote host in the replication when a host is ubuntu 12.04 and another one is ubuntu 14.04
0%
Description
When I use morpho 1.10 branch to insert a package into a local Metacat, which is ubuntu 14.04, the solr index works fine. However, the remote server, which is ubuntu 12.04, got the error:
metacat 20140415-14:31:01: [WARN]: XMLService.populateRegisteredSchemaList - Schema file: /var/lib/tomcat7/webapps/knb/schema/fgdc-std-001/fgdc-std-001-1998.xsd is registered in the database but does not exist on the file system. [edu.ucsb.nceas.metacat.service.XMLSchemaService]
edu.ucsb.nceas.metacat.McdbDocNotFoundException: the requested docid 'tao.13002' does not exist
at edu.ucsb.nceas.metacat.DocumentImpl.isRevisionOnly(DocumentImpl.java:2159)
at edu.ucsb.nceas.metacat.DocumentImpl.getDocumentInfo(DocumentImpl.java:2190)
at edu.ucsb.nceas.metacat.DocumentImpl.<init>(DocumentImpl.java:228)
at edu.ucsb.nceas.metacat.DocumentImpl.<init>(DocumentImpl.java:257)
at edu.ucsb.nceas.metacat.replication.ReplicationService.getDocumentInfo(ReplicationService.java:1097)
at edu.ucsb.nceas.metacat.replication.ReplicationService.getDocumentInfoMap(ReplicationService.java:1073)
at edu.ucsb.nceas.metacat.dataone.hazelcast.ObjectPathMap.pathToDocid(ObjectPathMap.java:76)
at edu.ucsb.nceas.metacat.dataone.hazelcast.ObjectPathMap.load(ObjectPathMap.java:99)
at edu.ucsb.nceas.metacat.dataone.hazelcast.ObjectPathMap.load(ObjectPathMap.java:43)
at com.hazelcast.impl.concurrentmap.MapStoreWrapper.load(MapStoreWrapper.java:143)
at com.hazelcast.impl.ConcurrentMapManager$GetOperationHandler$GetLoader.doMapStoreOperation(ConcurrentMapManager.java:3785)
at com.hazelcast.impl.ConcurrentMapManager$AbstractMapStoreOperation.run(ConcurrentMapManager.java:3860)
at com.hazelcast.impl.executor.ParallelExecutorService$ParallelExecutorImpl$ExecutionSegment.run(ParallelExecutorService.java:212)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
at com.hazelcast.impl.ExecutorThreadFactory$1.run(ExecutorThreadFactory.java:38)
metacat-index 20140415-14:31:01: [ERROR]: SolrIndex.update - could not update the solr index since null [edu.ucsb.nceas.metacat.index.SolrIndex]
java.lang.NullPointerException
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at java.io.FileInputStream.<init>(FileInputStream.java:101)
at edu.ucsb.nceas.metacat.index.SolrIndex.update(SolrIndex.java:513)
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:744)
I used morpho to insert the package to Ubuntu 12.04. The metacat with 14.04 got the error as well.
But the timed solr index process can pick up those failed documents.
Updated by ben leinfelder over 10 years ago
This doesn't look like an Ubuntu issue - does it happen for other 10.04 hosts?
Is it just that indexing is trying to find the document before it is fully replicated?
edu.ucsb.nceas.metacat.McdbDocNotFoundException: the requested docid 'tao.13002' does not exist
Updated by Jing Tao over 10 years ago
Metacat indexed a document before it wrote to db. This issue was fixed.