Project

General

Profile

Actions

Bug #6542

closed

Fix MNodeService.systemMetadataChanged() to be asynchronous

Added by Chris Jones over 10 years ago. Updated almost 9 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
metacat
Target version:
Start date:
04/25/2014
Due date:
% Done:

0%

Estimated time:
Bugzilla-Id:

Description

The DataONE MNWebTester will at times show failures against Metacat MNs for calls to MNAuthorization.systemMetadataChanged(). The exceptions usually occur after the call has been received. This prompted a review of the behavior, and we agreed that all implementations should return 'true' (HTTP 200) upon successful receipt of the notification, and queue the processing of the message asynchronously.

Fix the MNodeService.systemMetadataChanged() method such that immediately returns true if the mime-multipart parameters that are sent are valid and if the caller is authorized. Queue the processing of the message (getting the newest system metadata from the CN) by sending the task to an ExecutorService. Note that we're doing this already for MNResourceHandler.replicate(), so that's probably a good starting point.

Actions

Also available in: Atom PDF