Bug #7336
ReadOnly exception thrown when not in ReadOnly mode
100%
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
refs #7336
added debugging messages and a unit test
refs #7336
added debugging messages and a unit test
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.
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.
refs #7336. Tightened up logic of new NodeListNodeLocators to address non-traditional use.
refs #7336. Tightened up logic of new NodeListNodeLocators to address non-traditional use.
History
#1 Updated by Robert Waltz over 9 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 9 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 about 9 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 about 9 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 about 9 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 almost 9 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.