Loading TOC...

admin.appserverSetMultiVersionConcurrencyControl

admin.appserverSetMultiVersionConcurrencyControl(
   $config as element(configuration),
   $appserver-id as (Number|String),
   $value as String
) as element(configuration)

Summary

This function sets the multi version concurrency control value in the configuration for this App Server. This option specifies how the latest timestamp is chosen for lock-free queries.
When set to contemporaneous, the server chooses the latest timestamp for which any transaction is known to have committed, even though there still may be other transactions for that timestamp that have not yet fully committed. Queries will see more timely results, but may block waiting for contemporaneous transactions to fully commit.
When set to nonblocking, the server chooses the latest timestamp for which all transactions are known to have committed, even though there may be a later timestamp for which another transaction has committed. Queries won't block waiting for transactions, but they may see less timely results.

Parameters
$config A configuration specification, typically as returned from one of the Admin module functions.
$appserver-id The ID of the App Server. Typically, this is the result of an admin:appserver-get-id call.
$value The multi version concurrency control value, one of contemporaneous or nonblocking.

Required Privileges

This operation requires at least one of the following privileges:

http://marklogic.com/xdmp/privileges/admin/app-server

http://marklogic.com/xdmp/privileges/admin/app-server/{id}

http://marklogic.com/xdmp/privileges/admin/group

http://marklogic.com/xdmp/privileges/admin/group/{id}

Example

  
  const admin = require('/MarkLogic/admin.xqy');
  var config = admin.getConfiguration()
  var groupid = admin.groupGetId(config, "Default")
  admin.appserverSetMultiVersionConcurrencyControl(config,
         admin.appserverGetId(config, groupid, "myAppServer"),
         "nonblocking")

   //returns the new configuration element -- use admin.saveConfiguration
   //to save the changes to the configuration or pass the configuration
   //to other Admin API functions to make other changes.  
  

Stack Overflow iconStack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.