Project

General

Profile

Bug #7336

ReadOnly exception thrown when not in ReadOnly mode

Added by Robert Waltz over 8 years ago. Updated over 8 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
d1_synchronization
Start date:
2015-09-09
Due date:
% Done:

100%

Story Points:
Sprint:

Description

when executing cn.synchronize on the active CN, d1-processing throws an error:
<?xml version="1.0" encoding="UTF-8"?>

This CN instance has temporarily disabled methods that modify content

Associated revisions

Revision 16279
Added by Robert Waltz over 8 years ago

refs #7336

added debugging messages and a unit test

Revision 16279
Added by Robert Waltz over 8 years ago

refs #7336

added debugging messages and a unit test

Revision 16521
Added by Rob Nahf over 8 years ago

refs #7336. Refactored SettingsContextNodeLocator to restrict returns from getCNode() to the one with the URL in D1Client.CN_URL property. This is in keeping with v1 behavior.

Revision 16521
Added by Rob Nahf over 8 years ago

refs #7336. Refactored SettingsContextNodeLocator to restrict returns from getCNode() to the one with the URL in D1Client.CN_URL property. This is in keeping with v1 behavior.

Revision 16523
Added by Rob Nahf over 8 years ago

refs #7336. Tightened up logic of new NodeListNodeLocators to address non-traditional use.

Revision 16523
Added by Rob Nahf over 8 years ago

refs #7336. Tightened up logic of new NodeListNodeLocators to address non-traditional use.

History

#1 Updated by Robert Waltz over 8 years ago

Found these messages in the d1-processing-jsvc.log .

looks like the rest client is defaulting to cn-dev-unm-1

[ERROR] 2015-09-10 20:40:47,680 (StdOutErrLog$2:print:51) 51965 [pool-6-thread-1] INFO org.dataone.client.rest.RestClient - rest call info: PUT https://cn-dev-unm-1.test.dataone.org/cn/v2/replicaMetadata/P1_201512892837668; MMP message has: FilePart:replicaMetadata = /tmp/mmp.output.4811337101466525710.tmp (280 bytes); ParamPart:serialVersion = 1;

[ERROR] 2015-09-10 20:40:47,680 (StdOutErrLog$2:print:51) 51966 [pool-6-thread-1] INFO org.dataone.service.util.ExceptionHandler - response httpCode: 500

[DEBUG] 2015-09-10 20:40:47,682 (ReplicationService:updateReplicationMetadata:366) org.dataone.service.exceptions.ServiceFailure: 500: Internal Server Error: Deserializing Text/Plain: Just providing message body:
<?xml version="1.0" encoding="UTF-8"?>

This CN instance has temporarily disabled methods that modify content

{EndOfMessage}
[ERROR] 2015-09-10 20:40:47,682 (ReplicationService:updateReplicationMetadata:368) Error in calling updateReplicationMetadata(): 500: Internal Server Error: Deserializing Text/Plain: Just providing message body:
<?xml version="1.0" encoding="UTF-8"?>

This CN instance has temporarily disabled methods that modify content

{EndOfMessage}

#2 Updated by Andrei Buium over 8 years ago

Robert, could the following also be related?

After science metadata creation on demo-5, checking cn-synchronize log on cn-dev-ucsb-1, found a similar exception:

[DEBUG] 2015-09-21 16:03:14,615 (V2TransferObjectTask:createObject:657) Task-urn:node:mnDemo5-testV1CreateV2GetSysmeta_20152649057987 getting ScienceMetadata
[ INFO] 2015-09-21 16:03:15,034 (V2TransferObjectTask:createObject:694) Task-urn:node:mnDemo5-testV1CreateV2GetSysmeta_20152649057987 Creating Object
[ERROR] 2015-09-21 16:03:15,821 (V2TransferObjectTask:processTask:405) Task-urn:node:mnDemo5-testV1CreateV2GetSysmeta_20152649057987
<?xml version="1.0" encoding="UTF-8"?>

500: Internal Server Error: Deserializing Text/Plain: Just providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<error detailCode="4893" errorCode="500" name="ServiceFailure">
<description>This CN instance has temporarily disabled methods that modify content</description>
</error>

{EndOfMessage}

[DEBUG] 2015-09-21 16:03:16,032 (V2TransferObjectTask:call:257) Task-urn:node:mnDemo5-testV1CreateV2GetSysmeta_20152649057987 Unlocked Pid.
[ INFO] 2015-09-21 16:04:40,269 (SyncObjectTask:reapFutures:233) waiting on 1 futures
[DEBUG] 2015-09-21 16:04:40,270 (SyncObjectTask:reapFutures:244) trying future Task-urn:node:mnDemo5-testV1CreateV2GetSysmeta_20152649057987
[DEBUG] 2015-09-21 16:04:40,270 (SyncObjectTask:reapFutures:250) futureMap is done? true
[DEBUG] 2015-09-21 16:04:40,270 (SyncObjectTask:reapFutures:251) Task-urn:node:mnDemo5-testV1CreateV2GetSysmeta_20152649057987 Returned from the Future :(1):

#3 Updated by Robert Waltz over 8 years ago

  • Category changed from d1_cn_service to d1_synchronization

This isn't a cn rest problem. synchronization's use of d1-libclient-java assumes that d1-libclient-java can be configured to use a single CN (the CN synchronization is running on). Something in synchronization has changed such that the default cn as specified in /etc/dataone/process/d1client.properties file is ignored or not set or ...?

#4 Updated by Rob Nahf over 8 years ago

  • Assignee changed from Robert Waltz to Rob Nahf

The way the SettingsContextNodeLocator works presently only uses it to get the nodelist, then it figures out among the CNs in the nodelist. This isn't right, so a refactor is needed.

#5 Updated by Rob Nahf over 8 years ago

committed fixes to SettingsContextNodeLocator so that it restricts CN calls to the one with the URL from D1Client.CN_URL property.

#6 Updated by Rob Nahf over 8 years ago

  • % Done changed from 30 to 100
  • Status changed from In Progress to Closed

reviewed in standup. Robert confirms that it is fixed and can be closed.

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 14.8 MB)