Äcdocutils.nodes document q)Åq}q(U nametypesq}q(X���zookeeper recipesqàX���drbdqàX ���zookeeperqàX���generalq NX9���file based object store with distributed revision controlq NX���replication notesqNX!���scenario 1: adding a new documentqNX���gitq àX ���hazelcastqàX���member nodesqNX ���using a distributed lock managerqNX���distributed version controlqàX ���resourcesqNX!���distributed execution environmentqNX���coordinating nodesqNX ���disadvantagesqNX���metacatqàX���coordinating node object storeqNX ���advantagesqNX���bazaarqàX ���mercurialqàX%���metacat as replicating object managerqNX���389 directory serverqàX���mm_replicationqàuUsubstitution_defsq}qUparse_messagesq ]q!(cdocutils.nodes system_message q")Åq#}q$(U rawsourceq%U�U attributesq&}q'(Udupnamesq(]UlevelKUidsq)]Ubackrefsq*]UsourceXf���/var/lib/jenkins/jobs/API_Documentation_trunk/workspace/api-documentation/source/notes/Replication.txtq+Uclassesq,]Unamesq-]UlineKwUtypeUINFOq.uUparentq/cdocutils.nodes entry q0)Åq1}q2(h%U�h&}q3(h(]h,]h*]h)]h-]uh/cdocutils.nodes row q4)Åq5}q6(h%U�h&}q7(h(]h,]h*]h)]h-]uh/cdocutils.nodes tbody q8)Åq9}q:(h%U�h&}q;(h(]h,]h*]h)]h-]uh/cdocutils.nodes tgroup q<)Åq=}q>(h%U�h&}q?(h)]h*]h(]h,]h-]UcolsKuh/cdocutils.nodes table q@)ÅqA}qB(h%U�h/cdocutils.nodes section qC)ÅqD}qE(h%U�h/hC)ÅqF}qG(h%U�h/hUsourceqHh+UtagnameqIUsectionqJh&}qK(h(]h,]h*]h)]qLUreplication-notesqMah-]qNhauUlineqOKUdocumentqPhUchildrenqQ]qR(cdocutils.nodes title qS)ÅqT}qU(h%X���Replication NotesqVh/hFhHh+hIUtitleqWh&}qX(h(]h,]h*]h)]h-]uhOKhPhhQ]qYcdocutils.nodes Text qZX���Replication Notesq[ÖÅq\}q](h%hVh/hTubaubcdocutils.nodes field_list q^)Åq_}q`(h%U�h/hFhHh+hIU field_listqah&}qb(h(]h,]h*]h)]h-]uhOKhPhhQ]qccdocutils.nodes field qd)Åqe}qf(h%U�h/h_hHh+hIUfieldqgh&}qh(h(]h,]h*]h)]h-]uhOKhPhhQ]qi(cdocutils.nodes field_name qj)Åqk}ql(h%X���Authorqmh/hehHh+hIU field_nameqnh&}qo(h(]h,]h*]h)]h-]uhOK�hQ]qphZX���AuthorqqÖÅqr}qs(h%hmh/hkubaubcdocutils.nodes field_body qt)Åqu}qv(h%X���Dave Vieglas h&}qw(h(]h,]h*]h)]h-]uh/hehQ]qxcdocutils.nodes paragraph qy)Åqz}q{(h%X���Dave Vieglasq|h/huhHh+hIU paragraphq}h&}q~(h(]h,]h*]h)]h-]uhOKhQ]qhZX���Dave VieglasqÄÖÅqÅ}qÇ(h%h|h/hzubaubahIU field_bodyqÉubeubaubhy)ÅqÑ}qÖ(h%XR���This document contains notes about replication that may be of some use in DataONE.qÜh/hFhHh+hIh}h&}qá(h(]h,]h*]h)]h-]uhOKhPhhQ]qàhZXR���This document contains notes about replication that may be of some use in DataONE.qâÖÅqä}qã(h%hÜh/hÑubaubhC)Åqå}qç(h%U�h/hFhHh+hIhJh&}qé(h(]h,]h*]h)]qèUgeneralqêah-]qëh auhOKhPhhQ]qí(hS)Åqì}qî(h%X���Generalqïh/håhHh+hIhWh&}qñ(h(]h,]h*]h)]h-]uhOKhPhhQ]qóhZX���GeneralqòÖÅqô}qö(h%hïh/hìubaubcdocutils.nodes block_quote qõ)Åqú}qù(h%U�h/håhHNhIUblock_quoteqûh&}qü(h(]h,]h*]h)]h-]uhONhPhhQ]q†cdocutils.nodes enumerated_list q°)Åq¢}q£(h%U�h&}q§(Usuffixq•U.h)]h*]h(]Uprefixq¶U�h,]h-]UenumtypeqßUarabicq®uh/húhQ]q©(cdocutils.nodes list_item q™)Åq´}q¨(h%X=���Reduce complex transactions to be written by a single server h&}q≠(h(]h,]h*]h)]h-]uh/h¢hQ]qÆhy)ÅqØ}q∞(h%X<���Reduce complex transactions to be written by a single serverq±h/h´hHh+hIh}h&}q≤(h(]h,]h*]h)]h-]uhOKhQ]q≥hZX<���Reduce complex transactions to be written by a single serverq¥ÖÅqµ}q∂(h%h±h/hØubaubahIU list_itemq∑ubh™)Åq∏}qπ(h%X���Monitor the server log h&}q∫(h(]h,]h*]h)]h-]uh/h¢hQ]qªhy)Åqº}qΩ(h%X���Monitor the server logqæh/h∏hHh+hIh}h&}qø(h(]h,]h*]h)]h-]uhOKhQ]q¿hZX���Monitor the server logq¡ÖÅq¬}q√(h%hæh/hºubaubahIh∑ubh™)Åqƒ}q≈(h%Xo���Be prepared for failure. The more data is distributed and scaled, the more likely failure will be encountered. h&}q∆(h(]h,]h*]h)]h-]uh/h¢hQ]q«hy)Åq»}q…(h%Xn���Be prepared for failure. The more data is distributed and scaled, the more likely failure will be encountered.q h/hƒhHh+hIh}h&}qÀ(h(]h,]h*]h)]h-]uhOKhQ]qÃhZXn���Be prepared for failure. The more data is distributed and scaled, the more likely failure will be encountered.qÕÖÅqŒ}qœ(h%h h/h»ubaubahIh∑ubehIUenumerated_listq–ubaubeubhC)Åq—}q“(h%U�h/hFhHh+hIhJh&}q”(h(]h,]h*]h)]q‘Ucoordinating-nodesq’ah-]q÷hauhOKhPhhQ]q◊(hS)Åqÿ}qŸ(h%X���Coordinating Nodesq⁄h/h—hHh+hIhWh&}q€(h(]h,]h*]h)]h-]uhOKhPhhQ]q‹hZX���Coordinating Nodesq›ÖÅqfi}qfl(h%h⁄h/hÿubaubhy)Åq‡}q·(h%Xó���CNs need to keep a copy of all science metadata, and it is expected that each CN will be replicated with the others, so that each will appear the same.q‚h/h—hHh+hIh}h&}q„(h(]h,]h*]h)]h-]uhOKhPhhQ]q‰hZXó���CNs need to keep a copy of all science metadata, and it is expected that each CN will be replicated with the others, so that each will appear the same.qÂÖÅqÊ}qÁ(h%h‚h/h‡ubaubhy)ÅqË}qÈ(h%X&���There will be three CNs to start with.qÍh/h—hHh+hIh}h&}qÎ(h(]h,]h*]h)]h-]uhOKhPhhQ]qÏhZX&���There will be three CNs to start with.qÌÖÅqÓ}qÔ(h%hÍh/hËubaubhy)Åq}qÒ(h%XI���There's basically three models for dealing with replication in this case:qÚh/h—hHh+hIh}h&}qÛ(h(]h,]h*]h)]h-]uhOKhPhhQ]qÙhZXI���There's basically three models for dealing with replication in this case:qıÖÅqˆ}q˜(h%hÚh/hubaubhõ)Åq¯}q˘(h%U�h/h—hHNhIhûh&}q˙(h(]h,]h*]h)]h-]uhONhPhhQ]q˚cdocutils.nodes bullet_list q¸)Åq˝}q˛(h%U�h&}qˇ(Ubulletr���X���-h)]h*]h(]h,]h-]uh/h¯hQ]r��(h™)År��}r��(h%X���single master, two slavesr��h&}r��(h(]h,]h*]h)]h-]uh/h˝hQ]r��hy)År��}r��(h%j��h/j��hHh+hIh}h&}r ��(h(]h,]h*]h)]h-]uhOKhQ]r ��hZX���single master, two slavesr��ÖÅr��}r ��(h%j��h/j��ubaubahIh∑ubh™)År��}r��(h%X2���ring - write one, it writes to the next, and so onr��h&}r��(h(]h,]h*]h)]h-]uh/h˝hQ]r��hy)År��}r��(h%j��h/j��hHh+hIh}h&}r��(h(]h,]h*]h)]h-]uhOK hQ]r��hZX2���ring - write one, it writes to the next, and so onr��ÖÅr��}r��(h%j��h/j��ubaubahIh∑ubh™)År��}r��(h%X2���multi-master. Write to any, replication to others h&}r��(h(]h,]h*]h)]h-]uh/h˝hQ]r��hy)År��}r��(h%X1���multi-master. Write to any, replication to othersr ��h/j��hHh+hIh}h&}r!��(h(]h,]h*]h)]h-]uhOK!hQ]r"��hZX1���multi-master. Write to any, replication to othersr#��ÖÅr$��}r%��(h%j ��h/j��ubaubahIh∑ubehIUbullet_listr&��ubaubhy)År'��}r(��(h%X√���Multi-master replication would be the ideal option, as each CN would then offer identical functionality rather than the alternative of redirecting (presumably) 2/3 of requests to the master node.r)��h/h—hHh+hIh}h&}r*��(h(]h,]h*]h)]h-]uhOK#hPhhQ]r+��hZX√���Multi-master replication would be the ideal option, as each CN would then offer identical functionality rather than the alternative of redirecting (presumably) 2/3 of requests to the master node.r,��ÖÅr-��}r.��(h%j)��h/j'��ubaubhy)År/��}r0��(h%XF���There are basically two categories of information that are replicated:r1��h/h—hHh+hIh}h&}r2��(h(]h,]h*]h)]h-]uhOK'hPhhQ]r3��hZXF���There are basically two categories of information that are replicated:r4��ÖÅr5��}r6��(h%j1��h/j/��ubaubhõ)År7��}r8��(h%U�h/h—hHNhIhûh&}r9��(h(]h,]h*]h)]h-]uhONhPhhQ]r:��h¸)År;��}r<��(h%U�h&}r=��(j���X���-h)]h*]h(]h,]h-]uh/j7��hQ]r>��(h™)År?��}r@��(h%X8���science metadata, which is information about a data set h&}rA��(h(]h,]h*]h)]h-]uh/j;��hQ]rB��hy)ÅrC��}rD��(h%X7���science metadata, which is information about a data setrE��h/j?��hHh+hIh}h&}rF��(h(]h,]h*]h)]h-]uhOK)hQ]rG��hZX7���science metadata, which is information about a data setrH��ÖÅrI��}rJ��(h%jE��h/jC��ubaubahIh∑ubh™)ÅrK��}rL��(h%Xø���system metadata, which is information that is used to keep track of things such as the science metadata, MN capabilities and state, perhaps groups and access control lists, identity mappings h&}rM��(h(]h,]h*]h)]h-]uh/j;��hQ]rN��hy)ÅrO��}rP��(h%Xæ���system metadata, which is information that is used to keep track of things such as the science metadata, MN capabilities and state, perhaps groups and access control lists, identity mappingsrQ��h/jK��hHh+hIh}h&}rR��(h(]h,]h*]h)]h-]uhOK+hQ]rS��hZXæ���system metadata, which is information that is used to keep track of things such as the science metadata, MN capabilities and state, perhaps groups and access control lists, identity mappingsrT��ÖÅrU��}rV��(h%jQ��h/jO��ubaubahIh∑ubehIj&��ubaubeubhC)ÅrW��}rX��(h%U�h/hFhHh+hIhJh&}rY��(h(]h,]h*]h)]rZ��Umember-nodesr[��ah-]r\��hauhOK0hPhhQ]r]��(hS)År^��}r_��(h%X���Member Nodesr`��h/jW��hHh+hIhWh&}ra��(h(]h,]h*]h)]h-]uhOK0hPhhQ]rb��hZX���Member Nodesrc��ÖÅrd��}re��(h%j`��h/j^��ubaubhy)Årf��}rg��(h%X��Replication of data is achieved by copying content between Member Nodes until sufficient copies have been made to address concerns of access (x% of MNs may be offline and the content can still be reached) and efficiency of access (Internet distance between client and the MN).rh��h/jW��hHh+hIh}h&}ri��(h(]h,]h*]h)]h-]uhOK2hPhhQ]rj��hZX��Replication of data is achieved by copying content between Member Nodes until sufficient copies have been made to address concerns of access (x% of MNs may be offline and the content can still be reached) and efficiency of access (Internet distance between client and the MN).rk��ÖÅrl��}rm��(h%jh��h/jf��ubaubeubhC)Årn��}ro��(h%U�h/hFhHh+hIhJh&}rp��(h(]h,]h*]h)]rq��U resourcesrr��ah-]rs��hauhOK8hPhhQ]rt��(hS)Åru��}rv��(h%X ���Resourcesrw��h/jn��hHh+hIhWh&}rx��(h(]h,]h*]h)]h-]uhOK8hPhhQ]ry��hZX ���Resourcesrz��ÖÅr{��}r|��(h%jw��h/ju��ubaubhõ)År}��}r~��(h%U�h/jn��hHNhIhûh&}r��(h(]h,]h*]h)]h-]uhONhPhhQ]rÄ��h¸)ÅrÅ��}rÇ��(h%U�h&}rÉ��(j���X���-h)]h*]h(]h,]h-]uh/j}��hQ]rÑ��(h™)ÅrÖ��}rÜ��(h%X���rcs - venerable, functionalrá��h&}rà��(h(]h,]h*]h)]h-]uh/jÅ��hQ]râ��hy)Årä��}rã��(h%já��h/jÖ��hHh+hIh}h&}rå��(h(]h,]h*]h)]h-]uhOK:hQ]rç��hZX���rcs - venerable, functionalré��ÖÅrè��}rê��(h%já��h/jä��ubaubahIh∑ubh™)Årë��}rí��(h%X.���inotify - the linux kernel file system monitorrì��h&}rî��(h(]h,]h*]h)]h-]uh/jÅ��hQ]rï��hy)Årñ��}ró��(h%jì��h/jë��hHh+hIh}h&}rò��(h(]h,]h*]h)]h-]uhOK;hQ]rô��hZX.���inotify - the linux kernel file system monitorrö��ÖÅrõ��}rú��(h%jì��h/jñ��ubaubahIh∑ubh™)Årù��}rû��(h%X2���LDAP multi-master (OpenLDAP, 389 Directory Server)rü��h&}r†��(h(]h,]h*]h)]h-]uh/jÅ��hQ]r°��hy)År¢��}r£��(h%jü��h/jù��hHh+hIh}h&}r§��(h(]h,]h*]h)]h-]uhOK<hQ]r•��hZX2���LDAP multi-master (OpenLDAP, 389 Directory Server)r¶��ÖÅrß��}r®��(h%jü��h/j¢��ubaubahIh∑ubh™)År©��}r™��(h%X���MySQL multi-masterr´��h&}r¨��(h(]h,]h*]h)]h-]uh/jÅ��hQ]r≠��hy)ÅrÆ��}rØ��(h%j´��h/j©��hHh+hIh}h&}r∞��(h(]h,]h*]h)]h-]uhOK=hQ]r±��hZX���MySQL multi-masterr≤��ÖÅr≥��}r¥��(h%j´��h/jÆ��ubaubahIh∑ubh™)Årµ��}r∂��(h%XJ���Microsoft's File System Replication Service and/or Distributed File Systemr∑��h&}r∏��(h(]h,]h*]h)]h-]uh/jÅ��hQ]rπ��hy)År∫��}rª��(h%j∑��h/jµ��hHh+hIh}h&}rº��(h(]h,]h*]h)]h-]uhOK>hQ]rΩ��hZXJ���Microsoft's File System Replication Service and/or Distributed File Systemræ��ÖÅrø��}r¿��(h%j∑��h/j∫��ubaubahIh∑ubh™)År¡��}r¬��(h%X���slony1 for Postgresqlr√��h&}rƒ��(h(]h,]h*]h)]h-]uh/jÅ��hQ]r≈��hy)År∆��}r«��(h%j√��h/j¡��hHh+hIh}h&}r»��(h(]h,]h*]h)]h-]uhOK?hQ]r…��hZX���slony1 for Postgresqlr ��ÖÅrÀ��}rÃ��(h%j√��h/j∆��ubaubahIh∑ubh™)ÅrÕ��}rŒ��(h%X���DRBD_ (dual master)rœ��h&}r–��(h(]h,]h*]h)]h-]uh/jÅ��hQ]r—��hy)År“��}r”��(h%jœ��h/jÕ��hHh+hIh}h&}r‘��(h(]h,]h*]h)]h-]uhOK@hQ]r’��(cdocutils.nodes reference r÷��)År◊��}rÿ��(h%X���DRBD_UresolvedrŸ��Kh/j“��hIU referencer⁄��h&}r€��(UnameX���DRBDUrefurir‹��X&���http://www.drbd.org/home/what-is-drbd/r›��h)]h*]h(]h,]h-]uhQ]rfi��hZX���DRBDrfl��ÖÅr‡��}r·��(h%U�h/j◊��ubaubhZX��� (dual master)r‚��ÖÅr„��}r‰��(h%X��� (dual master)h/j“��ubeubahIh∑ubh™)ÅrÂ��}rÊ��(h%X���Git_rÁ��h&}rË��(h(]h,]h*]h)]h-]uh/jÅ��hQ]rÈ��hy)ÅrÍ��}rÎ��(h%jÁ��h/jÂ��hHh+hIh}h&}rÏ��(h(]h,]h*]h)]h-]uhOKAhQ]rÌ��j÷��)ÅrÓ��}rÔ��(h%X���Git_jŸ��Kh/jÍ��hIj⁄��h&}r��(UnameX���Gitj‹��X���http://git-scm.com/rÒ��h)]h*]h(]h,]h-]uhQ]rÚ��hZX���GitrÛ��ÖÅrÙ��}rı��(h%U�h/jÓ��ubaubaubahIh∑ubh™)Årˆ��}r˜��(h%X ���Mercurial_r¯��h&}r˘��(h(]h,]h*]h)]h-]uh/jÅ��hQ]r˙��hy)År˚��}r¸��(h%j¯��h/jˆ��hHh+hIh}h&}r˝��(h(]h,]h*]h)]h-]uhOKBhQ]r˛��j÷��)Årˇ��}r���(h%X ���Mercurial_jŸ��Kh/j˚��hIj⁄��h&}r��(UnameX ���Mercurialj‹��X���http://mercurial.selenic.com/r��h)]h*]h(]h,]h-]uhQ]r��hZX ���Mercurialr��ÖÅr��}r��(h%U�h/jˇ��ubaubaubahIh∑ubh™)År��}r��(h%X���Bazaar_r ��h&}r ��(h(]h,]h*]h)]h-]uh/jÅ��hQ]r��hy)År��}r ��(h%j ��h/j��hHh+hIh}h&}r��(h(]h,]h*]h)]h-]uhOKChQ]r��j÷��)År��}r��(h%X���Bazaar_jŸ��Kh/j��hIj⁄��h&}r��(UnameX���Bazaarj‹��X���http://bazaar-vcs.org/en/r��h)]h*]h(]h,]h-]uhQ]r��hZX���Bazaarr��ÖÅr��}r��(h%U�h/j��ubaubaubahIh∑ubh™)År��}r��(h%X���Metacat_r��h&}r��(h(]h,]h*]h)]h-]uh/jÅ��hQ]r��hy)År��}r��(h%j��h/j��hHh+hIh}h&}r��(h(]h,]h*]h)]h-]uhOKDhQ]r ��j÷��)År!��}r"��(h%X���Metacat_jŸ��Kh/j��hIj⁄��h&}r#��(UnameX���Metacatj‹��X/���http://knb.ecoinformatics.org/software/metacat/r$��h)]h*]h(]h,]h-]uhQ]r%��hZX���Metacatr&��ÖÅr'��}r(��(h%U�h/j!��ubaubaubahIh∑ubh™)År)��}r*��(h%X���Zookeeper_ h&}r+��(h(]h,]h*]h)]h-]uh/jÅ��hQ]r,��hy)År-��}r.��(h%X ���Zookeeper_h/j)��hHh+hIh}h&}r/��(h(]h,]h*]h)]h-]uhOKEhQ]r0��j÷��)År1��}r2��(h%X ���Zookeeper_jŸ��Kh/j-��hIj⁄��h&}r3��(UnameX ���Zookeeperj‹��X"���http://hadoop.apache.org/zookeeperr4��h)]h*]h(]h,]h-]uhQ]r5��hZX ���Zookeeperr6��ÖÅr7��}r8��(h%U�h/j1��ubaubaubahIh∑ubehIj&��ubaubeubhC)År9��}r:��(h%U�h/hFhHh+hIhJh&}r;��(h(]h,]h*]h)]r<��Ucoordinating-node-object-storer=��ah-]r>��hauhOKIhPhhQ]r?��(hS)År@��}rA��(h%X���Coordinating Node Object StorerB��h/j9��hHh+hIhWh&}rC��(h(]h,]h*]h)]h-]uhOKIhPhhQ]rD��hZX���Coordinating Node Object StorerE��ÖÅrF��}rG��(h%jB��h/j@��ubaubhy)ÅrH��}rI��(h%Xj��The CN object store (CN-OS) is responsible for holding a copy of all science and system metadata, enabling retrieval of objects by an identifier and for ensuring that the local copy is synchronized with the other CNs. The CN-OS is analogous to a replicated dictionary with the identifiers being keys and the science or system metadata documents being the values.rJ��h/j9��hHh+hIh}h&}rK��(h(]h,]h*]h)]h-]uhOKKhPhhQ]rL��hZXj��The CN object store (CN-OS) is responsible for holding a copy of all science and system metadata, enabling retrieval of objects by an identifier and for ensuring that the local copy is synchronized with the other CNs. The CN-OS is analogous to a replicated dictionary with the identifiers being keys and the science or system metadata documents being the values.rM��ÖÅrN��}rO��(h%jJ��h/jH��ubaubhy)ÅrP��}rQ��(h%X$���The CN-OS should support operations:rR��h/j9��hHh+hIh}h&}rS��(h(]h,]h*]h)]h-]uhOKQhPhhQ]rT��hZX$���The CN-OS should support operations:rU��ÖÅrV��}rW��(h%jR��h/jP��ubaubh¸)ÅrX��}rY��(h%U�h/j9��hHh+hIj&��h&}rZ��(j���X���-h)]h*]h(]h,]h-]uhOKShPhhQ]r[��(h™)År\��}r]��(h%X���Create(pid) h/jX��hHh+hIh∑h&}r^��(h(]h,]h*]h)]h-]uhONhPhhQ]r_��hy)År`��}ra��(h%X���Create(pid)rb��h/j\��hHh+hIh}h&}rc��(h(]h,]h*]h)]h-]uhOKShQ]rd��hZX���Create(pid)re��ÖÅrf��}rg��(h%jb��h/j`��ubaubaubh™)Årh��}ri��(h%X ���Read(pid) h/jX��hHh+hIh∑h&}rj��(h(]h,]h*]h)]h-]uhONhPhhQ]rk��hy)Årl��}rm��(h%X ���Read(pid)rn��h/jh��hHh+hIh}h&}ro��(h(]h,]h*]h)]h-]uhOKUhQ]rp��hZX ���Read(pid)rq��ÖÅrr��}rs��(h%jn��h/jl��ubaubaubh™)Årt��}ru��(h%X���Update(pid) h/jX��hHh+hIh∑h&}rv��(h(]h,]h*]h)]h-]uhONhPhhQ]rw��hy)Årx��}ry��(h%X���Update(pid)rz��h/jt��hHh+hIh}h&}r{��(h(]h,]h*]h)]h-]uhOKWhQ]r|��hZX���Update(pid)r}��ÖÅr~��}r��(h%jz��h/jx��ubaubaubh™)ÅrÄ��}rÅ��(h%X���Delete(pid) h/jX��hHh+hIh∑h&}rÇ��(h(]h,]h*]h)]h-]uhONhPhhQ]rÉ��hy)ÅrÑ��}rÖ��(h%X���Delete(pid)rÜ��h/jÄ��hHh+hIh}h&}rá��(h(]h,]h*]h)]h-]uhOKYhQ]rà��hZX���Delete(pid)râ��ÖÅrä��}rã��(h%jÜ��h/jÑ��ubaubaubh™)Årå��}rç��(h%X!���List(start, stop, restriction) h/jX��hHh+hIh∑h&}ré��(h(]h,]h*]h)]h-]uhONhPhhQ]rè��hy)Årê��}rë��(h%X���List(start, stop, restriction)rí��h/jå��hHh+hIh}h&}rì��(h(]h,]h*]h)]h-]uhOK[hQ]rî��hZX���List(start, stop, restriction)rï��ÖÅrñ��}ró��(h%jí��h/jê��ubaubaubeubeubhDhC)Årò��}rô��(h%U�h/hFhHh+hIhJh&}rö��(h(]h,]h*]h)]rõ��U using-a-distributed-lock-managerrú��ah-]rù��hauhOKÇhPhhQ]rû��(hS)Årü��}r†��(h%X ���Using a Distributed Lock Managerr°��h/jò��hHh+hIhWh&}r¢��(h(]h,]h*]h)]h-]uhOKÇhPhhQ]r£��hZX ���Using a Distributed Lock Managerr§��ÖÅr•��}r¶��(h%j°��h/jü��ubaubhy)Årß��}r®��(h%Xÿ���Apache Zookeeper_ can be used as a distributed lock manager to assist with synchronization of records, especially across the CNs. Zookeeper is interesting because it can potentially scale to many more than three CNs.h/jò��hHh+hIh}h&}r©��(h(]h,]h*]h)]h-]uhOKÑhPhhQ]r™��(hZX���Apache r´��ÖÅr¨��}r≠��(h%X���Apache h/jß��ubj÷��)ÅrÆ��}rØ��(h%X ���Zookeeper_jŸ��Kh/jß��hIj⁄��h&}r∞��(UnameX ���Zookeeperj‹��j4��h)]h*]h(]h,]h-]uhQ]r±��hZX ���Zookeeperr≤��ÖÅr≥��}r¥��(h%U�h/jÆ��ubaubhZX«��� can be used as a distributed lock manager to assist with synchronization of records, especially across the CNs. Zookeeper is interesting because it can potentially scale to many more than three CNs.rµ��ÖÅr∂��}r∑��(h%X«��� can be used as a distributed lock manager to assist with synchronization of records, especially across the CNs. Zookeeper is interesting because it can potentially scale to many more than three CNs.h/jß��ubeubhy)År∏��}rπ��(h%X¡���In this case we would create a globally synchronous lock on a specific PID (essentially the same as the Lock operation of Metacat). The basic procedure is described in the `Zookeeper recipes`_.h/jò��hHh+hIh}h&}r∫��(h(]h,]h*]h)]h-]uhOKàhPhhQ]rª��(hZX¨���In this case we would create a globally synchronous lock on a specific PID (essentially the same as the Lock operation of Metacat). The basic procedure is described in the rº��ÖÅrΩ��}ræ��(h%X¨���In this case we would create a globally synchronous lock on a specific PID (essentially the same as the Lock operation of Metacat). The basic procedure is described in the h/j∏��ubj÷��)Årø��}r¿��(h%X���`Zookeeper recipes`_jŸ��Kh/j∏��hIj⁄��h&}r¡��(UnameX���Zookeeper recipesj‹��XL���http://hadoop.apache.org/zookeeper/docs/r3.1.1/recipes.html#sc_recipes_Locksr¬��h)]h*]h(]h,]h-]uhQ]r√��hZX���Zookeeper recipesrƒ��ÖÅr≈��}r∆��(h%U�h/jø��ubaubhZX���.ÖÅr«��}r»��(h%X���.h/j∏��ubeubeubhC)År…��}r ��(h%U�h/hFhHh+hIhJh&}rÀ��(h(]h,]h*]h)]rÃ��U!distributed-execution-environmentrÕ��ah-]rŒ��hauhOKéhPhhQ]rœ��(hS)År–��}r—��(h%X!���Distributed Execution Environmentr“��h/j…��hHh+hIhWh&}r”��(h(]h,]h*]h)]h-]uhOKéhPhhQ]r‘��hZX!���Distributed Execution Environmentr’��ÖÅr÷��}r◊��(h%j“��h/j–��ubaubhy)Årÿ��}rŸ��(h%X∏���For example, hazelcast_. These types of solutions are typically developed with LAN clusters in mind, and may run into problems with higher latency networks. Interesting product though.h/j…��hHh+hIh}h&}r⁄��(h(]h,]h*]h)]h-]uhOKêhPhhQ]r€��(hZX ���For example, r‹��ÖÅr›��}rfi��(h%X ���For example, h/jÿ��ubj÷��)Årfl��}r‡��(h%X ���hazelcast_jŸ��Kh/jÿ��hIj⁄��h&}r·��(UnameX ���hazelcastr‚��j‹��X���http://www.hazelcast.com/r„��h)]h*]h(]h,]h-]uhQ]r‰��hZX ���hazelcastrÂ��ÖÅrÊ��}rÁ��(h%U�h/jfl��ubaubhZX°���. These types of solutions are typically developed with LAN clusters in mind, and may run into problems with higher latency networks. Interesting product though.rË��ÖÅrÈ��}rÍ��(h%X°���. These types of solutions are typically developed with LAN clusters in mind, and may run into problems with higher latency networks. Interesting product though.h/jÿ��ubeubeubhC)ÅrÎ��}rÏ��(h%U�h/hFhHh+hIhJh&}rÌ��(h(]h,]h*]h)]rÓ��U9file-based-object-store-with-distributed-revision-controlrÔ��ah-]r��h auhOKñhPhhQ]rÒ��(hS)ÅrÚ��}rÛ��(h%X9���File Based Object Store with Distributed Revision ControlrÙ��h/jÎ��hHh+hIhWh&}rı��(h(]h,]h*]h)]h-]uhOKñhPhhQ]rˆ��hZX9���File Based Object Store with Distributed Revision Controlr˜��ÖÅr¯��}r˘��(h%jÙ��h/jÚ��ubaubhy)År˙��}r˚��(h%X‘���These notes describe a strategy of utilizing the Linux file system and a `distributed version control`_ system (DVC) such as Git_ or Mercurial_ as the science and system metadata store for the Coordinating Nodes.h/jÎ��hHh+hIh}h&}r¸��(h(]h,]h*]h)]h-]uhOKòhPhhQ]r˝��(hZXI���These notes describe a strategy of utilizing the Linux file system and a r˛��ÖÅrˇ��}r���(h%XI���These notes describe a strategy of utilizing the Linux file system and a h/j˙��ubj÷��)År��}r��(h%X���`distributed version control`_jŸ��Kh/j˙��hIj⁄��h&}r��(UnameX���distributed version controlj‹��X9���http://en.wikipedia.org/wiki/Distributed_revision_controlr��h)]h*]h(]h,]h-]uhQ]r��hZX���distributed version controlr��ÖÅr��}r��(h%U�h/j��ubaubhZX��� system (DVC) such as r ��ÖÅr ��}r��(h%X��� system (DVC) such as h/j˙��ubj÷��)År��}r ��(h%X���Git_jŸ��Kh/j˙��hIj⁄��h&}r��(UnameX���Gitj‹��jÒ��h)]h*]h(]h,]h-]uhQ]r��hZX���Gitr��ÖÅr��}r��(h%U�h/j��ubaubhZX��� or r��ÖÅr��}r��(h%X��� or h/j˙��ubj÷��)År��}r��(h%X ���Mercurial_jŸ��Kh/j˙��hIj⁄��h&}r��(UnameX ���Mercurialj‹��j��h)]h*]h(]h,]h-]uhQ]r��hZX ���Mercurialr��ÖÅr��}r��(h%U�h/j��ubaubhZXE��� as the science and system metadata store for the Coordinating Nodes.r��ÖÅr��}r��(h%XE��� as the science and system metadata store for the Coordinating Nodes.h/j˙��ubeubhy)År ��}r!��(h%XB��The basic approach is to treat all primary instances of science and system metadata as files that are stored on the Linux file system. The files are located in one or more folders that are under revision control using the DVC. As a new metadata file is added to a CN, it is replicated to the other CNs on a scheduled basis (e.g. every 10 minutes or when n files have been changed or added). Change notification hooks (e.g. commit scripts) are used to update local databases that are used to search science metadata (e.g. the Mercury index) or the local system metadata database.r"��h/jÎ��hHh+hIh}h&}r#��(h(]h,]h*]h)]h-]uhOKúhPhhQ]r$��hZXB��The basic approach is to treat all primary instances of science and system metadata as files that are stored on the Linux file system. The files are located in one or more folders that are under revision control using the DVC. As a new metadata file is added to a CN, it is replicated to the other CNs on a scheduled basis (e.g. every 10 minutes or when n files have been changed or added). Change notification hooks (e.g. commit scripts) are used to update local databases that are used to search science metadata (e.g. the Mercury index) or the local system metadata database.r%��ÖÅr&��}r'��(h%j"��h/j ��ubaubhC)År(��}r)��(h%U�h/jÎ��hHh+hIhJh&}r*��(h(]h,]h*]h)]r+��U scenario-1-adding-a-new-documentr,��ah-]r-��hauhOKßhPhhQ]r.��(hS)År/��}r0��(h%X!���Scenario 1: Adding a new documentr1��h/j(��hHh+hIhWh&}r2��(h(]h,]h*]h)]h-]uhOKßhPhhQ]r3��hZX!���Scenario 1: Adding a new documentr4��ÖÅr5��}r6��(h%j1��h/j/��ubaubh°)År7��}r8��(h%U�h/j(��hHh+hIh–h&}r9��(h•U.h)]h*]h(]h¶U�h,]h-]hßh®uhOK©hPhhQ]r:��(h™)År;��}r<��(h%XN���A new document (d) is retrieved from a MN (or is pushed to the CN by the MN). h/j7��hHh+hIh∑h&}r=��(h(]h,]h*]h)]h-]uhONhPhhQ]r>��hy)År?��}r@��(h%XM���A new document (d) is retrieved from a MN (or is pushed to the CN by the MN).rA��h/j;��hHh+hIh}h&}rB��(h(]h,]h*]h)]h-]uhOK©hQ]rC��hZXM���A new document (d) is retrieved from a MN (or is pushed to the CN by the MN).rD��ÖÅrE��}rF��(h%jA��h/j?��ubaubaubh™)ÅrG��}rH��(h%XG���The document is added to the file system and added to version control. h/j7��hHh+hIh∑h&}rI��(h(]h,]h*]h)]h-]uhONhPhhQ]rJ��hy)ÅrK��}rL��(h%XF���The document is added to the file system and added to version control.rM��h/jG��hHh+hIh}h&}rN��(h(]h,]h*]h)]h-]uhOK¨hQ]rO��hZXF���The document is added to the file system and added to version control.rP��ÖÅrQ��}rR��(h%jM��h/jK��ubaubaubh™)ÅrS��}rT��(h%Xl���In response to some trigger (time or number of commits), the DVC initiates a sync with other repositories. h/j7��hHh+hIh∑h&}rU��(h(]h,]h*]h)]h-]uhONhPhhQ]rV��hy)ÅrW��}rX��(h%Xj���In response to some trigger (time or number of commits), the DVC initiates a sync with other repositories.rY��h/jS��hHh+hIh}h&}rZ��(h(]h,]h*]h)]h-]uhOKÆhQ]r[��hZXj���In response to some trigger (time or number of commits), the DVC initiates a sync with other repositories.r\��ÖÅr]��}r^��(h%jY��h/jW��ubaubaubeubeubhC)År_��}r`��(h%U�h/jÎ��hHh+hIhJh&}ra��(h(]h,]h*]h)]rb��U advantagesrc��ah-]rd��hauhOK≥hPhhQ]re��(hS)Årf��}rg��(h%X ���Advantagesrh��h/j_��hHh+hIhWh&}ri��(h(]h,]h*]h)]h-]uhOK≥hPhhQ]rj��hZX ���Advantagesrk��ÖÅrl��}rm��(h%jh��h/jf��ubaubh¸)Årn��}ro��(h%U�h/j_��hHh+hIj&��h&}rp��(j���X���-h)]h*]h(]h,]h-]uhOKµhPhhQ]rq��(h™)Årr��}rs��(h%X!���Very simple replication mechanismrt��h/jn��hHh+hIh∑h&}ru��(h(]h,]h*]h)]h-]uhONhPhhQ]rv��hy)Årw��}rx��(h%jt��h/jr��hHh+hIh}h&}ry��(h(]h,]h*]h)]h-]uhOKµhQ]rz��hZX!���Very simple replication mechanismr{��ÖÅr|��}r}��(h%jt��h/jw��ubaubaubh™)År~��}r��(h%X<���Scalable, especially through partitioning of the file systemrÄ��h/jn��hHh+hIh∑h&}rÅ��(h(]h,]h*]h)]h-]uhONhPhhQ]rÇ��hy)ÅrÉ��}rÑ��(h%jÄ��h/j~��hHh+hIh}h&}rÖ��(h(]h,]h*]h)]h-]uhOK∂hQ]rÜ��hZX<���Scalable, especially through partitioning of the file systemrá��ÖÅrà��}râ��(h%jÄ��h/jÉ��ubaubaubh™)Årä��}rã��(h%X���No global write lock necessaryrå��h/jn��hHh+hIh∑h&}rç��(h(]h,]h*]h)]h-]uhONhPhhQ]ré��hy)Årè��}rê��(h%jå��h/jä��hHh+hIh}h&}rë��(h(]h,]h*]h)]h-]uhOK∑hQ]rí��hZX���No global write lock necessaryrì��ÖÅrî��}rï��(h%jå��h/jè��ubaubaubh™)Årñ��}ró��(h%X'���Agnostic with respect to the file typesrò��h/jn��hHh+hIh∑h&}rô��(h(]h,]h*]h)]h-]uhONhPhhQ]rö��hy)Årõ��}rú��(h%jò��h/jñ��hHh+hIh}h&}rù��(h(]h,]h*]h)]h-]uhOK∏hQ]rû��hZX'���Agnostic with respect to the file typesrü��ÖÅr†��}r°��(h%jò��h/jõ��ubaubaubh™)År¢��}r£��(h%X���Many existing toolsr§��h/jn��hHh+hIh∑h&}r•��(h(]h,]h*]h)]h-]uhONhPhhQ]r¶��hy)Årß��}r®��(h%j§��h/j¢��hHh+hIh}h&}r©��(h(]h,]h*]h)]h-]uhOKπhQ]r™��hZX���Many existing toolsr´��ÖÅr¨��}r≠��(h%j§��h/jß��ubaubaubh™)ÅrÆ��}rØ��(h%X ���Changes replicated through diffsr∞��h/jn��hHh+hIh∑h&}r±��(h(]h,]h*]h)]h-]uhONhPhhQ]r≤��hy)År≥��}r¥��(h%j∞��h/jÆ��hHh+hIh}h&}rµ��(h(]h,]h*]h)]h-]uhOK∫hQ]r∂��hZX ���Changes replicated through diffsr∑��ÖÅr∏��}rπ��(h%j∞��h/j≥��ubaubaubh™)År∫��}rª��(h%X<���Enable segmentation of all content through a simple taxonomyrº��h/jn��hHh+hIh∑h&}rΩ��(h(]h,]h*]h)]h-]uhONhPhhQ]ræ��hy)Årø��}r¿��(h%jº��h/j∫��hHh+hIh}h&}r¡��(h(]h,]h*]h)]h-]uhOKªhQ]r¬��hZX<���Enable segmentation of all content through a simple taxonomyr√��ÖÅrƒ��}r≈��(h%jº��h/jø��ubaubaubh™)År∆��}r«��(h%X\���General approach is RCS agnostic - could use Git, Bazaar or any other distributed RCS systemh/jn��hHh+hIh∑h&}r»��(h(]h,]h*]h)]h-]uhONhPhhQ]r…��hy)År ��}rÀ��(h%X\���General approach is RCS agnostic - could use Git, Bazaar or any other distributed RCS systemrÃ��h/j∆��hHh+hIh}h&}rÕ��(h(]h,]h*]h)]h-]uhOKºhQ]rŒ��hZX\���General approach is RCS agnostic - could use Git, Bazaar or any other distributed RCS systemrœ��ÖÅr–��}r—��(h%jÃ��h/j ��ubaubaubh™)År“��}r”��(h%X���Change detection is trivial h/jn��hHh+hIh∑h&}r‘��(h(]h,]h*]h)]h-]uhONhPhhQ]r’��hy)År÷��}r◊��(h%X���Change detection is trivialrÿ��h/j“��hHh+hIh}h&}rŸ��(h(]h,]h*]h)]h-]uhOKæhQ]r⁄��hZX���Change detection is trivialr€��ÖÅr‹��}r›��(h%jÿ��h/j÷��ubaubaubeubeubhC)Årfi��}rfl��(h%U�h/jÎ��hHh+hIhJh&}r‡��(h(]h,]h*]h)]r·��U disadvantagesr‚��ah-]r„��hauhOK¡hPhhQ]r‰��(hS)ÅrÂ��}rÊ��(h%X ���DisadvantagesrÁ��h/jfi��hHh+hIhWh&}rË��(h(]h,]h*]h)]h-]uhOK¡hPhhQ]rÈ��hZX ���DisadvantagesrÍ��ÖÅrÎ��}rÏ��(h%jÁ��h/jÂ��ubaubh¸)ÅrÌ��}rÓ��(h%U�h/jfi��hHh+hIj&��h&}rÔ��(j���X���-h)]h*]h(]h,]h-]uhOK√hPhhQ]r��(h™)ÅrÒ��}rÚ��(h%XB���File replication only, need to implement mechanisms for search etcrÛ��h/jÌ��hHh+hIh∑h&}rÙ��(h(]h,]h*]h)]h-]uhONhPhhQ]rı��hy)Årˆ��}r˜��(h%jÛ��h/jÒ��hHh+hIh}h&}r¯��(h(]h,]h*]h)]h-]uhOK√hQ]r˘��hZXB���File replication only, need to implement mechanisms for search etcr˙��ÖÅr˚��}r¸��(h%jÛ��h/jˆ��ubaubaubh™)År˝��}r˛��(h%X���No per-object access controlrˇ��h/jÌ��hHh+hIh∑h&}r���(h(]h,]h*]h)]h-]uhONhPhhQ]r��hy)År��}r��(h%jˇ��h/j˝��hHh+hIh}h&}r��(h(]h,]h*]h)]h-]uhOKƒhQ]r��hZX���No per-object access controlr��ÖÅr��}r��(h%jˇ��h/j��ubaubaubh™)År ��}r ��(h%X-���Potential for collisions for object instancesr��h/jÌ��hHh+hIh∑h&}r��(h(]h,]h*]h)]h-]uhONhPhhQ]r ��hy)År��}r��(h%j��h/j ��hHh+hIh}h&}r��(h(]h,]h*]h)]h-]uhOK≈hQ]r��hZX-���Potential for collisions for object instancesr��ÖÅr��}r��(h%j��h/j��ubaubaubh™)År��}r��(h%X)���How to (automatically) resolve conflicts?r��h/jÌ��hHh+hIh∑h&}r��(h(]h,]h*]h)]h-]uhONhPhhQ]r��hy)År��}r��(h%j��h/j��hHh+hIh}h&}r��(h(]h,]h*]h)]h-]uhOK∆hQ]r��hZX)���How to (automatically) resolve conflicts?r��ÖÅr��}r ��(h%j��h/j��ubaubaubh™)År!��}r"��(h%XC���Limitations on the absolute number of files per folder/filesystem h/jÌ��hHh+hIh∑h&}r#��(h(]h,]h*]h)]h-]uhONhPhhQ]r$��hy)År%��}r&��(h%XA���Limitations on the absolute number of files per folder/filesystemr'��h/j!��hHh+hIh}h&}r(��(h(]h,]h*]h)]h-]uhOK«hQ]r)��hZXA���Limitations on the absolute number of files per folder/filesystemr*��ÖÅr+��}r,��(h%j'��h/j%��ubaubaubeubcdocutils.nodes target r-��)År.��}r/��(h%X0���.. _DRBD: http://www.drbd.org/home/what-is-drbd/U referencedr0��Kh/jfi��hHh+hIUtargetr1��h&}r2��(j‹��j›��h)]r3��Udrbdr4��ah*]h(]h,]h-]r5��hauhOK hPhhQ]ubj-��)År6��}r7��(h%XX���.. _mm_replication: http://www.dbspecialists.com/files/presentations/mm_replication.htmlh/jfi��hHh+hIj1��h&}r8��(j‹��XD���http://www.dbspecialists.com/files/presentations/mm_replication.htmlh)]r9��Umm-replicationr:��ah*]h(]h,]h-]r;��hauhOKÃhPhhQ]ubj-��)År<��}r=��(h%XQ���.. _389 Directory Server: https://help.Ubuntu.com/community/FedoraDirectoryServerh/jfi��hHh+hIj1��h&}r>��(j‹��X7���https://help.Ubuntu.com/community/FedoraDirectoryServerh)]r?��Udirectory-serverr@��ah*]h(]h,]h-]rA��hauhOKŒhPhhQ]ubj-��)ÅrB��}rC��(h%XZ���.. _distributed version control: http://en.wikipedia.org/wiki/Distributed_revision_controlj0��Kh/jfi��hHh+hIj1��h&}rD��(j‹��j��h)]rE��Udistributed-version-controlrF��ah*]h(]h,]h-]rG��hauhOK–hPhhQ]ubj-��)ÅrH��}rI��(h%X,���.. _Mercurial: http://mercurial.selenic.com/j0��Kh/jfi��hHh+hIj1��h&}rJ��(j‹��j��h)]rK��U mercurialrL��ah*]h(]h,]h-]rM��hauhOK“hPhhQ]ubj-��)ÅrN��}rO��(h%X���.. _Git: http://git-scm.com/j0��Kh/jfi��hHh+hIj1��h&}rP��(j‹��jÒ��h)]rQ��UgitrR��ah*]h(]h,]h-]rS��h auhOK‘hPhhQ]ubj-��)ÅrT��}rU��(h%X1���.. _Zookeeper: http://hadoop.apache.org/zookeeperj0��Kh/jfi��hHh+hIj1��h&}rV��(j‹��j4��h)]rW��U zookeeperrX��ah*]h(]h,]h-]rY��hauhOK÷hPhhQ]ubj-��)ÅrZ��}r[��(h%Xc���.. _Zookeeper recipes: http://hadoop.apache.org/zookeeper/docs/r3.1.1/recipes.html#sc_recipes_Locksj0��Kh/jfi��hHh+hIj1��h&}r\��(j‹��j¬��h)]r]��Uzookeeper-recipesr^��ah*]h(]h,]h-]r_��hauhOKÿhPhhQ]ubj-��)År`��}ra��(h%X<���.. _Metacat: http://knb.ecoinformatics.org/software/metacat/j0��Kh/jfi��hHh+hIj1��h&}rb��(j‹��j$��h)]rc��Umetacatrd��ah*]h(]h,]h-]re��hauhOK⁄hPhhQ]ubj-��)Årf��}rg��(h%X%���.. _Bazaar: http://bazaar-vcs.org/en/j0��Kh/jfi��hHh+hIj1��h&}rh��(j‹��j��h)]ri��Ubazaarrj��ah*]h(]h,]h-]rk��hauhOK‹hPhhQ]ubj-��)Årl��}rm��(h%X(���.. _hazelcast: http://www.hazelcast.com/j0��Kh/jfi��hHh+hIj1��h&}rn��(j‹��j„��h)]ro��U hazelcastrp��ah*]h(]h,]h-]rq��hauhOKfihPhhQ]ubeubeubeubhHh+hIhJh&}rr��(h(]h,]h*]h)]rs��U%metacat-as-replicating-object-managerrt��ah-]ru��hauhOK`hPhhQ]rv��(hS)Årw��}rx��(h%X%���Metacat As Replicating Object Managerry��h/hDhHh+hIhWh&}rz��(h(]h,]h*]h)]h-]uhOK`hPhhQ]r{��hZX%���Metacat As Replicating Object Managerr|��ÖÅr}��}r~��(h%jy��h/jw��ubaubhy)År��}rÄ��(h%XÀ���Metacat_ is a flexible metadata database that utilizes XML as a common syntax for representing various types of metadata. In general, Metacat can be considered functionally equivalent to an XML database.h/hDhHh+hIh}h&}rÅ��(h(]h,]h*]h)]h-]uhOKbhPhhQ]rÇ��(j÷��)ÅrÉ��}rÑ��(h%X���Metacat_jŸ��Kh/j��hIj⁄��h&}rÖ��(UnameX���Metacatj‹��j$��h)]h*]h(]h,]h-]uhQ]rÜ��hZX���Metacatrá��ÖÅrà��}râ��(h%U�h/jÉ��ubaubhZX√��� is a flexible metadata database that utilizes XML as a common syntax for representing various types of metadata. In general, Metacat can be considered functionally equivalent to an XML database.rä��ÖÅrã��}rå��(h%X√��� is a flexible metadata database that utilizes XML as a common syntax for representing various types of metadata. In general, Metacat can be considered functionally equivalent to an XML database.h/j��ubeubhy)Årç��}ré��(h%Xp���Metacat supports replication of documents between instances, with replication being triggered by several events:rè��h/hDhHh+hIh}h&}rê��(h(]h,]h*]h)]h-]uhOKfhPhhQ]rë��hZXp���Metacat supports replication of documents between instances, with replication being triggered by several events:rí��ÖÅrì��}rî��(h%jè��h/jç��ubaubh¸)Årï��}rñ��(h%U�h/hDhHh+hIj&��h&}ró��(j���X���-h)]h*]h(]h,]h-]uhOKihPhhQ]rò��(h™)Årô��}rö��(h%X!���Timer, at pre-specified intervalsrõ��h/jï��hHh+hIh∑h&}rú��(h(]h,]h*]h)]h-]uhONhPhhQ]rù��hy)Årû��}rü��(h%jõ��h/jô��hHh+hIh}h&}r†��(h(]h,]h*]h)]h-]uhOKihQ]r°��hZX!���Timer, at pre-specified intervalsr¢��ÖÅr£��}r§��(h%jõ��h/jû��ubaubaubh™)År•��}r¶��(h%X,���Inserts, when a document is inserted locallyrß��h/jï��hHh+hIh∑h&}r®��(h(]h,]h*]h)]h-]uhONhPhhQ]r©��hy)År™��}r´��(h%jß��h/j•��hHh+hIh}h&}r¨��(h(]h,]h*]h)]h-]uhOKjhQ]r≠��hZX,���Inserts, when a document is inserted locallyrÆ��ÖÅrØ��}r∞��(h%jß��h/j™��ubaubaubh™)År±��}r≤��(h%X+���Updates, when a document is updated locallyr≥��h/jï��hHh+hIh∑h&}r¥��(h(]h,]h*]h)]h-]uhONhPhhQ]rµ��hy)År∂��}r∑��(h%j≥��h/j±��hHh+hIh}h&}r∏��(h(]h,]h*]h)]h-]uhOKkhQ]rπ��hZX+���Updates, when a document is updated locallyr∫��ÖÅrª��}rº��(h%j≥��h/j∂��ubaubaubh™)ÅrΩ��}ræ��(h%XO���Lock, when a lock is requested on a document (replication after lock received) h/jï��hHh+hIh∑h&}rø��(h(]h,]h*]h)]h-]uhONhPhhQ]r¿��hy)År¡��}r¬��(h%XN���Lock, when a lock is requested on a document (replication after lock received)r√��h/jΩ��hHh+hIh}h&}rƒ��(h(]h,]h*]h)]h-]uhOKlhQ]r≈��hZXN���Lock, when a lock is requested on a document (replication after lock received)r∆��ÖÅr«��}r»��(h%j√��h/j¡��ubaubaubeubhy)År…��}r ��(h%XÕ���With Metacat filling the role of the Coordinating Node Object Store, each CN Metacat instance would replicate with the other instances on the CNs. The configuration for DataONE CNs would be something like:rÀ��h/hDhHh+hIh}h&}rÃ��(h(]h,]h*]h)]h-]uhOKnhPhhQ]rÕ��hZXÕ���With Metacat filling the role of the Coordinating Node Object Store, each CN Metacat instance would replicate with the other instances on the CNs. The configuration for DataONE CNs would be something like:rŒ��ÖÅrœ��}r–��(h%jÀ��h/j…��ubaubhAeubhHh+hIUtabler—��h&}r“��(h(]h,]h*]h)]h-]uhONhPhhQ]r”��h=aubhQ]r‘��(cdocutils.nodes colspec r’��)År÷��}r◊��(h%U�h&}rÿ��(h)]h*]h(]h,]h-]UcolwidthKuh/h=hQ]hIUcolspecrŸ��ubj’��)År⁄��}r€��(h%U�h&}r‹��(h)]h*]h(]h,]h-]UcolwidthK uh/h=hQ]hIjŸ��ubj’��)År›��}rfi��(h%U�h&}rfl��(h)]h*]h(]h,]h-]UcolwidthK uh/h=hQ]hIjŸ��ubj’��)År‡��}r·��(h%U�h&}r‚��(h)]h*]h(]h,]h-]UcolwidthK uh/h=hQ]hIjŸ��ubj’��)År„��}r‰��(h%U�h&}rÂ��(h)]h*]h(]h,]h-]UcolwidthKuh/h=hQ]hIjŸ��ubcdocutils.nodes thead rÊ��)ÅrÁ��}rË��(h%U�h&}rÈ��(h(]h,]h*]h)]h-]uh/h=hQ]rÍ��h4)ÅrÎ��}rÏ��(h%U�h&}rÌ��(h(]h,]h*]h)]h-]uh/jÁ��hQ]rÓ��(h0)ÅrÔ��}r��(h%U�h&}rÒ��(h(]h,]h*]h)]h-]uh/jÎ��hQ]rÚ��hy)ÅrÛ��}rÙ��(h%X���hostrı��h/jÔ��hHh+hIh}h&}rˆ��(h(]h,]h*]h)]h-]uhOKshQ]r˜��hZX���hostr¯��ÖÅr˘��}r˙��(h%jı��h/jÛ��ubaubahIUentryr˚��ubh0)År¸��}r˝��(h%U�h&}r˛��(h(]h,]h*]h)]h-]uh/jÎ��hQ]rˇ��hy)År���}r��(h%X���serverr��h/j¸��hHh+hIh}h&}r��(h(]h,]h*]h)]h-]uhOKshQ]r��hZX���serverr��ÖÅr��}r��(h%j��h/j���ubaubahIj˚��ubh0)År��}r ��(h%U�h&}r ��(h(]h,]h*]h)]h-]uh/jÎ��hQ]r��hy)År��}r ��(h%X ���replicater��h/j��hHh+hIh}h&}r��(h(]h,]h*]h)]h-]uhOKshQ]r��hZX ���replicater��ÖÅr��}r��(h%j��h/j��ubaubahIj˚��ubh0)År��}r��(h%U�h&}r��(h(]h,]h*]h)]h-]uh/jÎ��hQ]r��hy)År��}r��(h%X ���datareplicater��h/j��hHh+hIh}h&}r��(h(]h,]h*]h)]h-]uhOKshQ]r��hZX ���datareplicater��ÖÅr��}r��(h%j��h/j��ubaubahIj˚��ubh0)År ��}r!��(h%U�h&}r"��(h(]h,]h*]h)]h-]uh/jÎ��hQ]r#��hy)År$��}r%��(h%X���hubr&��h/j ��hHh+hIh}h&}r'��(h(]h,]h*]h)]h-]uhOKshQ]r(��hZX���hubr)��ÖÅr*��}r+��(h%j&��h/j$��ubaubahIj˚��ubehIUrowr,��ubahIUtheadr-��ubh9ehIUtgroupr.��ubhQ]r/��(h4)År0��}r1��(h%U�h&}r2��(h(]h,]h*]h)]h-]uh/h9hQ]r3��(h0)År4��}r5��(h%U�h&}r6��(h(]h,]h*]h)]h-]uh/j0��hQ]r7��hy)År8��}r9��(h%X���cn1r:��h/j4��hHh+hIh}h&}r;��(h(]h,]h*]h)]h-]uhOKuhQ]r<��hZX���cn1r=��ÖÅr>��}r?��(h%j:��h/j8��ubaubahIj˚��ubh0)År@��}rA��(h%U�h&}rB��(h(]h,]h*]h)]h-]uh/j0��hQ]rC��hy)ÅrD��}rE��(h%X ���localhostrF��h/j@��hHh+hIh}h&}rG��(h(]h,]h*]h)]h-]uhOKuhQ]rH��hZX ���localhostrI��ÖÅrJ��}rK��(h%jF��h/jD��ubaubahIj˚��ubh0)ÅrL��}rM��(h%U�h&}rN��(h(]h,]h*]h)]h-]uh/j0��hQ]rO��hy)ÅrP��}rQ��(h%X���0h/jL��hHh+hIh}h&}rR��(h(]h,]h*]h)]h-]uhOKuhQ]rS��hZX���0ÖÅrT��}rU��(h%X���0h/jP��ubaubahIj˚��ubh0)ÅrV��}rW��(h%U�h&}rX��(h(]h,]h*]h)]h-]uh/j0��hQ]rY��hy)ÅrZ��}r[��(h%X���0h/jV��hHh+hIh}h&}r\��(h(]h,]h*]h)]h-]uhOKuhQ]r]��hZX���0ÖÅr^��}r_��(h%X���0h/jZ��ubaubahIj˚��ubh0)År`��}ra��(h%U�h&}rb��(h(]h,]h*]h)]h-]uh/j0��hQ]rc��hy)Ård��}re��(h%X���1h/j`��hHh+hIh}h&}rf��(h(]h,]h*]h)]h-]uhOKuhQ]rg��hZX���1ÖÅrh��}ri��(h%X���1h/jd��ubaubahIj˚��ubehIj,��ubh5h4)Årj��}rk��(h%U�h&}rl��(h(]h,]h*]h)]h-]uh/h9hQ]rm��(h0)Årn��}ro��(h%U�h&}rp��(h(]h,]h*]h)]h-]uh/jj��hQ]rq��hy)Årr��}rs��(h%X���.h/jn��hHh+hIh}h&}rt��(h(]h,]h*]h)]h-]uhOKwhQ]ru��hZX���.ÖÅrv��}rw��(h%X���.h/jr��ubaubahIj˚��ubh0)Årx��}ry��(h%U�h&}rz��(h(]h,]h*]h)]h-]uh/jj��hQ]r{��hy)År|��}r}��(h%X���cn3r~��h/jx��hHh+hIh}h&}r��(h(]h,]h*]h)]h-]uhOKwhQ]rÄ��hZX���cn3rÅ��ÖÅrÇ��}rÉ��(h%j~��h/j|��ubaubahIj˚��ubh0)ÅrÑ��}rÖ��(h%U�h&}rÜ��(h(]h,]h*]h)]h-]uh/jj��hQ]rá��hy)Årà��}râ��(h%X���1h/jÑ��hHh+hIh}h&}rä��(h(]h,]h*]h)]h-]uhOKwhQ]rã��hZX���1ÖÅrå��}rç��(h%X���1h/jà��ubaubahIj˚��ubh0)Åré��}rè��(h%U�h&}rê��(h(]h,]h*]h)]h-]uh/jj��hQ]rë��hy)Årí��}rì��(h%X���0h/jé��hHh+hIh}h&}rî��(h(]h,]h*]h)]h-]uhOKwhQ]rï��hZX���0ÖÅrñ��}ró��(h%X���0h/jí��ubaubahIj˚��ubh0)Årò��}rô��(h%U�h&}rö��(h(]h,]h*]h)]h-]uh/jj��hQ]rõ��hy)Årú��}rù��(h%X���1h/jò��hHh+hIh}h&}rû��(h(]h,]h*]h)]h-]uhOKwhQ]rü��hZX���1ÖÅr†��}r°��(h%X���1h/jú��ubaubahIj˚��ubehIj,��ubh4)År¢��}r£��(h%U�h&}r§��(h(]h,]h*]h)]h-]uh/h9hQ]r•��(h0)År¶��}rß��(h%U�h&}r®��(h(]h,]h*]h)]h-]uh/j¢��hQ]r©��hy)År™��}r´��(h%X���cn2r¨��h/j¶��hHh+hIh}h&}r≠��(h(]h,]h*]h)]h-]uhOKxhQ]rÆ��hZX���cn2rØ��ÖÅr∞��}r±��(h%j¨��h/j™��ubaubahIj˚��ubh0)År≤��}r≥��(h%U�h&}r¥��(h(]h,]h*]h)]h-]uh/j¢��hQ]rµ��hy)År∂��}r∑��(h%X ���localhostr∏��h/j≤��hHh+hIh}h&}rπ��(h(]h,]h*]h)]h-]uhOKxhQ]r∫��hZX ���localhostrª��ÖÅrº��}rΩ��(h%j∏��h/j∂��ubaubahIj˚��ubh0)Åræ��}rø��(h%U�h&}r¿��(h(]h,]h*]h)]h-]uh/j¢��hQ]r¡��hy)År¬��}r√��(h%X���0h/jæ��hHh+hIh}h&}rƒ��(h(]h,]h*]h)]h-]uhOKxhQ]r≈��hZX���0ÖÅr∆��}r«��(h%X���0h/j¬��ubaubahIj˚��ubh0)År»��}r…��(h%U�h&}r ��(h(]h,]h*]h)]h-]uh/j¢��hQ]rÀ��hy)ÅrÃ��}rÕ��(h%X���0h/j»��hHh+hIh}h&}rŒ��(h(]h,]h*]h)]h-]uhOKxhQ]rœ��hZX���0ÖÅr–��}r—��(h%X���0h/jÃ��ubaubahIj˚��ubh0)År“��}r”��(h%U�h&}r‘��(h(]h,]h*]h)]h-]uh/j¢��hQ]r’��hy)År÷��}r◊��(h%X���1h/j“��hHh+hIh}h&}rÿ��(h(]h,]h*]h)]h-]uhOKxhQ]rŸ��hZX���1ÖÅr⁄��}r€��(h%X���1h/j÷��ubaubahIj˚��ubehIj,��ubh4)År‹��}r›��(h%U�h&}rfi��(h(]h,]h*]h)]h-]uh/h9hQ]rfl��(h0)År‡��}r·��(h%U�h&}r‚��(h(]h,]h*]h)]h-]uh/j‹��hQ]r„��hy)År‰��}rÂ��(h%X���.h/j‡��hHh+hIh}h&}rÊ��(h(]h,]h*]h)]h-]uhOKyhQ]rÁ��hZX���.ÖÅrË��}rÈ��(h%X���.h/j‰��ubaubahIj˚��ubh0)ÅrÍ��}rÎ��(h%U�h&}rÏ��(h(]h,]h*]h)]h-]uh/j‹��hQ]rÌ��hy)ÅrÓ��}rÔ��(h%X���cn1r��h/jÍ��hHh+hIh}h&}rÒ��(h(]h,]h*]h)]h-]uhOKyhQ]rÚ��hZX���cn1rÛ��ÖÅrÙ��}rı��(h%j��h/jÓ��ubaubahIj˚��ubh0)Årˆ��}r˜��(h%U�h&}r¯��(h(]h,]h*]h)]h-]uh/j‹��hQ]r˘��hy)År˙��}r˚��(h%X���1h/jˆ��hHh+hIh}h&}r¸��(h(]h,]h*]h)]h-]uhOKyhQ]r˝��hZX���1ÖÅr˛��}rˇ��(h%X���1h/j˙��ubaubahIj˚��ubh0)År���}r��(h%U�h&}r��(h(]h,]h*]h)]h-]uh/j‹��hQ]r��hy)År��}r��(h%X���0h/j���hHh+hIh}h&}r��(h(]h,]h*]h)]h-]uhOKyhQ]r��hZX���0ÖÅr��}r ��(h%X���0h/j��ubaubahIj˚��ubh0)År ��}r��(h%U�h&}r��(h(]h,]h*]h)]h-]uh/j‹��hQ]r ��hy)År��}r��(h%X���1h/j ��hHh+hIh}h&}r��(h(]h,]h*]h)]h-]uhOKyhQ]r��hZX���1ÖÅr��}r��(h%X���1h/j��ubaubahIj˚��ubehIj,��ubh4)År��}r��(h%U�h&}r��(h(]h,]h*]h)]h-]uh/h9hQ]r��(h0)År��}r��(h%U�h&}r��(h(]h,]h*]h)]h-]uh/j��hQ]r��hy)År��}r��(h%X���.h/j��hHh+hIh}h&}r��(h(]h,]h*]h)]h-]uhOKzhQ]r��hZX���.ÖÅr ��}r!��(h%X���.h/j��ubaubahIj˚��ubh0)År"��}r#��(h%U�h&}r$��(h(]h,]h*]h)]h-]uh/j��hQ]r%��hy)År&��}r'��(h%X���cn3r(��h/j"��hHh+hIh}h&}r)��(h(]h,]h*]h)]h-]uhOKzhQ]r*��hZX���cn3r+��ÖÅr,��}r-��(h%j(��h/j&��ubaubahIj˚��ubh0)År.��}r/��(h%U�h&}r0��(h(]h,]h*]h)]h-]uh/j��hQ]r1��hy)År2��}r3��(h%X���1h/j.��hHh+hIh}h&}r4��(h(]h,]h*]h)]h-]uhOKzhQ]r5��hZX���1ÖÅr6��}r7��(h%X���1h/j2��ubaubahIj˚��ubh0)År8��}r9��(h%U�h&}r:��(h(]h,]h*]h)]h-]uh/j��hQ]r;��hy)År<��}r=��(h%X���0h/j8��hHh+hIh}h&}r>��(h(]h,]h*]h)]h-]uhOKzhQ]r?��hZX���0ÖÅr@��}rA��(h%X���0h/j<��ubaubahIj˚��ubh0)ÅrB��}rC��(h%U�h&}rD��(h(]h,]h*]h)]h-]uh/j��hQ]rE��hy)ÅrF��}rG��(h%X���1h/jB��hHh+hIh}h&}rH��(h(]h,]h*]h)]h-]uhOKzhQ]rI��hZX���1ÖÅrJ��}rK��(h%X���1h/jF��ubaubahIj˚��ubehIj,��ubh4)ÅrL��}rM��(h%U�h&}rN��(h(]h,]h*]h)]h-]uh/h9hQ]rO��(h0)ÅrP��}rQ��(h%U�h&}rR��(h(]h,]h*]h)]h-]uh/jL��hQ]rS��hy)ÅrT��}rU��(h%X���cn3rV��h/jP��hHh+hIh}h&}rW��(h(]h,]h*]h)]h-]uhOK{hQ]rX��hZX���cn3rY��ÖÅrZ��}r[��(h%jV��h/jT��ubaubahIj˚��ubh0)År\��}r]��(h%U�h&}r^��(h(]h,]h*]h)]h-]uh/jL��hQ]r_��hy)År`��}ra��(h%X ���localhostrb��h/j\��hHh+hIh}h&}rc��(h(]h,]h*]h)]h-]uhOK{hQ]rd��hZX ���localhostre��ÖÅrf��}rg��(h%jb��h/j`��ubaubahIj˚��ubh0)Årh��}ri��(h%U�h&}rj��(h(]h,]h*]h)]h-]uh/jL��hQ]rk��hy)Årl��}rm��(h%X���0h/jh��hHh+hIh}h&}rn��(h(]h,]h*]h)]h-]uhOK{hQ]ro��hZX���0ÖÅrp��}rq��(h%X���0h/jl��ubaubahIj˚��ubh0)Årr��}rs��(h%U�h&}rt��(h(]h,]h*]h)]h-]uh/jL��hQ]ru��hy)Årv��}rw��(h%X���0h/jr��hHh+hIh}h&}rx��(h(]h,]h*]h)]h-]uhOK{hQ]ry��hZX���0ÖÅrz��}r{��(h%X���0h/jv��ubaubahIj˚��ubh0)År|��}r}��(h%U�h&}r~��(h(]h,]h*]h)]h-]uh/jL��hQ]r��hy)ÅrÄ��}rÅ��(h%X���1h/j|��hHh+hIh}h&}rÇ��(h(]h,]h*]h)]h-]uhOK{hQ]rÉ��hZX���1ÖÅrÑ��}rÖ��(h%X���1h/jÄ��ubaubahIj˚��ubehIj,��ubh4)ÅrÜ��}rá��(h%U�h&}rà��(h(]h,]h*]h)]h-]uh/h9hQ]râ��(h0)Årä��}rã��(h%U�h&}rå��(h(]h,]h*]h)]h-]uh/jÜ��hQ]rç��hy)Åré��}rè��(h%X���.h/jä��hHh+hIh}h&}rê��(h(]h,]h*]h)]h-]uhOK|hQ]rë��hZX���.ÖÅrí��}rì��(h%X���.h/jé��ubaubahIj˚��ubh0)Årî��}rï��(h%U�h&}rñ��(h(]h,]h*]h)]h-]uh/jÜ��hQ]ró��hy)Årò��}rô��(h%X���cn1rö��h/jî��hHh+hIh}h&}rõ��(h(]h,]h*]h)]h-]uhOK|hQ]rú��hZX���cn1rù��ÖÅrû��}rü��(h%jö��h/jò��ubaubahIj˚��ubh0)År†��}r°��(h%U�h&}r¢��(h(]h,]h*]h)]h-]uh/jÜ��hQ]r£��hy)År§��}r•��(h%X���1h/j†��hHh+hIh}h&}r¶��(h(]h,]h*]h)]h-]uhOK|hQ]rß��hZX���1ÖÅr®��}r©��(h%X���1h/j§��ubaubahIj˚��ubh0)År™��}r´��(h%U�h&}r¨��(h(]h,]h*]h)]h-]uh/jÜ��hQ]r≠��hy)ÅrÆ��}rØ��(h%X���0h/j™��hHh+hIh}h&}r∞��(h(]h,]h*]h)]h-]uhOK|hQ]r±��hZX���0ÖÅr≤��}r≥��(h%X���0h/jÆ��ubaubahIj˚��ubh0)År¥��}rµ��(h%U�h&}r∂��(h(]h,]h*]h)]h-]uh/jÜ��hQ]r∑��hy)År∏��}rπ��(h%X���1h/j¥��hHh+hIh}h&}r∫��(h(]h,]h*]h)]h-]uhOK|hQ]rª��hZX���1ÖÅrº��}rΩ��(h%X���1h/j∏��ubaubahIj˚��ubehIj,��ubh4)Åræ��}rø��(h%U�h&}r¿��(h(]h,]h*]h)]h-]uh/h9hQ]r¡��(h0)År¬��}r√��(h%U�h&}rƒ��(h(]h,]h*]h)]h-]uh/jæ��hQ]r≈��hy)År∆��}r«��(h%X���.h/j¬��hHh+hIh}h&}r»��(h(]h,]h*]h)]h-]uhOK}hQ]r…��hZX���.ÖÅr ��}rÀ��(h%X���.h/j∆��ubaubahIj˚��ubh0)ÅrÃ��}rÕ��(h%U�h&}rŒ��(h(]h,]h*]h)]h-]uh/jæ��hQ]rœ��hy)År–��}r—��(h%X���cn2r“��h/jÃ��hHh+hIh}h&}r”��(h(]h,]h*]h)]h-]uhOK}hQ]r‘��hZX���cn2r’��ÖÅr÷��}r◊��(h%j“��h/j–��ubaubahIj˚��ubh0)Årÿ��}rŸ��(h%U�h&}r⁄��(h(]h,]h*]h)]h-]uh/jæ��hQ]r€��hy)År‹��}r›��(h%X���1h/jÿ��hHh+hIh}h&}rfi��(h(]h,]h*]h)]h-]uhOK}hQ]rfl��hZX���1ÖÅr‡��}r·��(h%X���1h/j‹��ubaubahIj˚��ubh0)År‚��}r„��(h%U�h&}r‰��(h(]h,]h*]h)]h-]uh/jæ��hQ]rÂ��hy)ÅrÊ��}rÁ��(h%X���0h/j‚��hHh+hIh}h&}rË��(h(]h,]h*]h)]h-]uhOK}hQ]rÈ��hZX���0ÖÅrÍ��}rÎ��(h%X���0h/jÊ��ubaubahIj˚��ubh0)ÅrÏ��}rÌ��(h%U�h&}rÓ��(h(]h,]h*]h)]h-]uh/jæ��hQ]rÔ��hy)År��}rÒ��(h%X���1h/jÏ��hHh+hIh}h&}rÚ��(h(]h,]h*]h)]h-]uhOK}hQ]rÛ��hZX���1ÖÅrÙ��}rı��(h%X���1h/j��ubaubahIj˚��ubehIj,��ubehIUtbodyrˆ��ubhQ]r˜��(h1h0)År¯��}r˘��(h%U�h&}r˙��(h(]h,]h*]h)]h-]uh/h5hQ]r˚��hy)År¸��}r˝��(h%X���cn2r˛��h/j¯��hHh+hIh}h&}rˇ��(h(]h,]h*]h)]h-]uhOKvhQ]r���hZX���cn2r��ÖÅr��}r��(h%j˛��h/j¸��ubaubahIj˚��ubh0)År��}r��(h%U�h&}r��(h(]h,]h*]h)]h-]uh/h5hQ]r��hy)År��}r ��(h%X���1h/j��hHh+hIh}h&}r ��(h(]h,]h*]h)]h-]uhOKvhQ]r��hZX���1ÖÅr��}r ��(h%X���1h/j��ubaubahIj˚��ubh0)År��}r��(h%U�h&}r��(h(]h,]h*]h)]h-]uh/h5hQ]r��hy)År��}r��(h%X���0h/j��hHh+hIh}h&}r��(h(]h,]h*]h)]h-]uhOKvhQ]r��hZX���0ÖÅr��}r��(h%X���0h/j��ubaubahIj˚��ubh0)År��}r��(h%U�h&}r��(h(]h,]h*]h)]h-]uh/h5hQ]r��hy)År��}r��(h%X���1h/j��hHh+hIh}h&}r��(h(]h,]h*]h)]h-]uhOKvhQ]r��hZX���1ÖÅr ��}r!��(h%X���1h/j��ubaubahIj˚��ubehIj,��ubhQ]r"��hy)År#��}r$��(h%X���.h/h1hHh+hIh}h&}r%��(h(]h,]h*]h)]h-]uhOKvhQ]r&��hZX���.ÖÅr'��}r(��(h%X���.h/j#��ubaubahIj˚��ubhQ]r)��hy)År*��}r+��(h%Xe���Unexpected possible title overline or transition. Treating it as ordinary text because it's so short.h&}r,��(h(]h,]h*]h)]h-]uh/h#hQ]r-��hZXe���Unexpected possible title overline or transition. Treating it as ordinary text because it's so short.r.��ÖÅr/��}r0��(h%U�h/j*��ubahIh}ubahIUsystem_messager1��ubh")År2��}r3��(h%U�h&}r4��(h(]UlevelKh)]h*]Usourceh+h,]h-]UlineKxUtypeh.uh/jn��hQ]r5��hy)År6��}r7��(h%Xe���Unexpected possible title overline or transition. Treating it as ordinary text because it's so short.h&}r8��(h(]h,]h*]h)]h-]uh/j2��hQ]r9��hZXe���Unexpected possible title overline or transition. Treating it as ordinary text because it's so short.r:��ÖÅr;��}r<��(h%U�h/j6��ubahIh}ubahIj1��ubh")År=��}r>��(h%U�h&}r?��(h(]UlevelKh)]h*]Usourceh+h,]h-]UlineKzUtypeh.uh/j‡��hQ]r@��hy)ÅrA��}rB��(h%Xe���Unexpected possible title overline or transition. Treating it as ordinary text because it's so short.h&}rC��(h(]h,]h*]h)]h-]uh/j=��hQ]rD��hZXe���Unexpected possible title overline or transition. Treating it as ordinary text because it's so short.rE��ÖÅrF��}rG��(h%U�h/jA��ubahIh}ubahIj1��ubh")ÅrH��}rI��(h%U�h&}rJ��(h(]UlevelKh)]h*]Usourceh+h,]h-]UlineK{Utypeh.uh/j��hQ]rK��hy)ÅrL��}rM��(h%Xe���Unexpected possible title overline or transition. Treating it as ordinary text because it's so short.h&}rN��(h(]h,]h*]h)]h-]uh/jH��hQ]rO��hZXe���Unexpected possible title overline or transition. Treating it as ordinary text because it's so short.rP��ÖÅrQ��}rR��(h%U�h/jL��ubahIh}ubahIj1��ubh")ÅrS��}rT��(h%U�h&}rU��(h(]UlevelKh)]h*]Usourceh+h,]h-]UlineK}Utypeh.uh/jä��hQ]rV��hy)ÅrW��}rX��(h%Xe���Unexpected possible title overline or transition. Treating it as ordinary text because it's so short.h&}rY��(h(]h,]h*]h)]h-]uh/jS��hQ]rZ��hZXe���Unexpected possible title overline or transition. Treating it as ordinary text because it's so short.r[��ÖÅr\��}r]��(h%U�h/jW��ubahIh}ubahIj1��ubh")År^��}r_��(h%U�h&}r`��(h(]UlevelKh)]h*]Usourceh+h,]h-]UlineK~Utypeh.uh/j¬��hQ]ra��hy)Årb��}rc��(h%Xe���Unexpected possible title overline or transition. Treating it as ordinary text because it's so short.h&}rd��(h(]h,]h*]h)]h-]uh/j^��hQ]re��hZXe���Unexpected possible title overline or transition. Treating it as ordinary text because it's so short.rf��ÖÅrg��}rh��(h%U�h/jb��ubahIh}ubahIj1��ubeUcurrent_sourceri��NU decorationrj��NUautofootnote_startrk��KUnameidsrl��}rm��(hj^��hj4��hjX��h hêh jÔ��hhMhj,��h jR��hjp��hj[��hjú��hjF��hjr��hjÕ��hh’hj‚��hjd��hj=��hjc��hjj��hjL��hjt��hj@��hj:��uhQ]rn��hFah%U�Utransformerro��NU footnote_refsrp��}rq��Urefnamesrr��}rs��(X���zookeeper recipes]rt��jø��aX���git]ru��(jÓ��j��eX���drbd]rv��j◊��aX ���mercurial]rw��(jˇ��j��eX���metacat]rx��(j!��jÉ��eX ���zookeeper]ry��(j1��jÆ��eX���distributed version control]rz��j��aX���bazaar]r{��j��aj‚��]r|��jfl��auUsymbol_footnotesr}��]r~��Uautofootnote_refsr��]rÄ��Usymbol_footnote_refsrÅ��]rÇ��U citationsrÉ��]rÑ��hPhUcurrent_linerÖ��NUtransform_messagesrÜ��]rá��(h")Årà��}râ��(h%U�h&}rä��(h(]UlevelKh)]h*]Usourceh+h,]h-]UlineKÃUtypeh.uhQ]rã��hy)Årå��}rç��(h%U�h&}ré��(h(]h,]h*]h)]h-]uh/jà��hQ]rè��hZX4���Hyperlink target "mm_replication" is not referenced.rê��ÖÅrë��}rí��(h%U�h/jå��ubahIh}ubahIj1��ubh")Årì��}rî��(h%U�h&}rï��(h(]UlevelKh)]h*]Usourceh+h,]h-]UlineKŒUtypeh.uhQ]rñ��hy)Åró��}rò��(h%U�h&}rô��(h(]h,]h*]h)]h-]uh/jì��hQ]rö��hZX:���Hyperlink target "389 directory server" is not referenced.rõ��ÖÅrú��}rù��(h%U�h/jó��ubahIh}ubahIj1��ubeUreporterrû��NUid_startrü��KU autofootnotesr†��]r°��U citation_refsr¢��}r£��Uindirect_targetsr§��]r•��Usettingsr¶��(cdocutils.frontend Values rß��or®��}r©��(Ufootnote_backlinksr™��KUrecord_dependenciesr´��NUrfc_base_urlr¨��Uhttps://tools.ietf.org/html/r≠��U tracebackrÆ��àUpep_referencesrØ��NUstrip_commentsr∞��NU toc_backlinksr±��j˚��U language_coder≤��Uenr≥��U datestampr¥��NUreport_levelrµ��KU_destinationr∂��NU halt_levelr∑��KU strip_classesr∏��NhWNUerror_encoding_error_handlerrπ��Ubackslashreplacer∫��Udebugrª��NUembed_stylesheetrº��âUoutput_encoding_error_handlerrΩ��Ustrictræ��U sectnum_xformrø��KUdump_transformsr¿��NU docinfo_xformr¡��KUwarning_streamr¬��NUpep_file_url_templater√��Upep-%04drƒ��Uexit_status_levelr≈��KUconfigr∆��NUstrict_visitorr«��NUcloak_email_addressesr»��àUtrim_footnote_reference_spacer…��âUenvr ��NUdump_pseudo_xmlrÀ��NUexpose_internalsrÃ��NUsectsubtitle_xformrÕ��âUsource_linkrŒ��NUrfc_referencesrœ��NUoutput_encodingr–��Uutf-8r—��U source_urlr“��NUinput_encodingr”��U utf-8-sigr‘��U_disable_configr’��NU id_prefixr÷��U�U tab_widthr◊��KUerror_encodingrÿ��UUTF-8rŸ��U_sourcer⁄��h+Ugettext_compactr€��àU generatorr‹��NUdump_internalsr›��NUsmart_quotesrfi��âUpep_base_urlrfl��U https://www.python.org/dev/peps/r‡��Usyntax_highlightr·��Ulongr‚��Uinput_encoding_error_handlerr„��jæ��Uauto_id_prefixr‰��UidrÂ��Udoctitle_xformrÊ��âUstrip_elements_with_classesrÁ��NU _config_filesrË��]Ufile_insertion_enabledrÈ��àUraw_enabledrÍ��KU dump_settingsrÎ��NubUsymbol_footnote_startrÏ��K�UidsrÌ��}rÓ��(j=��j9��j4��j.��j^��jZ��jX��jT��hêhåhMhFjj��jf��jp��jl��j@��j<��h’h—jÔ��jÎ��jd��j`��jr��jn��j‚��jfi��j[��jW��jR��jN��jc��j_��jÕ��j…��jF��jB��jt��hDj:��j6��jL��jH��jú��jò��j,��j(��uUsubstitution_namesrÔ��}r��hIhPh&}rÒ��(h(]h)]h*]Usourceh+h,]h-]uU footnotesrÚ��]rÛ��UrefidsrÙ��}rı��ub.