How updates are processed

In a data domain cluster, updates to the records in the index and updates to the configuration are routed to the Oracle Endeca Server that is hosting the leader node.

The leader node processes the update and commits it to the on-disk index. Upon completion, the Cluster Coordinator informs all follower nodes that a new version of the index is available. The leader node and all follower nodes can continue to use the previous version of the index to finish query processing that had started against that version.

As each node finishes processing queries on the previous version, it releases references to it. Once the follower nodes are notified of the new version, they acquire read-only access to it and start using it.

Interaction of outer transactions and updates

An outer transaction is a request to the Endeca Server that lets you include into it other requests, and process all of them as a single atomic operation. Using an outer transaction request is useful when running updates to the data domain index. To ensure that all updates either succeed or fail as a unit, it is recommended to wrap updates in the data domain cluster in an outer transaction request to the Endeca Server, although this is optional.

The following statements describe the behavior of an outer transaction request in the data domain cluster:
  • A request to start an outer transaction can be sent to any of the nodes in the Endeca Server cluster. The Endeca Server routing service sends the request to the leader node in the data domain cluster, which processes it.
  • If, while an outer transaction is in progress, the leader Dgraph node fails, the outer transaction request is not applied. This means that the data domain index is not changed in any way. In this case, the request logs for the data domain may contain messages about not finding an open transaction with the specified ID. This is because the transaction is no longer running in the data domain. It is recommended to restart the outer transaction once the Endeca Server cluster establishes a new Dgraph leader node for the data domain.

For more information about how outer transactions work, see the Oracle Endeca Server Developer's Guide.