Project

General

Profile

Bug #7927

Updated by Dave Vieglais over 7 years ago

While attempting to archive content for SEAD in the production environment using a CN certificate to authenticate:

<pre>
d1_common.types.exceptions.ServiceFailure: name: ServiceFailure
errorCode: 500
detailCode: 4972
description: Couldn't determine the authoritative member node storage version for the pid seadva-HsuLeslie029090a9-11b8-4fc1-bf76-bb5a8153363f
</pre>

The request is authenticated OK, but fails when the CN attempts to determine the version of the Storage API provided by the MN.

In this case, the MN is a Tier 1 node using the V1 API.

The problem lies in: /edu/ucsb/nceas/metacat/dataone/CNodeService.java at around line 601.

If the returned version is null then the node does not implement the storage API. In this case, the CN should check the version of the read API. If that is version 1, then the archive request should proceed since the CN is authoritative for that sysmeta. If the read API is V2, then the request should fail because the MN is authoritative for the sysmeta.

PIDs to be archived include:

<pre>
seadva-HsuLeslie029090a9-11b8-4fc1-bf76-bb5a8153363f
seadva-nonee903e476-9bdd-4332-823a-aabea162acd6
seadva-EssawyBakinam066de0b8-a0c9-4724-913a-9060f82148f1
seadva-EssawyBakinamc8e53366-8745-4009-bb38-786ee49cd6fe
seadva-EssawyBakinam70c6e869-5518-4c75-8d09-6a808bb41fb3
seadva-ZhouQuane9e0f510-1599-4311-a6ed-ecf803f3481f
</pre>

Back

Add picture from clipboard (Maximum size: 14.8 MB)