Project

General

Profile

Actions

Bug #6035

closed

The system metadata table in a Metacat was messed up with the value of archived

Added by Jing Tao over 11 years ago. Updated over 11 years ago.

Status:
Rejected
Priority:
Normal
Assignee:
-
Category:
-
Target version:
Start date:
07/10/2013
Due date:
% Done:

0%

Estimated time:
Bugzilla-Id:

Description

In the mn-demo-4.test.dataone.org, I queried the systemmetadata table and got:

metacat=> select count(*) from systemmetadata where obsoleted_by is not null and archived=false;
count
-------
4644
(1 row)

You see, there are 4644 documents which are not archived but have the obsoleted_by value. This is a contradiction.

Also, the xml_documents and xml_revisions table are messed up:

metacat=> select count(*) from xml_documents;
count
-------
4998
(1 row)

metacat=> select count(*) from xml_revisions;
count
-------
0

We need figure out why the metacat has this funny result.

Actions #1

Updated by ben leinfelder over 11 years ago

  • Target version set to 2.1.0

The archive flag need not be set to true when there is an obsoletedBy value present. Either the obsoletedBy OR the archived=true flag indicate that the object is not to be included in search results. It is fine if both are set, but that is not a requirement.

As for the xml_revisions table, if all objects have been added/updated via the DataONE API, then there are no true revisions in the old Metacat sense of it. We generate a new "autogen" id for each insert/update and there is no connection between one autogen id and the next (update).

This might pose an issue for Metacat deployments that still utilize the pathquery service fro searching but use the D1 API for inserting and updating since it will appear that all revisions of all objects are "current".

Actions #2

Updated by Jing Tao over 11 years ago

  • Status changed from New to Rejected
Actions

Also available in: Atom PDF