CDLUC3 / mrt-doc

Documentation and Information regarding the Merritt repository
8 stars 4 forks source link

Delete List Error Reported to Dryad #459

Closed terrywbrady closed 3 years ago

terrywbrady commented 3 years ago

The other oddball error we got this morning was 641 REQUEST_INVALID[User/request supplied required parm is missing or invalid] Versio nMap: Delete list component not found:producer/Newmarket_areas.xlsx

But the record at https://merritt.cdlib.org/m/ark%253A%252F13030%252Fm5r553c0/1 does seem to show that exact filename there unless I'm misreading something.

image

The files in that version in Merritt.

Looks like that one-off error happened again: User/request supplied required parm is missing or invalid] VersionMap: Delete list component not found:producer/Newmarket_areas.xlsx Submission date: 2020-09-04T10:25:13-07:00

But in this case the filename we have and the filename we're asking to delete from Merritt seem to match.

Though maybe there is some non-printing character or something else you can see and we can't?

Delete error

<?xml version="1.0" encoding="ISO-8859-1"?>
<sword:error href="ingest fails:<?xml version="1.0" encoding="UTF-8"?>
<job:jobState xmlns:job='http://uc3.cdlib.org/ontology/mrt/ing
est/job'>
    <job:jobID>jid-0946f7c7-7736-4d72-a0d8-8f1cde898efa</job:jobID>
    <job:primaryID>ark:/13030/m5dn9hp7</job:primaryID&g
t;
    <job:retainTargetURL>true</job:retainTargetURL>
    <job:submissionDate>2020-09-04T10:25:13-07:00</job:submissionDate>
  <job:jobStatus>FAILED</job:jobStatus>
    <job:jobStatusMessage>org.cdlib.mrt.cloud.VersionMap-getMergeComponents:641 REQUEST_INVALID[User/req
uest supplied required parm is missing or invalid] VersionMap: Delete list component not found:producer/Newmarket_areas.xlsx</job:jobStatusMessage>
    <
job:localID>doi:10.5061/dryad.tx95x69w2</job:localID>
    <job:objectCreator>Bonner, Colin</job:objectCreator>
    <job:objectTitle&g
t;Raw Data from: Consumer-resource interactions along urbanization gradients&#10;      drive natural selection</job:objectTitle>
    <job:objectDate&
gt;2020</job:objectDate>
    <job:persistentURL>http://n2t.net/ark:/13030/m5dn9hp7</job:persistentURL>
    <job:packageName>zip444396
7488263346689.zip</job:packageName>
</job:jobState>" xmlns:sword="http://purl.org/net/sword/terms/"><atom:title xmlns:atom="http://www.w3.org/2005/Ato
m">ERROR</atom:title><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2020-09-04T10:25:16Z</atom:updated><atom:generator uri="http://www.swordapp.org/" version="
2.0" xmlns:atom="http://www.w3.org/2005/Atom"/><sword:treatment>Processing failed</sword:treatment><atom:summary xmlns:atom="http://www.w3.org/2005/Atom">ingest fails:
<?xml version="1.0" encoding="UTF-8"?>
<job:jobState xmlns:job='http://uc3.cdlib.org/ontology/mrt/ingest/job'>
    <job:jobID>jid-0946f7c7-7736-4d72-a0d8-8f1cde898efa</job:jobID>
    <job:primaryID>ark:/13030/m5dn9hp7</job:primaryID>
    <job:retainTargetURL>true</job:retainTargetURL>
    <job:submissionDate>2020-09-04T10:25:13-07:00</job:submissionDate>
    <job:jobStatus>FAILED</job:jobStatus>
    <job:jobStatusMessage>org.cdlib.mrt.cloud.VersionMap-getMergeComponents:641 REQUEST_INVALID[User/request supplied required parm is missing or invalid] Versio
nMap: Delete list component not found:producer/Newmarket_areas.xlsx</job:jobStatusMessage>
    <job:localID>doi:10.5061/dryad.tx95x69w2</job:localID>
    <job:objectCreator>Bonner, Colin</job:objectCreator>
    <job:objectTitle>Raw Data from: Consumer-resource interactions along urbanization gradients&#10;      drive natural selection</job:objectTitle>
    <job:objectDate>2020</job:objectDate>
    <job:persistentURL>http://n2t.net/ark:/13030/m5dn9hp7</job:persistentURL>
    <job:packageName>zip4443967488263346689.zip</job:packageName>
</job:jobState></atom:summary><sword:verboseDescription>org.swordapp.server.SwordError: ingest fails:<?xml version="1.0" encoding="UTF-8"?>
<job:jobState xmlns:job='http://uc3.cdlib.org/ontology/mrt/ingest/job'>
    <job:jobID>jid-0946f7c7-7736-4d72-a0d8-8f1cde898efa</job:jobID>
    <job:primaryID>ark:/13030/m5dn9hp7</job:primaryID>
    <job:retainTargetURL>true</job:retainTargetURL>
    <job:submissionDate>2020-09-04T10:25:13-07:00</job:submissionDate>
    <job:jobStatus>FAILED</job:jobStatus>
    <job:jobStatusMessage>org.cdlib.mrt.cloud.VersionMap-getMergeComponents:641 REQUEST_INVALID[User/request supplied required parm is missing or invalid] VersionMap: Delete list component not found:producer/Newmarket_areas.xlsx</job:jobStatusMessage>
    <job:localID>doi:10.5061/dryad.tx95x69w2</job:localID>
    <job:objectCreator>Bonner, Colin</job:objectCreator>
    <job:objectTitle>Raw Data from: Consumer-resource interactions along urbanization gradients&#10;      drive natural selection</job:objectTitle>
    <job:objectDate>2020</job:objectDate>
    <job:persistentURL>http://n2t.net/ark:/13030/m5dn9hp7</job:persistentURL>
    <job:packageName>zip4443967488263346689.zip</job:packageName>
</job:jobState>
        at org.swordapp.server.action.MerrittContainerManager.replaceMetadataAndResources(MerrittContainerManager.java:114)
        at org.swordapp.server.ContainerManagerImpl.replaceMetadataAndMediaResource(ContainerManagerImpl.java:34)
        at org.swordapp.server.ContainerAPI.put(ContainerAPI.java:210)
        at org.swordapp.server.servlets.ContainerServletDefault.doPut(ContainerServletDefault.java:55)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:664)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:660)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:798)
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:808)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:748)
</sword:verboseDescription></sword:error>

That is the error we get with your stack trace, etc. (edited)

And I can't see the difference between Delete list component not found: producer/Newmarket_areas.xlsx and the file listed in the Merritt UI for that dataset (above).

mreyescdl commented 3 years ago

Somehow there looks to be a mix up in the primary ID. The Merritt UI shows on primary (ark:/13030/m5r553c0), while the ERC file (created during submission) has a different one (see below)

erc:
who:    Bonner, Colin
what:   Raw Data from: Consumer-resource interactions along urbanization gradients
      drive natural selection
when:   2020
where:  ark:/13030/m5dn9hp7
where:  doi:10.5061/dryad.tx95x69w2
mreyescdl commented 3 years ago

The Local ID service is giving up the "m5dn9hp7" ark

$ curl http://inventory.cdlib.org:36221/mrtinv/primary/ark%3A%2F13030%2Fj2br86wx/doi%3A10.5061%2Fdryad.tx95x6
<?xml version="1.0" encoding="UTF-8"?>
<invloc:localContainerState xmlns:invloc='http://uc3.cdlib.org/ontology/mrt/inv/loc'>
    <invloc:timestamp>2020-09-04T11:43:56-07:00</invloc:timestamp>
    <invloc:exists>true</invloc:exists>
    <invloc:primaryIdentifier>ark:/13030/m5dn9hp7</invloc:primaryIdentifier>
    <invloc:ownerID>ark:/13030/j2br86wx</invloc:ownerID>
    <invloc:countLocalIDs>1</invloc:countLocalIDs>
    <invloc:localIDs>doi:10.5061/dryad.tx95x69w2</invloc:localIDs>
    <invloc:match>true</invloc:match>
</invloc:localContainerState>
sfisher commented 3 years ago

Hey Mark. The one that SWORD returned to us is in this URL. https://merritt.cdlib.org/d/ark%3A%2F13030%2Fm5r553c0 and if it's helpful for us to change it to a different ark, we can do that in our database.

mreyescdl commented 3 years ago

Hi Scott. The Merritt UI has that one as well. Somehow the Local ID lookup is failing. It may be due to the earlier Inventory issue we had this AM

We may have to change the Local ID table entry. I'll let you know

mreyescdl commented 3 years ago

Here is what the INV DB shows. Created when we still had the Inventory problem

MySQL [inv]> select * from inv_localids where local_id like '%doi:10.5061/dryad.tx95x69w2%';
+---------+---------------------+---------------------+-----------------------------+---------------------+
| id      | inv_object_ark      | inv_owner_ark       | local_id                    | created             |
+---------+---------------------+---------------------+-----------------------------+---------------------+
| 1798039 | ark:/13030/m5dn9hp7 | ark:/13030/j2br86wx | doi:10.5061/dryad.tx95x69w2 | 2020-09-04 10:25:15 |
mreyescdl commented 3 years ago

The returned ARK does not exist in Merritt. (see below) I do not like manually updating DB tables, but it looks like it needs it

MySQL [inv]> select * from inv_objects where ark='ark:/13030/m5dn9hp7';
Empty set (0.00 sec)
mreyescdl commented 3 years ago

@terrywbrady Does the following look okay to run?

UPDATE inv_localid SET inv_object_ark='ark:/13030/m5r553c0' where id=1798039;

I'm going to update the record and see if it reflected in the local ID service

mreyescdl commented 3 years ago

@sfisher I updated the record and it looks okay now. Can you try and resubmit?

$ curl http://inventory.cdlib.org:36221/mrtinv/primary/ark%3A%2F13030%2Fj2br86wx/doi%39w2?t=xml2Fdryad.tx95x69
<?xml version="1.0" encoding="UTF-8"?>
<invloc:localContainerState xmlns:invloc='http://uc3.cdlib.org/ontology/mrt/inv/loc'>
    <invloc:timestamp>2020-09-04T12:06:47-07:00</invloc:timestamp>
    <invloc:exists>true</invloc:exists>
    <invloc:primaryIdentifier>ark:/13030/m5r553c0</invloc:primaryIdentifier>
    <invloc:ownerID>ark:/13030/j2br86wx</invloc:ownerID>
    <invloc:countLocalIDs>1</invloc:countLocalIDs>
    <invloc:localIDs>doi:10.5061/dryad.tx95x69w2</invloc:localIDs>
    <invloc:match>true</invloc:match>
</invloc:localContainerState>
sfisher commented 3 years ago

I just resubmitted and it went through pretty much instantly and it seems to have come back through the OAI-PMH feed saying it's done.

Looks fixed to me.

Thanks for your hard work fixing this, @mreyescdl and @terrywbrady .