Test Morpho against GMN
-create (save new package)
-update (save another revision of same package)
-read (open by id)
-search (will be disabled and fail gracefully)
-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.
#1 Updated by Jing Tao over 7 years ago
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?
#2 Updated by ben leinfelder over 7 years ago
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.
#4 Updated by Jing Tao over 7 years ago
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.
#5 Updated by ben leinfelder over 7 years ago
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".
#6 Updated by Jing Tao over 7 years ago
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.
#7 Updated by Jing Tao over 7 years ago
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?
#9 Updated by Jing Tao over 7 years ago
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.