Project

General

Profile

Bug #5793

SystemMetadata missing for updated EML doc

Added by ben leinfelder almost 8 years ago. Updated almost 8 years ago.

Status:
Resolved
Priority:
Normal
Category:
morpho - general
Target version:
Start date:
01/18/2013
Due date:
% Done:

0%

Estimated time:
Bugzilla-Id:
5793

Description

Following the procedure outlined in #5792, we do not see the record for SystemMetadata in the Metacat systemMetadata table. I can see an error when inserting it into the table, the odd thing is that it is present in the HZ map so you can actually retrieve the SM even though it does not show in the listObjects result or in the backing table.

knb 20130118-19:28:04: [ERROR]: Error while creating systemmetadata record: tao.392 [edu.ucsb.nceas.metacat.IdentifierManager]


Related issues

Blocked by Morpho - Bug #5792: In some situation, morpho uses the same frame to display two data package with different ids (one in local and one in network)Resolved01/18/2013

History

#1 Updated by ben leinfelder almost 8 years ago

Here is the full stacktrace:

knb 20130118-19:28:04: [ERROR]: Error while creating systemmetadata record: tao.392 [edu.ucsb.nceas.metacat.IdentifierManager]
java.lang.NullPointerException
at edu.ucsb.nceas.metacat.IdentifierManager.updateSystemMetadataFields(IdentifierManager.java:1082)
at edu.ucsb.nceas.metacat.IdentifierManager.updateSystemMetadata(IdentifierManager.java:1190)
at edu.ucsb.nceas.metacat.IdentifierManager.insertOrUpdateSystemMetadata(IdentifierManager.java:979)
at edu.ucsb.nceas.metacat.dataone.hazelcast.SystemMetadataMap.store(SystemMetadataMap.java:44)
at edu.ucsb.nceas.metacat.dataone.hazelcast.SystemMetadataMap.store(SystemMetadataMap.java:25)
at com.hazelcast.impl.concurrentmap.MapStoreWrapper.store(MapStoreWrapper.java:114)
at com.hazelcast.impl.ConcurrentMapManager$PutOperationHandler$PutStorer.doMapStoreOperation(ConcurrentMapManager.java:3156)
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$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
at com.hazelcast.impl.ExecutorThreadFactory$1.run(ExecutorThreadFactory.java:38)

#2 Updated by ben leinfelder almost 8 years ago

It looks like this is because the SM.serialVersion value was null.
We can fix this in Morpho by using a real value, but Metacat should also handle the case where it is not provided.

#3 Updated by ben leinfelder almost 8 years ago

Two pronged approach to this:
-updated Metacat's MN.update() implementation to set the SM.serialVersion to default value if it is not provided. (MN.create() had already been setting the default)
-updated Morpho to set SM.serialVersion if it is not set before calling either MN.create() or MN.update().

#4 Updated by Redmine Admin over 7 years ago

Original Bugzilla ID was 5793

Also available in: Atom PDF