Bug #5801
closed
Added by ben leinfelder almost 12 years ago.
Updated almost 12 years ago.
Category:
morpho - general
Description
Specifically:
-create (save new package)
-update (save another revision of same package)
-read (open by id)
-search (will be disabled and fail gracefully)
Optionally:
-try to create a scenario where there is an identifier conflict on the server and we need to call MN.generateIdentifier() to resolve it. I am not even sure GMN has this implemented, but Roger Dahl will know.
I created a simple data package by the new data package wizard, then saved it to a GMN node https://mn-stage-orc-1.test.dataone.org/mn.
It gave me an error:
org.dataone.service.exceptions.InvalidSystemMetadata: Object size in System Metadata (637 bytes) does not match that of the uploaded object (629 bytes)
Does a metadata node compare the size as well?
This (system metadata byte size vs actual) will be interesting. I wonder if it will always be 8 bytes different. One of us is incorrect... I do not believe Metacat checks this.
In a related note, I made the error message dialog use a scrollable text area and that seems to prevent the window manager in Morpho from panicking when GMN sends back that diagnostic error message.
We were not recalculating size and checksum of the EML before saving. Now we are.
Jing: it is sort of working
benMac: what was the issue?
Jing: i can insert an eml and eml with an entity.
Jing: but when i updated eml and get an error:
Jing: Problem Saving package:
Jing: Only the UUID scheme is currently supported
Jing: And the search doesn't work at all.
I have changed Morpho to call MN.generateIdentifier() with the UUID scheme as the default so it should work with GMN. Metacat does not implement UUID, but ignores the scheme and provides its own generated identifier (autogen.timestamp, or fragment.timestamp if the fragment parameter is included). We should make Metacat support UUID but for the time being this will "work".
I created a data package with an entity by the new data package and entity wizards. Then saved it to the network.
I added a new row in the entity and save it to the network and get the error:
Problem Saving package:
Object size in System Metadata (8 bytes) does not match that of the uploaded object (26 bytes)
So the entity system metadata doesn't have the correct number after the updating.
I add code to calculate the data file size and checksum in the DataViewer class. Now, the saving passed the issue of non-matching the size. However, i got another error:
Problem Saving package:
class javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
This is very weird error. I can insert eml data package and update it with the same session (the same certificate). Why it gave me this error?
The file size not-match issue for the eml comes back again. Ben, did you change something? I will take a look.
After we started to use UUID, we assign a UUID to the package when we start to use the new data package wizard. Before this, we use a temp.x id. The UUID are stored in the incomplete directory when we are using the new package wizard. During the saving, morpho uses the file (with the uuid) in the incomplete dir to upload to the network. But the size in the system metadata was calculated by the DOM mode. So they are not the same. The issue is fixed.
There is no any particular issue for the the GMN. So i close it.
Original Bugzilla ID was 5801
Also available in: Atom
PDF