Loading TOC...

MarkLogic 12 EA 2 Product Documentation
admin:appserver-set-distribute-timestamps

admin:appserver-set-distribute-timestamps(
   $config as element(configuration),
   $appserver-id as xs:unsignedLong,
   $value as xs:string
) as element(configuration)

Summary

This function sets the distribute timestamps control value in the configuration for this App Server. This option specifies how the latest timestamp is distributed after updates. This affects performance of updates and the timeliness of read-after-write query results from other hosts in the group.
When set to fast, updates return as quicky as possible. No special timestamp notification messages are broadcasted to other hosts. Instead, timestamps are distributed to other hosts when any other message is sent. The maximum amount of time that could pass before other hosts see the update timestamp is one second, because a heartbeat message is sent to other hosts every second.
When set to strict, updates immediately broadcast timestamp notification messages to every other host in the group. Updates do not return until their timestamp has been distributed. This ensures timeliness of read-after-write query results from other hosts in the group.
When set to cluster, updates immediately broadcast timestamp notification messages to every other host in the cluster. Updates do not return until their timestamp has been distributed. This ensures timeliness of read-after-write query results from any host in the cluster, so requests made to any app server on any host in the cluster will see immediately consistent 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 distribute timestamps value, one of fast or strict.

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-distribute-timestamps($config,
         admin:appserver-get-id($config, $groupid, "myAppServer"),
         "strict")

  (: 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.