<docbook><section><title>VirtTipsAndTricksCheckpointClusterEdition</title><title>Managing Checkpoints in a Clustered Virtuoso Server</title>Managing Checkpoints in a Clustered Virtuoso Server
<bridgehead class="http://www.w3.org/1999/xhtml:h2">What?</bridgehead>
<para>Managment of checkpoints across nodes in a Virtuoso clustered server environment.</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h2">Why?</bridgehead>
<para>The default checkpoint mode of a Virtuoso cluster server instance might not align with the expectations of specific usage scenarios.</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h2">How?</bridgehead>
<para>The checkpoint on cluster by default is the usual checkpoint setting in the virtuoso INI file, therefore each cluster node can do automatic checkpoints for itself.</para>
<para>By default checkpointing of a Virtuoso clustered server is performed manually by each node of the cluster, as specified in the Virtuoso configuration file of each node, and thus may not always be in sync.</para>
<para>The master node of the cluster can be configured to configured with a scheduled event to run the  <emphasis>cl_exec(&#39;checkpoint&#39;)</emphasis> function to force all nodes of the cluster to perform a checkpoint simultaneously, there by ensuring the data across all nodes is kept in sync.
If this behaviour is not desirable, then the operator can disable auto checkpoint, and make a scheduled task on one of the cluster nodes to execute:</para>
<programlisting>SQL&gt; cl_exec(&#39;checkpoint&#39;);

Done. -- 13901 msec.
SQL&gt;
</programlisting><para> The automatic checkpoints on each individual nodes of the cluster set in there Virtuoso configuration files can then be disabled as they are no longer required.</para>
<para>Note, it is recommended a checkpoint be run after the loading of RDF or other datasets into a Virtuoso cluster, or after any large job has been run against a Virtuoso cluster, to ensure all transactions are fully committed, and prevent any data loss when the cluster is restarted.</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h2">Related</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem>Cluster <ulink url="http://docs.openlinksw.com/virtuoso/clusteroperation.html#clusteroperationadmclexec">cl_exec()</ulink> function </listitem>
<listitem><ulink url="VirtTipsAndTricksGuide">Virtuoso Tips and Tricks Collection</ulink> </listitem>
<listitem><ulink url="VirtBulkRDFLoader">Bulk Loading of RDF Source Files into one or more Graph IRIs Guide</ulink> </listitem>
<listitem><ulink url="http://docs.openlinksw.com/virtuoso/rdfandsparql.html">RDF Data Access and Data Management</ulink> </listitem>
</itemizedlist></section></docbook>