Loading TOC...

admin:appserver-set-multi-version-concurrency-control

admin:appserver-set-multi-version-concurrency-control(
   $config as element(configuration),
   $appserver-id as xs:unsignedLong,
   $value as xs: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


  xquery version "1.0-ml";

  import module namespace admin = "http://marklogic.com/xdmp/admin"
		  at "/MarkLogic/admin.xqy";

  let $config := admin:get-configuration()
  let $groupid := admin:group-get-id($config, "Default")
  return
  admin:appserver-set-multi-version-concurrency-control($config,
         admin:appserver-get-id($config, $groupid, "myAppServer"),
         "nonblocking")

  (: returns the new configuration element -- use admin:save-configuration
     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.