Project

General

Profile

Story #3660

Deleting objects will lead to unresolvable resourceMap entities

Added by Rob Nahf over 11 years ago. Updated almost 10 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
-
Target version:
Start date:
2014-10-01
Due date:
2014-12-16
% Done:

100%

Story Points:
Sprint:

Description

When we delete objects that are part of packages, users trying to get all of the members of a package, for example, will get a NotFound for the deleted item.

Can we offer more information to users as to why it is not found? (In the text of the NotFound exception). Should we instead update the resource map to remove the relationships containing the deleted pid?


Related issues

Related to Infrastructure - Story #6476: Fix the bug on CN.delete and MN.delete Closed 2014-09-19 2014-12-16

History

#1 Updated by Robert Waltz about 10 years ago

Yes, we should have a NotFound exception with a message of 'Deleted'.

#2 Updated by Robert Waltz about 10 years ago

  • Assignee changed from Chris Jones to Jing Tao

Maybe look at the log event table

#3 Updated by Robert Waltz about 10 years ago

  • Due date set to 2014-10-01
  • Target version set to Release Backlog
  • Start date set to 2014-10-01

#4 Updated by Robert Waltz about 10 years ago

  • Target version changed from Release Backlog to CCI-1.5.0

#5 Updated by Jing Tao about 10 years ago

  • Due date changed from 2014-10-01 to 2014-10-13

Discussed with Rob and identified the API will involved:

MN.get
MN.getSystemmetadata
MN.describe
MN.getChecksum
MN.getRelica

CN.get
CN.getSystemmetadata
CN.dscribe
CN.getCheckSum
CN.resolve

#6 Updated by Jing Tao about 10 years ago

  • Due date changed from 2014-10-13 to 2014-10-15

Additional method:

MN.isAuthorized();

CN.isAuthorized();
CN.isNodeAuthorized()

#7 Updated by Jing Tao about 10 years ago

  • Due date changed from 2014-10-15 to 2014-10-16

CN.resolve is not implemented in Metacat. So it can't contact the event log directly.

From the documenation:
* ResolveFilter interoperates with UrlRewriteFilter to handle cn/resolve calls.
* Using a Tomcat / Spring filter chain, UrlRewriteFilter redirects the
* cn/resolve call to cn/meta, and ResolveFilter intercepts the response and
* transforms it into an ojbectLocationList

Sound like it will catch the deleted message in the exception.

#8 Updated by Jing Tao about 10 years ago

Need integration tests for:
MN.getRelica

CN.isNodeAuthorized
CN.resolve

#9 Updated by Jing Tao about 10 years ago

  • Status changed from New to In Progress

#10 Updated by Jing Tao about 10 years ago

  • Due date changed from 2014-10-16 to 2014-11-13
  • Status changed from In Progress to Testing

#11 Updated by Jing Tao about 10 years ago

  • Due date changed from 2014-11-13 to 2014-11-16

For member nodes, the data objects, metadata objects and resource maps works well.

For cn nodes, the metadata objects works well.

However, for cn nodes, the data object resolve and getsystemmetadata don't work. Since the reading a data object will give an exception "does not exist at this node" even before the deleting, i don't worry about the read action.

#12 Updated by Jing Tao almost 10 years ago

  • Due date changed from 2014-11-16 to 2014-11-18

The resolve to data objects on cn works well.

#13 Updated by Jing Tao almost 10 years ago

  • Due date changed from 2014-11-18 to 2014-12-16
  • Status changed from Testing to Closed

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 14.8 MB)