User Community Service Desk Downloads
If you can't find the product or version you're looking for, visit support.ataccama.com/downloads

RW-RO Mode Switching Services

These services are located in the com.ataccama.nme.internal.engine.services.handlers.ReadWriteControlServiceBundle service bundle and are available only if VLDB persistence is used. They allow external applications to switch data access mode between RW and RO.

Only one MDM instance can operate on a database storage in the RW mode at a time. An external application should guarantee this, otherwise data corruption and inconsistencies can occur.

This service should not be used when MDM operates in High Availability mode.

Initial data access mode is defined by runtime parameters.

<service class="com.ataccama.nme.internal.engine.services.handlers.ReadWriteControlServiceBundle" />
We use a placeholder instance entity Example, a placeholder master entity Example, and a placeholder Master View Mv to illustrate the functionality of services.

switchReadWriteMode

Starts the switch to the given target mode.

Sample request
<switchReadWriteMode>
  <targetMode>RO</targetMode>     <!-- target mode can be RO (read-only) or RW (read-write) -->
  <switchMode>WAIT</switchMode>   <!-- must be WAIT in this version, reserved for future use -->
</switchReadWriteMode>

The service returns immediately, starting switch action asynchronously. The response contains either OK and the current mode, or ERROR and an error message (if starting the switch failed).

The OK response does not mean the switch is successful: the switch action is complex and can fail after the response.

A switch to RO waits for completion of the active RW operation (load, export, processDelta). A switch to RW checks the transaction state of the storage and might perform a recovery.

Sample response - switch RW mode response
<switchReadWriteModeResponse>
  <result>OK</result>
  <message>SWITCHING_TO_RO</message>  <!-- if switch has already finished, message is "RO" -->
</switchReadWriteModeResponse>

getReadWriteMode

Returns the data access mode of this instance. The request is empty.

Sample request
<getReadWriteMode>
</getReadWriteMode>

The service returns the current data access mode, which can be one of the following: RW , RO, SWITCHING_TO_RO, SWITCHING_TO_RW.

Sample response - switch RW mode response
<getReadWriteModeResponse>
  <readWriteMode>RO</readWriteMode>
</getReadWriteModeResponse>

Was this page useful?