http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/1bd00e9a/configuration/core.html ---------------------------------------------------------------------- diff --git a/configuration/core.html b/configuration/core.html deleted file mode 100644 index 4c038a5..0000000 --- a/configuration/core.html +++ /dev/null @@ -1,976 +0,0 @@ -<!DOCTYPE html> - - -<html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - - <title>Core Library Configuration — DistributedLog 1.0 documentation</title> - - <link rel="stylesheet" href="../_static/override.css" type="text/css" /> - <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> - <link rel="stylesheet" href="../_static/bootstrap-3.1.0/css/bootstrap.min.css" type="text/css" /> - <link rel="stylesheet" href="../_static/bootstrap-3.1.0/css/bootstrap-theme.min.css" type="text/css" /> - <link rel="stylesheet" href="../_static/css/featherlight.min.css" type="text/css" /> - <link rel="stylesheet" href="../_static/css/docbird.css" type="text/css" /> - <link rel="stylesheet" href="../_static/css/docbird-xs.css" type="text/css" /> - <link rel="stylesheet" href="../_static/css/jquery.rateyo.min.css" type="text/css" /> - <link rel="stylesheet" href="../_static/css/selection-sharer.css" type="text/css" /> - - <script type="text/javascript"> - var DOCUMENTATION_OPTIONS = { - URL_ROOT: '../', - VERSION: '1.0', - COLLAPSE_INDEX: false, - FILE_SUFFIX: '.html', - HAS_SOURCE: true - }; - </script> - <script type="text/javascript" src="../_static/jquery.js"></script> - <script type="text/javascript" src="../_static/underscore.js"></script> - <script type="text/javascript" src="../_static/doctools.js"></script> - <script type="text/javascript" src="../_static/bootstrap-3.1.0/js/bootstrap.min.js"></script> - <script type="text/javascript" src="../_static/js/bootstrap-docbird.js"></script> - <script type="text/javascript" src="../_static/js/jquery-1.11.0.min.js"></script> - <script type="text/javascript" src="../_static/js/jquery-fix.js"></script> - <script type="text/javascript" src="../_static/js/featherlight.min.js"></script> - <script type="text/javascript" src="../_static/js/ifvisible.js"></script> - <script type="text/javascript" src="../_static/js/timeme.js"></script> - <script type="text/javascript" src="../_static/js/jquery.rateyo.min.js"></script> - <script type="text/javascript" src="../_static/js/js.cookie.js"></script> - <link rel="shortcut icon" href="../_static/docbird.ico"/> - <link rel="top" title="DistributedLog 1.0 documentation" href="../index.html" /> - <link rel="up" title="Configuration" href="main.html" /> - <link rel="next" title="Write Proxy Configuration" href="proxy.html" /> - <link rel="prev" title="Configuration" href="main.html" /> -<meta charset='utf-8'> -<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'> -<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'> -<meta name="apple-mobile-web-app-capable" content="yes"> - -<meta property="docbird:project" content="DistributedLog" /> - - </head> - <body> -<div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container-fluid"> - <div class="row db-header"> - <div class="col-sm-3 col-md-3 col-lg-3 hidden-xs db-header-controls"> - <a href="/" alt="Back to Docbird"> - <div class="db-home-button"> - <span class="glyphicon glyphicon-home"></span> - </div> -</a> - -<form action="../search.html" method="get" class="db-searchbox-form"> - <div class="form-group"> - <input type="text" name="q" class="form-control db-searchbox-input" placeholder="Search DistributedLog" /> - </div> - <input type="hidden" name="check_keywords" value="yes" /> - <input type="hidden" name="area" value="default" /> -</form> - - </div> - <div class="col-sm-7 col-md-7 col-lg-7 col-xs-12 db-header-info"> - <div class="visible-xs"> - <a href="/" alt="Back to Docbird"> - <div class="db-home-button"> - <span class="glyphicon glyphicon-home"></span> - </div> -</a> - </div> - <div class="visible-xs db-xs-menu-button"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#db-xs-menu"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> -</div> - </div> - <div class="db-header-projectname"> - <h1><a href="../index.html">DistributedLog</a></h1> - </div> - </div> - </div> - <div class="row db-xs-menu hidden-sm hidden-md hidden-lg - collapse" id="db-xs-menu"> - -<form action="../search.html" method="get" class="db-searchbox-form"> - <div class="form-group"> - <input type="text" name="q" class="form-control db-searchbox-input" placeholder="Search DistributedLog" /> - </div> - <input type="hidden" name="check_keywords" value="yes" /> - <input type="hidden" name="area" value="default" /> -</form> - - <div class="db-toc" role="complementary"> - <ul class="current"> -<li class="toctree-l1"><a class="reference internal" href="../download.html">Releases</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../download.html#rc1">0.3.51-RC1</a></li> -<li class="toctree-l2"><a class="reference internal" href="../download.html#rc0">0.3.51-RC0</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../basics/main.html">Getting Started</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../basics/introduction.html">Introduction</a></li> -<li class="toctree-l2"><a class="reference internal" href="../basics/quickstart.html">Quick Start</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../api/main.html">API</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../api/core.html">Core Library API</a></li> -<li class="toctree-l2"><a class="reference internal" href="../api/proxy.html">Write Proxy Client API</a></li> -<li class="toctree-l2"><a class="reference internal" href="../api/practice.html">Best Practices</a></li> -</ul> -</li> -<li class="toctree-l1 current"><a class="reference internal" href="main.html">Configuration</a><ul class="current"> -<li class="toctree-l2 current"><a class="current reference internal" href="">Core Library Configuration</a></li> -<li class="toctree-l2"><a class="reference internal" href="proxy.html">Write Proxy Configuration</a></li> -<li class="toctree-l2"><a class="reference internal" href="client.html">Client Configuration</a></li> -<li class="toctree-l2"><a class="reference internal" href="perlog.html">Per Stream Configuration</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../considerations/main.html">Considerations</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../considerations/main.html#consistency-durability-and-ordering">Consistency, Durability and Ordering</a></li> -<li class="toctree-l2"><a class="reference internal" href="../considerations/main.html#partitioning">Partitioning</a></li> -<li class="toctree-l2"><a class="reference internal" href="../considerations/main.html#processing-semantics">Processing Semantics</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../architecture/main.html">Architecture</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../architecture/main.html#data-model">Data Model</a></li> -<li class="toctree-l2"><a class="reference internal" href="../architecture/main.html#software-stack">Software Stack</a></li> -<li class="toctree-l2"><a class="reference internal" href="../architecture/main.html#lifecyle-of-records">Lifecyle of records</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../design/main.html">Detail Design</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../design/main.html#consistency">Consistency</a></li> -<li class="toctree-l2"><a class="reference internal" href="../design/main.html#streaming-reads">Streaming Reads</a></li> -<li class="toctree-l2"><a class="reference internal" href="../design/main.html#logsegment-lifecycle">LogSegment Lifecycle</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../globalreplicatedlog/main.html">Global Replicated Log</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../globalreplicatedlog/main.html#region-aware-data-placement-policy">Region Aware Data Placement Policy</a></li> -<li class="toctree-l2"><a class="reference internal" href="../globalreplicatedlog/main.html#cross-region-speculative-reads">Cross Region Speculative Reads</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../implementation/main.html">Implementation</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../implementation/storage.html">Storage</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../operations/main.html">Deployment & Administration</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../operations/deployment.html">Cluster Setup & Deployment</a></li> -<li class="toctree-l2"><a class="reference internal" href="../operations/operations.html">DistributedLog Operations</a></li> -<li class="toctree-l2"><a class="reference internal" href="../operations/performance.html">Performance Tuning</a></li> -<li class="toctree-l2"><a class="reference internal" href="../operations/hardware.html">Hardware</a></li> -<li class="toctree-l2"><a class="reference internal" href="../operations/monitoring.html">Monitoring</a></li> -<li class="toctree-l2"><a class="reference internal" href="../operations/zookeeper.html">ZooKeeper</a></li> -<li class="toctree-l2"><a class="reference internal" href="../operations/bookkeeper.html">BookKeeper</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../performance/main.html">Performance</a></li> -<li class="toctree-l1"><a class="reference internal" href="../references/main.html">References</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../references/configuration.html">Configuration Settings</a></li> -<li class="toctree-l2"><a class="reference internal" href="../references/metrics.html">Metrics</a></li> -<li class="toctree-l2"><a class="reference internal" href="../references/features.html">Features</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../tutorials/main.html">Tutorials</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../tutorials/main.html#basic">Basic</a></li> -<li class="toctree-l2"><a class="reference internal" href="../tutorials/main.html#messaging">Messaging</a></li> -<li class="toctree-l2"><a class="reference internal" href="../tutorials/main.html#replicated-state-machines">Replicated State Machines</a></li> -<li class="toctree-l2"><a class="reference internal" href="../tutorials/main.html#analytics">Analytics</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../developer/main.html">Developer</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../developer/release.html">Release</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li> -</ul> - - </div> - </div> - </div> -</div> -<div class="container"> - <div class="row"> - <div style="z-index: 1" class="col-xs-12 col-sm-12 col-md-12 col-lg-12"> - <style> - .overflow-container { - display: none; - } - .overflow-toggle { - text-decoration: none; - border-bottom: none; - border-radius: 4px; - border: 1px solid #eee; - padding: 1px 3px 3px; - color: #888; - font-weight: normal; - background-color: linen; - line-height: 1.85em; - cursor: pointer; - } - .overflow-toggle:hover { - color: #333; - border-color: #ccc; - background-color: beige; - } -</style> -<script> -$(function(){ - $('.overflow-toggle').on('click', function(){ - $(this).next().toggle(); - }); -}); -</script> -<div class="db-project-header-container"> - <div class="row"> - - <div class="db-project-info col-lg-12 col-md-12 col-sm-12 col-xs-12"> - <h1> - <a href="../index.html">DistributedLog</a> - - </h1> - - <div class="db-code-link"> - <a href="[email protected]:twitter/distributedlog.git/tree/master/" target="_blank">[email protected]:twitter/distributedlog.git/tree/master/</a> - </div> - - - </div> - </div> - - <div class="row db-project-links-row"> - <div class=" col-sm-3 col-md-3 col-lg-3 db-project-link-column"> - <div class="db-hashtag-container"> - - <span class="db-project-link-label">OWNERS</span> - - <em>None</em> - - - </div> - </div> - <div class="col-sm-3 col-md-3 col-lg-3 db-project-link-column"> - <div class="db-hashtag-container"> - - <span class="db-project-link-label">TAGS</span> - - <em><a class="db-hashtag" href="/?q=tags:%23uses_maven">#uses_maven</a></em> - - - </div> - </div> - <div class="col-sm-3 col-md-3 col-lg-3 db-project-link-column"> - <span class="db-project-link-label">HEALTH</span> - - <h3 style="margin-top: 0"> -<!-- <a href="/techdocs/checklist.html" class="label label-success">--> - <a href="/report/distributedlog" class=""> - 9.0 / 10 - <span style="margin-left: .25em" class="glyphicon glyphicon-ok"></span> - </a> - - </h3> - </div> - <div class="col-sm-3 col-md-3 col-lg-3 db-project-link-column"> - <span class="db-project-link-label">RATING</span> - <div id="rateYo"></div> - </div> - </div> - -</div> - </div> - <div class="col-xs-12 col-sm-8 col-md-8 col-lg-8"> - <div class="db-content-body"> - - <div class="section" id="core-library-configuration"> -<h1>Core Library Configuration<a class="headerlink" href="#core-library-configuration" title="Permalink to this headline">¶</a></h1> -<p>This section describes the configuration settings used by DistributedLog Core Library.</p> -<p>All the core library settings are managed in <cite>DistributedLogConfiguration</cite>, which is -basically a properties based configuration, which extends from Apache commons -<cite>CompositeConfiguration</cite>. All the DL settings are in camel case and prefixed with a -meaningful component name. For example, <cite>zkSessionTimeoutSeconds</cite> means the session timeout -for component <cite>zk</cite> in seconds.</p> -<p>The default distributedlog configuration is constructed by instantiating an instance -of <cite>DistributedLogConfiguration</cite>. This distributedlog configuration will automatically load -the settings that specified via <cite>SystemConfiguration</cite>.</p> -<div class="highlight-python"><pre>DistributedLogConfiguration conf = new DistributedLogConfiguration();</pre> -<div style='display:none;' class='raw-code'><pre>DistributedLogConfiguration conf = new DistributedLogConfiguration();</pre> -</div></div> -<p>The recommended way is to load configuration from URL that points to a configuration file -(<cite>#loadConf(URL)</cite>).</p> -<div class="highlight-python"><pre>String configFile = "/path/to/distributedlog/conf/file"; -DistributedLogConfiguration conf = new DistributedLogConfiguration(); -conf.loadConf(new File(configFile).toURI().toURL());</pre> -<div style='display:none;' class='raw-code'><pre>String configFile = "/path/to/distributedlog/conf/file"; -DistributedLogConfiguration conf = new DistributedLogConfiguration(); -conf.loadConf(new File(configFile).toURI().toURL());</pre> -</div></div> -<div class="section" id="zookeeper-settings"> -<h2>ZooKeeper Settings<a class="headerlink" href="#zookeeper-settings" title="Permalink to this headline">¶</a></h2> -<p>A distributedlog namespace usually creates two zookeeper client instances: one is used -for DL metadata operations, while the other one is used by bookkeeper. All the zookeeper -clients are <em>retryable</em> clients, which they would reconnect when session is expired.</p> -<div class="section" id="dl-zookeeper-settings"> -<h3>DL ZooKeeper Settings<a class="headerlink" href="#dl-zookeeper-settings" title="Permalink to this headline">¶</a></h3> -<ul class="simple"> -<li><em>zkSessionTimeoutSeconds</em>: ZooKeeper session timeout, in seconds. Default is 30 seconds.</li> -<li><em>zkNumRetries</em>: Number of retries of each zookeeper request could attempt on retryable exceptions. -Default is 3.</li> -<li><em>zkRetryStartBackoffMillis</em>: The initial backoff time of first retry of each zookeeper request, in milliseconds. -Default is 5000.</li> -<li><em>zkRetryMaxBackoffMillis</em>: The max backoff time of retries of each zookeeper request, in milliseconds. -Default is 30000.</li> -<li><em>zkcNumRetryThreads</em>: The number of retry threads used by this zookeeper client. Default is 1.</li> -<li><em>zkRequestRateLimit</em>: The rate limiter is basically a guava <cite>RateLimiter</cite>. It is rate limiting the -requests that sent by zookeeper client per second. If the value is non-positive, the rate limiting -is disable. Default is 0.</li> -<li><em>zkAclId</em>: The digest id used for zookeeper ACL. If it is null, ACL is disabled. Default is null.</li> -</ul> -</div> -<div class="section" id="bk-zookeeper-settings"> -<h3>BK ZooKeeper Settings<a class="headerlink" href="#bk-zookeeper-settings" title="Permalink to this headline">¶</a></h3> -<ul class="simple"> -<li><em>bkcZKSessionTimeoutSeconds</em>: ZooKeeper session timeout, in seconds. Default is 30 seconds.</li> -<li><em>bkcZKNumRetries</em>: Number of retries of each zookeeper request could attempt on retryable exceptions. -Default is 3.</li> -<li><em>bkcZKRetryStartBackoffMillis</em>: The initial backoff time of first retry of each zookeeper request, in milliseconds. -Default is 5000.</li> -<li><em>bkcZKRetryMaxBackoffMillis</em>: The max backoff time of retries of each zookeeper request, in milliseconds. -Default is 30000.</li> -<li><em>bkcZKRequestRateLimit</em>: The rate limiter is basically a guava <cite>RateLimiter</cite>. It is rate limiting the -requests that sent by zookeeper client per second. If the value is non-positive, the rate limiting -is disable. Default is 0.</li> -</ul> -<p>There are a few rules to follow when optimizing the zookeeper settings:</p> -<ol class="arabic simple"> -<li>In general, higher session timeout is much better than lower timeout, which will make zookeeper client -more resilent to any network glitches.</li> -<li>A lower backoff time is better for latency, as it would trigger fast retries. But it -could trigger retry storm if the backoff time is too low.</li> -<li>Number of retries should be tuned based on the backoff time settings and corresponding latency SLA budget.</li> -<li>BK and DL readers use zookeeper client for metadata accesses. It is recommended to have higher session timeout, -higher number of retries and proper backoff time.</li> -<li>DL writers also use zookeeper client for ownership tracking. It is required to act quickly on network glitches. -It is recommended to have low session timeout, low backoff time and proper number of retries.</li> -</ol> -</div> -</div> -<div class="section" id="bookkeeper-settings"> -<h2>BookKeeper Settings<a class="headerlink" href="#bookkeeper-settings" title="Permalink to this headline">¶</a></h2> -<p>All the bookkeeper client configuration settings could be loaded via <cite>DistributedLogConfiguration</cite>. All of them -are prefixed with <cite>bkc.</cite>. For example, <cite>bkc.zkTimeout</cite> in distributedlog configuration will be applied as -<cite>zkTimeout</cite> in bookkeeper client configuration.</p> -<div class="section" id="general-settings"> -<h3>General Settings<a class="headerlink" href="#general-settings" title="Permalink to this headline">¶</a></h3> -<ul class="simple"> -<li><em>bkcNumIOThreads</em>: The number of I/O threads used by netty in bookkeeper client. -The default value is <cite>numWorkerThreads</cite>.</li> -</ul> -</div> -<div class="section" id="timer-settings"> -<h3>Timer Settings<a class="headerlink" href="#timer-settings" title="Permalink to this headline">¶</a></h3> -<ul class="simple"> -<li><em>timerTickDuration</em>: The tick duration in milliseconds that used for timeout -timer in bookkeeper client. The default value is 100 milliseconds.</li> -<li><em>timerNumTicks</em>: The number of ticks that used for timeout timer in bookkeeper client. -The default value is 1024.</li> -</ul> -</div> -<div class="section" id="data-placement-settings"> -<h3>Data Placement Settings<a class="headerlink" href="#data-placement-settings" title="Permalink to this headline">¶</a></h3> -<p>A log segment is backed by a bookkeeper <cite>ledger</cite>. A ledger's data is stored in an ensemble -of bookies in a stripping way. Each entry will be added in a <cite>write-quorum</cite> size of bookies. -The add operation will complete once it receives responses from a <cite>ack-quorum</cite> size of bookies. -The stripping is done in a round-robin way in bookkeeper.</p> -<p>For example, we configure the ensemble-size to 5, write-quorum-size to 3, -and ack-quorum-size to 2. The data will be stored in following stripping way.</p> -<div class="highlight-python"><pre>| entry id | bk1 | bk2 | bk3 | bk4 | bk5 | -| 0 | x | x | x | | | -| 1 | | x | x | x | | -| 2 | | | x | x | x | -| 3 | x | | | x | x | -| 4 | x | x | | | x | -| 5 | x | x | x | | |</pre> -<div style='display:none;' class='raw-code'><pre>| entry id | bk1 | bk2 | bk3 | bk4 | bk5 | -| 0 | x | x | x | | | -| 1 | | x | x | x | | -| 2 | | | x | x | x | -| 3 | x | | | x | x | -| 4 | x | x | | | x | -| 5 | x | x | x | | |</pre> -</div></div> -<p>We don't recommend stripping within a log segment to increase bandwidth. We'd recommend using -multiple distributedlog streams to increase bandwidth in higher level of distributedlog. so -typically the ensemble size will be set to be the same value as <cite>write-quorum-size</cite>.</p> -<ul class="simple"> -<li><em>bkcEnsembleSize</em>: The ensemble size of the log segment. The default value is 3.</li> -<li><em>bkcWriteQuorumSize</em>: The write quorum size of the log segment. The default value is 3.</li> -<li><em>bkcAckQuorumSize</em>: The ack quorumm size of the log segment. The default value is 2.</li> -</ul> -<div class="section" id="dns-resolver-settings"> -<h4>DNS Resolver Settings<a class="headerlink" href="#dns-resolver-settings" title="Permalink to this headline">¶</a></h4> -<p>DistributedLog uses bookkeeper's <cite>rack-aware</cite> data placement policy on placing data across -bookkeeper nodes. The <cite>rack-aware</cite> data placement uses a DNS resolver to resolve a bookie -address into a network location and then use those locations to build the network topology.</p> -<p>There are two built-in DNS resolvers in DistributedLog:</p> -<ol class="arabic simple"> -<li><em>DNSResolverForRacks</em>: It resolves domain name like <cite>(region)-(rack)-xxx-xxx.*</cite> to -network location <cite>/(region)/(rack)</cite>. If resolution failed, it returns <cite>/default-region/default-rack</cite>.</li> -<li><em>DNSResolverForRows</em>: It resolves domain name like <cite>(region)-(row)xx-xxx-xxx.*</cite> to -network location <cite>/(region)/(row)</cite>. If resolution failed, it returns <cite>/default-region/default-row</cite>.</li> -</ol> -<p>The DNS resolver could be loaded by reflection via <cite>bkEnsemblePlacementDnsResolverClass</cite>.</p> -<p><cite>(region)</cite> could be overrided in a configured <cite>dnsResolverOverrides</cite>. For example, if the -host name is <cite>(regionA)-(row1)-xx-yyy</cite>, it would be resolved to <cite>/regionA/row1</cite> without any -overrides. If the specified overrides is <cite>(regionA)-(row1)-xx-yyy:regionB</cite>, -the resolved network location would be <cite>/regionB/row1</cite>. Allowing overriding region provides -the optimization hits to bookkeeper if two <cite>logical</cite> regions are in same or close locations.</p> -<ul class="simple"> -<li><em>bkEnsemblePlacementDnsResolverClass</em>: The DNS resolver class for bookkeeper rack-aware ensemble placement. -The default value is <cite>DNSResolverForRacks</cite>.</li> -<li><em>bkRowAwareEnsemblePlacement</em>: A flag indicates whether <cite>DNSResolverForRows</cite> should be used. -If enabled, <cite>DNSResolverForRows</cite> will be used for DNS resolution in rack-aware placement policy. -Otherwise, it would use the DNS resolver configured by <cite>bkEnsemblePlacementDnsResolverClass</cite>.</li> -<li><em>dnsResolverOverrides</em>: The mapping used to override the region mapping derived by the DNS resolver. -The value is a string of pairs of host-region mappings (<cite>host:region</cite>) separated by semicolon. -By default it is empty string.</li> -</ul> -</div> -</div> -</div> -<div class="section" id="namespace-configuration-settings"> -<h2>Namespace Configuration Settings<a class="headerlink" href="#namespace-configuration-settings" title="Permalink to this headline">¶</a></h2> -<p>This section lists all the general settings used by <cite>DistributedLogNamespace</cite>.</p> -<div class="section" id="executor-settings"> -<h3>Executor Settings<a class="headerlink" href="#executor-settings" title="Permalink to this headline">¶</a></h3> -<ul class="simple"> -<li><em>numWorkerThreads</em>: The number of worker threads used by the namespace instance. -The default value is the number of available processors.</li> -<li><em>numReadAheadWorkerThreads</em>: The number of dedicated readahead worker treads used -by the namespace instance. If it is non-positive, it would share the same executor -for readahead. Otherwise, it would create a dedicated executor for readahead. -The default value is 0.</li> -<li><em>numLockStateThreads</em>: The number of lock state threads used by the namespace instance. -The default value is 1.</li> -<li><em>schedulerShutdownTimeoutMs</em>: The timeout value in milliseconds, for shutting down -schedulers in the namespace instance. The default value is 5000ms.</li> -<li><em>useDaemonThread</em>: The flag whether to use daemon thread for DL executor threads. -The default value is false.</li> -</ul> -</div> -<div class="section" id="metadata-settings"> -<h3>Metadata Settings<a class="headerlink" href="#metadata-settings" title="Permalink to this headline">¶</a></h3> -<p>The log segment metadata is serialized into a string of content with a version. The version in log segment -metadata allows us evolving changes to metadata. All the versions supported by distributedlog right now -are listed in the below table.</p> -<table border="1" class="docutils"> -<colgroup> -<col width="9%" /> -<col width="91%" /> -</colgroup> -<thead valign="bottom"> -<tr class="row-odd"><th class="head">version</th> -<th class="head">description</th> -</tr> -</thead> -<tbody valign="top"> -<tr class="row-even"><td>0</td> -<td>Invalid version number.</td> -</tr> -<tr class="row-odd"><td>1</td> -<td>Basic version number. -Inprogress: start tx id, ledger id, region id -Completed: start/end tx id, ledger id, region id, record count and completion time</td> -</tr> -<tr class="row-even"><td>2</td> -<td>Introduced LSSN (LogSegment Sequence Number)</td> -</tr> -<tr class="row-odd"><td>3</td> -<td>Introduced Partial Truncated and Truncated status. -A min active (entry_id, slot_id) pair is recorded in completed log segment -metadata.</td> -</tr> -<tr class="row-even"><td>4</td> -<td>Introduced Enveloped Entry Stucture. None & LZ4 compression codec introduced.</td> -</tr> -<tr class="row-odd"><td>5</td> -<td>Introduced Sequence Id.</td> -</tr> -</tbody> -</table> -<p>A general rule for log segment metadata upgrade is described as below. For example, we are upgrading -from version <em>X</em> to version <em>X+1</em>.</p> -<p>1. Upgrade the readers before upgrading writers. So the readers are able to recognize the log segments -of version <em>X+1</em>. -2. Upgrade the writers with the new binary of version <em>X+1</em> only. Keep the configuration <cite>ledgerMetadataLayoutVersion</cite> -unchanged - still in version <em>X</em>. -3. Once all the writers are running in same binary of version <em>X+1</em>. Update writers again with <cite>ledgerMetadataLayoutVersion</cite> -set to version <em>X+1</em>.</p> -<ul class="simple"> -<li><em>ledgerMetadataLayoutVersion</em>: The logsegment metadata layout version. The default value is 5. Apply for <cite>writers</cite> only.</li> -<li><em>ledgerMetadataSkipMinVersionCheck</em>: The flag indicates whether DL should enforce minimum log segment metadata vesion check. -If it is true, DL will skip the checking and read the log segment metadata if it could recognize. Otherwise, it would fail -the read if the log segment's metadata version is less than the version that DL supports. By default, it is disabled.</li> -<li><em>firstLogsegmentSequenceNumber</em>: The first log segment sequence number to start with for a stream. The default value is 1. -The setting is only applied for writers, and only when upgrading metadata from version <cite>1</cite> to version <cite>2</cite>. -In this upgrade, we need to update old log segments to add ledger sequence number, once the writers start generating -new log segments with new version starting from this <cite>firstLogSegmentSequenceNumber</cite>.</li> -<li><em>maxIdSanityCheck</em>: The flag indicates whether DL should do sanity check on transaction id. If it is enabled, DL will throw -<cite>TransactionIdOutOfOrderException</cite> when it received a smaller transaction id than current maximum transaction id. By default, -it is enabled.</li> -<li><em>encodeRegionIDInVersion</em>: The flag indicates whether DL should encode region id into log segment metadata. In a global replicated -log, the log segments can be created in different regions. The region id in log segment metadata would help figuring out what -region that a log segment is created. The region id in log segment metadata would help for monitoring and troubleshooting. -By default, it is disabled.</li> -</ul> -</div> -<div class="section" id="namespace-settings"> -<h3>Namespace Settings<a class="headerlink" href="#namespace-settings" title="Permalink to this headline">¶</a></h3> -<ul class="simple"> -<li><em>federatedNamespaceEnabled</em>: The flag indicates whether DL should use federated namespace. By default, it is disabled.</li> -<li><em>federatedMaxLogsPerSubnamespace</em>: The maximum number of log stream per sub namespace in a federated namespace. By default, it is 15000</li> -<li><em>federatedCheckExistenceWhenCacheMiss</em>: The flag indicates whether to check the existence of a log stream in zookeeper or not, -if querying the local cache of the federated namespace missed.</li> -</ul> -</div> -</div> -<div class="section" id="writer-configuration-settings"> -<h2>Writer Configuration Settings<a class="headerlink" href="#writer-configuration-settings" title="Permalink to this headline">¶</a></h2> -<div class="section" id="id1"> -<h3>General Settings<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h3> -<ul class="simple"> -<li><em>createStreamIfNotExists</em>: The flag indicates whether to create a log stream if it doesn't exist. By default, it is true.</li> -<li><em>compressionType</em>: The compression type used when enveloping the output buffer. The available compression types are -<cite>none</cite> and <cite>lz4</cite>. By default, it is <cite>none</cite> - no compression.</li> -<li><em>failFastOnStreamNotReady</em>: The flag indicates whether to fail immediately if the stream is not ready rather than enqueueing -the request. A log stream is considered as <cite>not-ready</cite> when it is either initializing the log stream or rolling a new log -segment. If this is enabled, DL would fail the write request immediately when the stream isn't ready. Otherwise, it would -enqueue the request and wait for the stream become ready. Please consider turning it on for the use cases that could retry -writing to other log streams, which it would result in fast failure hence client could retry other streams immediately. -By default, it is disabled.</li> -<li><em>disableRollingOnLogSegmentError</em>: The flag to disable rolling log segment when encountered error. By default, it is true.</li> -</ul> -</div> -<div class="section" id="durability-settings"> -<h3>Durability Settings<a class="headerlink" href="#durability-settings" title="Permalink to this headline">¶</a></h3> -<ul class="simple"> -<li><em>isDurableWriteEnabled</em>: The flag indicates whether durable write is enabled. By default it is true.</li> -</ul> -</div> -<div class="section" id="transmit-settings"> -<h3>Transmit Settings<a class="headerlink" href="#transmit-settings" title="Permalink to this headline">¶</a></h3> -<p>DL writes the log records into a transmit buffer before writing to bookkeeper. The following settings control -the frequency of transmits and commits.</p> -<ul class="simple"> -<li><em>writerOutputBufferSize</em>: The output buffer size in bytes. Larger buffer size will result in higher compression ratio and -it would reduce the entries sent to bookkeeper, use the disk bandwidth more efficiently and improve throughput. -Set this setting to <cite>0</cite> will ask DL to transmit the data immediately, which it would achieve low latency.</li> -<li><em>periodicFlushFrequencyMilliSeconds</em>: The periodic flush frequency in milliseconds. If the setting is set to a positive value, -the data in transmit buffer will be flushed in every half of the provided interval. Otherwise, the periodical flush will be -disabled. For example, if this setting is set to <cite>10</cite> milliseconds, the data will be flushed (<cite>transmit</cite>) every 5 milliseconds.</li> -<li><em>enableImmediateFlush</em>: The flag to enable immediate flush a control record. It is a flag to control the period to make data -visible to the readers. If this settings is true, DL would flush a control record immediately after transmitting the user data -is completed. The default value is false.</li> -<li><em>minimumDelayBetweenImmediateFlushMilliSeconds</em>: The minimum delay between two immediate flushes, in milliseconds. This setting -only takes effects when immediate flush is enabled. It is designed to tolerant the bursty of traffic when immediate flush is enabled, -which prevents sending too many control records to the bookkeeper.</li> -</ul> -</div> -<div class="section" id="logsegment-retention-settings"> -<h3>LogSegment Retention Settings<a class="headerlink" href="#logsegment-retention-settings" title="Permalink to this headline">¶</a></h3> -<p>The following settings are related to log segment retention.</p> -<ul class="simple"> -<li><em>logSegmentRetentionHours</em>: The log segment retention period, in hours. In other words, how long should DL keep the log segment -once it is <cite>truncated</cite> (<cite>explicitTruncationByApp`==true) or `completed</cite> (<a href="#id2"><span class="problematic" id="id3">`</span></a>explicitTruncationByApp`==false).</li> -<li><em>explicitTruncationByApp</em>: The flag indicates that truncation is managed explicitly by the application. If this is set then time -based retention only clean the log segments which are marked as <cite>truncated</cite>. By default it is disabled.</li> -</ul> -</div> -<div class="section" id="logsegment-rolling-settings"> -<h3>LogSegment Rolling Settings<a class="headerlink" href="#logsegment-rolling-settings" title="Permalink to this headline">¶</a></h3> -<p>The following settings are related to log segment rolling.</p> -<ul class="simple"> -<li><em>logSegmentRollingMinutes</em>: The log segment rolling interval, in minutes. If the setting is set to a positive value, DL will roll -log segments based on time. Otherwise, it will roll log segment based on size (<cite>maxLogSegmentBytes</cite>). The default value is 2 hours.</li> -<li><em>maxLogSegmentBytes</em>: The maximum size of a log segment, in bytes. This setting only takes effects when time based rolling is disabled. -If it is enabled, DL will roll a new log segment when the current one reaches the provided threshold. The default value is 256MB.</li> -<li><em>logSegmentRollingConcurrency</em>: The concurrency of log segment rolling. If the value is positive, it means how many log segments -can be rolled at the same time. Otherwise, it is unlimited. The default value is 1.</li> -</ul> -</div> -<div class="section" id="logsegment-allocation-settings"> -<h3>LogSegment Allocation Settings<a class="headerlink" href="#logsegment-allocation-settings" title="Permalink to this headline">¶</a></h3> -<p>A bookkeeper ledger is allocated when a DL stream is rolling into a new log segment. To reduce the latency penalty on log segment rolling, -a ledger allocator could be used for pre-allocating the ledgers for DL streams. This section describes the settings related to ledger -allocation.</p> -<ul class="simple"> -<li><em>enableLedgerAllocatorPool</em>: The flag indicates whether to use ledger allocator pool or not. It is disabled by default. It is recommended -to enable on write proxy.</li> -<li><em>ledgerAllocatorPoolPath</em>: The path of the ledger allocator pool. The default value is ".allocation_pool". The allocator pool path has to -be prefixed with <cite>"."</cite>. A DL namespace is allowed to have multiple allocator pool, as they will be acted independently.</li> -<li><em>ledgerAllocatorPoolName</em>: The name of the ledger allocator pool. Default value is null. It is set by write proxy on startup.</li> -<li><em>ledgerAllocatorPoolCoreSize</em>: The number of ledger allocators in the pool. The default value is 20.</li> -</ul> -</div> -<div class="section" id="write-limit-settings"> -<h3>Write Limit Settings<a class="headerlink" href="#write-limit-settings" title="Permalink to this headline">¶</a></h3> -<p>This section describes the settings related to queue-based write limiting.</p> -<ul class="simple"> -<li><em>globalOutstandingWriteLimit</em>: The maximum number of outstanding writes. If this setting is set to a positive value, the global -write limiting is enabled - when the number of outstanding writes go above the threshold, the consequent requests will be rejected -with <cite>OverCapacity</cite> exceptions. Otherwise, it is disabled. The default value is 0.</li> -<li><em>perWriterOutstandingWriteLimit</em>: The maximum number of outstanding writes per writer. It is similar as <cite>globalOutstandingWriteLimit</cite> -but applied per writer instance. The default value is 0.</li> -<li><em>outstandingWriteLimitDarkmode</em>: The flag indicates whether the write limiting is running in darkmode or not. If it is running in -dark mode, the request is not rejected when it is over limit, but just record it in the stats. By default, it is in dark mode. It -is recommended to run in dark mode to understand the traffic pattern before enabling real write limiting.</li> -</ul> -</div> -<div class="section" id="lock-settings"> -<h3>Lock Settings<a class="headerlink" href="#lock-settings" title="Permalink to this headline">¶</a></h3> -<p>This section describes the settings related to distributed lock used by the writers.</p> -<ul class="simple"> -<li><em>lockTimeoutSeconds</em>: The lock timeout in seconds. The default value is 30. If it is 0 or negative, the caller will attempt claiming -the lock, if there is no owner, it would claim successfully, otherwise it would return immediately and throw exception to indicate -who is the current owner.</li> -</ul> -</div> -</div> -<div class="section" id="reader-configuration-settings"> -<h2>Reader Configuration Settings<a class="headerlink" href="#reader-configuration-settings" title="Permalink to this headline">¶</a></h2> -<div class="section" id="id4"> -<h3>General Settings<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h3> -<ul class="simple"> -<li><em>readLACLongPollTimeout</em>: The long poll timeout for reading <cite>LastAddConfirmed</cite> requests, in milliseconds. -The default value is 1 second. It is typically recommended to tune approximately with the request arrival interval. Otherwise, it would -end up becoming unnecessary short polls.</li> -</ul> -</div> -<div class="section" id="readahead-settings"> -<h3>ReadAhead Settings<a class="headerlink" href="#readahead-settings" title="Permalink to this headline">¶</a></h3> -<p>This section describes the settings related to readahead in DL readers.</p> -<ul class="simple"> -<li><em>enableReadAhead</em>: Flag to enable read ahead in DL readers. It is enabled by default.</li> -<li><em>readAheadMaxRecords</em>: The maximum number of records that will be cached in readahead cache by the DL readers. The default value -is 10. A higher value will improve throughput but use more memory. It should be tuned properly to avoid jvm gc if the reader cannot -keep up with the writing rate.</li> -<li><em>readAheadBatchSize</em>: The maximum number of entries that readahead worker will read in one batch. The default value is 2. -Increase the value to increase the concurrency of reading entries from bookkeeper. It is recommended to tune to a proper value for -catching up readers, not to exhaust bookkeeper's bandwidth.</li> -<li><em>readAheadWaitTimeOnEndOfStream</em>: The wait time if the reader reaches end of stream and there isn't any new inprogress log segment, -in milliseconds. The default value is 10 seconds.</li> -<li><em>readAheadNoSuchLedgerExceptionOnReadLACErrorThresholdMillis</em>: If readahead worker keeps receiving <cite>NoSuchLedgerExists</cite> exceptions -when reading <cite>LastAddConfirmed</cite> in the given period, it would stop long polling <cite>LastAddConfirmed</cite> and re-initialize the ledger handle -and retry. The threshold is in milliseconds. The default value is 10 seconds.</li> -</ul> -</div> -<div class="section" id="reader-constraint-settings"> -<h3>Reader Constraint Settings<a class="headerlink" href="#reader-constraint-settings" title="Permalink to this headline">¶</a></h3> -<p>This section describes the constraint settings in DL reader.</p> -<ul class="simple"> -<li><em>ignoreTruncationStatus</em>: The flag whether to ignore truncation status when reading the records. By default, it is false. -The readers will not attempt to read a log segment that is marked as <cite>Truncated</cite> if this setting is false. It can be enabled for -tooling and troubleshooting.</li> -<li><em>alertPositionOnTruncated</em>: The flag whether we should alert when reader is positioned on a truncated segment. By default, it is true. -It would alert and fail the reader if it is positioned at a <cite>Truncated</cite> log segment when the setting is true. It can be disabled for -tooling and troubleshooting.</li> -<li><em>positionGapDetectionEnabled</em>: The flag whether to enable position gap detection or not. This is a very strict constraint on reader, -to prevent readers miss reading records due to any software bugs. It is enabled by default.</li> -</ul> -</div> -<div class="section" id="idle-reader-settings"> -<h3>Idle Reader Settings<a class="headerlink" href="#idle-reader-settings" title="Permalink to this headline">¶</a></h3> -<p>There is a mechanism to detect idleness of readers, to prevent reader becoming stall due to any bugs.</p> -<ul class="simple"> -<li><em>readerIdleWarnThresholdMillis</em>: The warning threshold of the time that a reader becomes idle, in milliseconds. If a reader becomes -idle more than the threshold, it would dump warnings in the log. The default value is 2 minutes.</li> -<li><em>readerIdleErrorThresholdMillis</em>: The error threshold of the time that a reader becomes idle, in milliseconds. If a reader becomes -idle more than the threshold, it would throw <cite>IdleReader</cite> exceptions to notify applications. The default value is <cite>Integer.MAX_VALUE</cite>.</li> -</ul> -</div> -<div class="section" id="scan-settings"> -<h3>Scan Settings<a class="headerlink" href="#scan-settings" title="Permalink to this headline">¶</a></h3> -<ul class="simple"> -<li><em>firstNumEntriesEachPerLastRecordScan</em>: Number of entries to scan for first scan of reading last record. The default value is 2.</li> -<li><em>maxNumEntriesPerReadLastRecordScan</em>: Maximum number of entries for each scan to read last record. The default value is 16.</li> -</ul> -</div> -</div> -<div class="section" id="tracing-stats-settings"> -<h2>Tracing/Stats Settings<a class="headerlink" href="#tracing-stats-settings" title="Permalink to this headline">¶</a></h2> -<p>This section describes the settings related to tracing and stats.</p> -<ul class="simple"> -<li><em>traceReadAheadDeliveryLatency</em>: Flag to enable tracing read ahead delivery latency. By default it is disabled.</li> -<li><em>metadataLatencyWarnThresholdMs</em>: The warn threshold of metadata access latency, in milliseconds. If a metadata operation takes -more than the threshold, it would be logged. By default it is 1 second.</li> -<li><em>dataLatencyWarnThresholdMs</em>: The warn threshold for data access latency, in milliseconds. If a data operation takes -more than the threshold, it would be logged. By default it is 2 seconds.</li> -<li><em>traceReadAheadMetadataChanges</em>: Flag to enable tracing the major metadata changes in readahead. If it is enabled, it will log -the readahead metadata changes with precise timestamp, which is helpful for troubleshooting latency related issues. By default it -is disabled.</li> -<li><em>enableTaskExecutionStats</em>: Flag to trace long running tasks and record task execution stats in the thread pools. It is disabled -by default.</li> -<li><em>taskExecutionWarnTimeMicros</em>: The warn threshold for the task execution time, in micros. The default value is 100,000.</li> -<li><em>enablePerStreamStat</em>: Flag to enable per stream stat. By default, it is disabled.</li> -</ul> -</div> -<div class="section" id="feature-provider-settings"> -<h2>Feature Provider Settings<a class="headerlink" href="#feature-provider-settings" title="Permalink to this headline">¶</a></h2> -<ul class="simple"> -<li><em>featureProviderClass</em>: The feature provider class. The default value is <cite>DefaultFeatureProvider</cite>, which disable all the features -by default.</li> -</ul> -</div> -</div> - - - </div> - </div> - <div class="hidden-xs col-sm-3 col-md-3 col-md-offset-1 col-lg-3 db-sidebar"> - - <div class="db-toc" role="complementary"> - <ul class="current"> - <li class="toctree-l0 current"><a class="current reference internal" href="../index.html">DistributedLog</a></li> - </ul> - <ul class="current"> -<li class="toctree-l1"><a class="reference internal" href="../download.html">Releases</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../download.html#rc1">0.3.51-RC1</a></li> -<li class="toctree-l2"><a class="reference internal" href="../download.html#rc0">0.3.51-RC0</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../basics/main.html">Getting Started</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../basics/introduction.html">Introduction</a></li> -<li class="toctree-l2"><a class="reference internal" href="../basics/quickstart.html">Quick Start</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../api/main.html">API</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../api/core.html">Core Library API</a></li> -<li class="toctree-l2"><a class="reference internal" href="../api/proxy.html">Write Proxy Client API</a></li> -<li class="toctree-l2"><a class="reference internal" href="../api/practice.html">Best Practices</a></li> -</ul> -</li> -<li class="toctree-l1 current"><a class="reference internal" href="main.html">Configuration</a><ul class="current"> -<li class="toctree-l2 current"><a class="current reference internal" href="">Core Library Configuration</a></li> -<li class="toctree-l2"><a class="reference internal" href="proxy.html">Write Proxy Configuration</a></li> -<li class="toctree-l2"><a class="reference internal" href="client.html">Client Configuration</a></li> -<li class="toctree-l2"><a class="reference internal" href="perlog.html">Per Stream Configuration</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../considerations/main.html">Considerations</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../considerations/main.html#consistency-durability-and-ordering">Consistency, Durability and Ordering</a></li> -<li class="toctree-l2"><a class="reference internal" href="../considerations/main.html#partitioning">Partitioning</a></li> -<li class="toctree-l2"><a class="reference internal" href="../considerations/main.html#processing-semantics">Processing Semantics</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../architecture/main.html">Architecture</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../architecture/main.html#data-model">Data Model</a></li> -<li class="toctree-l2"><a class="reference internal" href="../architecture/main.html#software-stack">Software Stack</a></li> -<li class="toctree-l2"><a class="reference internal" href="../architecture/main.html#lifecyle-of-records">Lifecyle of records</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../design/main.html">Detail Design</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../design/main.html#consistency">Consistency</a></li> -<li class="toctree-l2"><a class="reference internal" href="../design/main.html#streaming-reads">Streaming Reads</a></li> -<li class="toctree-l2"><a class="reference internal" href="../design/main.html#logsegment-lifecycle">LogSegment Lifecycle</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../globalreplicatedlog/main.html">Global Replicated Log</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../globalreplicatedlog/main.html#region-aware-data-placement-policy">Region Aware Data Placement Policy</a></li> -<li class="toctree-l2"><a class="reference internal" href="../globalreplicatedlog/main.html#cross-region-speculative-reads">Cross Region Speculative Reads</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../implementation/main.html">Implementation</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../implementation/storage.html">Storage</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../operations/main.html">Deployment & Administration</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../operations/deployment.html">Cluster Setup & Deployment</a></li> -<li class="toctree-l2"><a class="reference internal" href="../operations/operations.html">DistributedLog Operations</a></li> -<li class="toctree-l2"><a class="reference internal" href="../operations/performance.html">Performance Tuning</a></li> -<li class="toctree-l2"><a class="reference internal" href="../operations/hardware.html">Hardware</a></li> -<li class="toctree-l2"><a class="reference internal" href="../operations/monitoring.html">Monitoring</a></li> -<li class="toctree-l2"><a class="reference internal" href="../operations/zookeeper.html">ZooKeeper</a></li> -<li class="toctree-l2"><a class="reference internal" href="../operations/bookkeeper.html">BookKeeper</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../performance/main.html">Performance</a></li> -<li class="toctree-l1"><a class="reference internal" href="../references/main.html">References</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../references/configuration.html">Configuration Settings</a></li> -<li class="toctree-l2"><a class="reference internal" href="../references/metrics.html">Metrics</a></li> -<li class="toctree-l2"><a class="reference internal" href="../references/features.html">Features</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../tutorials/main.html">Tutorials</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../tutorials/main.html#basic">Basic</a></li> -<li class="toctree-l2"><a class="reference internal" href="../tutorials/main.html#messaging">Messaging</a></li> -<li class="toctree-l2"><a class="reference internal" href="../tutorials/main.html#replicated-state-machines">Replicated State Machines</a></li> -<li class="toctree-l2"><a class="reference internal" href="../tutorials/main.html#analytics">Analytics</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../developer/main.html">Developer</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../developer/release.html">Release</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li> -</ul> - - <span id="last"></span> - </div> - - </div> - <!-- <div id="slidebox"> --> - <!-- <button id="slidebox_close" type="button" class="close">×</button> --> - <!-- <p>Rate This Page</p> --> - <!-- <div id="rateYo"></div> --> - <!-- <p>Comment</p> - <input type="text" name="comment"></input> - <button>Submit</button> --> - <!-- </div> --> - </div> -</div> -<footer class="footer"> - <div class="container-fluid"> - <div class="row"> - <div class="col-md-10 col-md-offset-1"> - <p class="pull-right"> - <a href="#">Back to top</a> - - <br/> - -<div id="sourcelink"> - <a href="[email protected]:twitter/distributedlog.git/tree/master/docs/configuration/core.rst" - rel="nofollow">Source</a> - - <a href="../_sources/configuration/core.txt" - rel="nofollow">Raw</a> - <a href="../__docbird-build.log" - rel="nofollow">Build Log</a> - <a href="/report/stats/distributedlog:distributedlog" - rel="nofollow">Stats</a> -</div> - </p> - <p> - Built and hosted by <a href="/">DocBird</a>. - </p> - </div> - </div> - </div> -</footer> -<script type="text/javascript" src="../_static/js/docbird.js"></script> -<script type="text/javascript"> - var _gaq = _gaq || []; - _gaq.push(['_setAccount', 'UA-30775-8']); - _gaq.push(['_trackPageview']); - - (function() { - var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; - ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; - var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); - })(); -</script> -<!-- <script type="text/javascript" src="//s/d41d8cd98f00b204e9800998ecf8427e/en_US-tbnx1s-1988229788/6163/97/1.4.3/_/download/batch/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector.js?collectorId=e62237fc"></script> ---> - -<script type="text/javascript"> - $(document).ready(function () { - // track user activity time (from https://github.com/jasonzissman/TimeMe.js) - TimeMe.setIdleDurationInSeconds(30); - TimeMe.setCurrentPageName("my-home-page"); - TimeMe.initialize(); - - // record page visit event when user leaves the page - window.onbeforeunload = function (event) { - xmlhttp=new XMLHttpRequest(); - xmlhttp.withCredentials = true; - xmlhttp.open("POST", "/event/distributedlog:distributedlog/visit", false); - xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); - var event_data = { - total_time_reading: TimeMe.getTimeOnCurrentPageInSeconds(), - page: window.location.href - }; - //alert("send: " + $.param(event_data)); - xmlhttp.send($.param(event_data)); - }; - - // ask user for page rating after 20 seconds - // setTimeout(function(){ - // alert("Rate this page!"); - // }, 20000); - }); -</script> -<!-- <style> -#slidebox{ - width: 250px; - height: 90px; - padding: 10px; - background-color: #fff; - border: 1px solid #ccc; - position: fixed; - bottom: 3px; - right: -280px; - z-index: 1; -} -#slidebox .close{ - margin-top: -5px; - opacity: 0.5; -} -#slidebox .close:hover{ - opacity: 0.7; -} -</style> --> -<script type="text/javascript"> -$(function() { - // $(window).scroll(function(){ - // var distanceTop = $('#last').offset().top - $(window).height(); - - // if ($(window).scrollTop() > distanceTop) - // $('#slidebox').animate({'right':'3px'},300); - // else - // $('#slidebox').stop(true).animate({'right':'-280px'},100); - // }); - - // $('#slidebox .close').bind('click',function(){ - // $(this).parent().remove(); - // }); - - $("#rateYo").rateYo({ - normalFill: "#A0A0A0", - halfStar: true, - rating: (Cookies.get('docbird.rating.distributedlog.distributedlog') || 0.0) - }).on("rateyo.set", function (e, data) { - var event_data = { - comment: '', // see todo note below - rating: data.rating, - page: window.location.href - }; - Cookies.get('docbird.rating.distributedlog.distributedlog', data.rating) - $.post('/event/distributedlog:distributedlog/rating', event_data) - // xmlhttp=new XMLHttpRequest(); - // xmlhttp.withCredentials = true; - // var event_data = { - // comment: '', // see todo note below - // rating: data.rating, - // page: window.location.href - // }; - // xmlhttp.open("GET", "/event/distributedlog/rating?" + $.param(event_data), false); - // xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); - // // todo: implement comment form in rating slide out, - // // and instead of hooking this event, include a submit button, - // // and read the rating with rating() method - - // // alert("send: " + $.param(event_data)); - // xmlhttp.send(); - - }); - -}); -</script> -<script src="_static/js/selection-sharer.js"></script> -<script> -$('.db-content-body').selectionSharer(); -</script> - </body> -</html>
http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/1bd00e9a/configuration/main.html ---------------------------------------------------------------------- diff --git a/configuration/main.html b/configuration/main.html deleted file mode 100644 index 09a1b1b..0000000 --- a/configuration/main.html +++ /dev/null @@ -1,550 +0,0 @@ -<!DOCTYPE html> - - -<html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - - <title>Configuration — DistributedLog 1.0 documentation</title> - - <link rel="stylesheet" href="../_static/override.css" type="text/css" /> - <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> - <link rel="stylesheet" href="../_static/bootstrap-3.1.0/css/bootstrap.min.css" type="text/css" /> - <link rel="stylesheet" href="../_static/bootstrap-3.1.0/css/bootstrap-theme.min.css" type="text/css" /> - <link rel="stylesheet" href="../_static/css/featherlight.min.css" type="text/css" /> - <link rel="stylesheet" href="../_static/css/docbird.css" type="text/css" /> - <link rel="stylesheet" href="../_static/css/docbird-xs.css" type="text/css" /> - <link rel="stylesheet" href="../_static/css/jquery.rateyo.min.css" type="text/css" /> - <link rel="stylesheet" href="../_static/css/selection-sharer.css" type="text/css" /> - - <script type="text/javascript"> - var DOCUMENTATION_OPTIONS = { - URL_ROOT: '../', - VERSION: '1.0', - COLLAPSE_INDEX: false, - FILE_SUFFIX: '.html', - HAS_SOURCE: true - }; - </script> - <script type="text/javascript" src="../_static/jquery.js"></script> - <script type="text/javascript" src="../_static/underscore.js"></script> - <script type="text/javascript" src="../_static/doctools.js"></script> - <script type="text/javascript" src="../_static/bootstrap-3.1.0/js/bootstrap.min.js"></script> - <script type="text/javascript" src="../_static/js/bootstrap-docbird.js"></script> - <script type="text/javascript" src="../_static/js/jquery-1.11.0.min.js"></script> - <script type="text/javascript" src="../_static/js/jquery-fix.js"></script> - <script type="text/javascript" src="../_static/js/featherlight.min.js"></script> - <script type="text/javascript" src="../_static/js/ifvisible.js"></script> - <script type="text/javascript" src="../_static/js/timeme.js"></script> - <script type="text/javascript" src="../_static/js/jquery.rateyo.min.js"></script> - <script type="text/javascript" src="../_static/js/js.cookie.js"></script> - <link rel="shortcut icon" href="../_static/docbird.ico"/> - <link rel="top" title="DistributedLog 1.0 documentation" href="../index.html" /> - <link rel="next" title="Core Library Configuration" href="core.html" /> - <link rel="prev" title="Best Practices" href="../api/practice.html" /> -<meta charset='utf-8'> -<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'> -<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'> -<meta name="apple-mobile-web-app-capable" content="yes"> - -<meta property="docbird:project" content="DistributedLog" /> - - </head> - <body> -<div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container-fluid"> - <div class="row db-header"> - <div class="col-sm-3 col-md-3 col-lg-3 hidden-xs db-header-controls"> - <a href="/" alt="Back to Docbird"> - <div class="db-home-button"> - <span class="glyphicon glyphicon-home"></span> - </div> -</a> - -<form action="../search.html" method="get" class="db-searchbox-form"> - <div class="form-group"> - <input type="text" name="q" class="form-control db-searchbox-input" placeholder="Search DistributedLog" /> - </div> - <input type="hidden" name="check_keywords" value="yes" /> - <input type="hidden" name="area" value="default" /> -</form> - - </div> - <div class="col-sm-7 col-md-7 col-lg-7 col-xs-12 db-header-info"> - <div class="visible-xs"> - <a href="/" alt="Back to Docbird"> - <div class="db-home-button"> - <span class="glyphicon glyphicon-home"></span> - </div> -</a> - </div> - <div class="visible-xs db-xs-menu-button"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#db-xs-menu"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> -</div> - </div> - <div class="db-header-projectname"> - <h1><a href="../index.html">DistributedLog</a></h1> - </div> - </div> - </div> - <div class="row db-xs-menu hidden-sm hidden-md hidden-lg - collapse" id="db-xs-menu"> - -<form action="../search.html" method="get" class="db-searchbox-form"> - <div class="form-group"> - <input type="text" name="q" class="form-control db-searchbox-input" placeholder="Search DistributedLog" /> - </div> - <input type="hidden" name="check_keywords" value="yes" /> - <input type="hidden" name="area" value="default" /> -</form> - - <div class="db-toc" role="complementary"> - <ul class="current"> -<li class="toctree-l1"><a class="reference internal" href="../download.html">Releases</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../download.html#rc1">0.3.51-RC1</a></li> -<li class="toctree-l2"><a class="reference internal" href="../download.html#rc0">0.3.51-RC0</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../basics/main.html">Getting Started</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../basics/introduction.html">Introduction</a></li> -<li class="toctree-l2"><a class="reference internal" href="../basics/quickstart.html">Quick Start</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../api/main.html">API</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../api/core.html">Core Library API</a></li> -<li class="toctree-l2"><a class="reference internal" href="../api/proxy.html">Write Proxy Client API</a></li> -<li class="toctree-l2"><a class="reference internal" href="../api/practice.html">Best Practices</a></li> -</ul> -</li> -<li class="toctree-l1 current"><a class="current reference internal" href="">Configuration</a><ul> -<li class="toctree-l2"><a class="reference internal" href="core.html">Core Library Configuration</a></li> -<li class="toctree-l2"><a class="reference internal" href="proxy.html">Write Proxy Configuration</a></li> -<li class="toctree-l2"><a class="reference internal" href="client.html">Client Configuration</a></li> -<li class="toctree-l2"><a class="reference internal" href="perlog.html">Per Stream Configuration</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../considerations/main.html">Considerations</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../considerations/main.html#consistency-durability-and-ordering">Consistency, Durability and Ordering</a></li> -<li class="toctree-l2"><a class="reference internal" href="../considerations/main.html#partitioning">Partitioning</a></li> -<li class="toctree-l2"><a class="reference internal" href="../considerations/main.html#processing-semantics">Processing Semantics</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../architecture/main.html">Architecture</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../architecture/main.html#data-model">Data Model</a></li> -<li class="toctree-l2"><a class="reference internal" href="../architecture/main.html#software-stack">Software Stack</a></li> -<li class="toctree-l2"><a class="reference internal" href="../architecture/main.html#lifecyle-of-records">Lifecyle of records</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../design/main.html">Detail Design</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../design/main.html#consistency">Consistency</a></li> -<li class="toctree-l2"><a class="reference internal" href="../design/main.html#streaming-reads">Streaming Reads</a></li> -<li class="toctree-l2"><a class="reference internal" href="../design/main.html#logsegment-lifecycle">LogSegment Lifecycle</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../globalreplicatedlog/main.html">Global Replicated Log</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../globalreplicatedlog/main.html#region-aware-data-placement-policy">Region Aware Data Placement Policy</a></li> -<li class="toctree-l2"><a class="reference internal" href="../globalreplicatedlog/main.html#cross-region-speculative-reads">Cross Region Speculative Reads</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../implementation/main.html">Implementation</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../implementation/storage.html">Storage</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../operations/main.html">Deployment & Administration</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../operations/deployment.html">Cluster Setup & Deployment</a></li> -<li class="toctree-l2"><a class="reference internal" href="../operations/operations.html">DistributedLog Operations</a></li> -<li class="toctree-l2"><a class="reference internal" href="../operations/performance.html">Performance Tuning</a></li> -<li class="toctree-l2"><a class="reference internal" href="../operations/hardware.html">Hardware</a></li> -<li class="toctree-l2"><a class="reference internal" href="../operations/monitoring.html">Monitoring</a></li> -<li class="toctree-l2"><a class="reference internal" href="../operations/zookeeper.html">ZooKeeper</a></li> -<li class="toctree-l2"><a class="reference internal" href="../operations/bookkeeper.html">BookKeeper</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../performance/main.html">Performance</a></li> -<li class="toctree-l1"><a class="reference internal" href="../references/main.html">References</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../references/configuration.html">Configuration Settings</a></li> -<li class="toctree-l2"><a class="reference internal" href="../references/metrics.html">Metrics</a></li> -<li class="toctree-l2"><a class="reference internal" href="../references/features.html">Features</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../tutorials/main.html">Tutorials</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../tutorials/main.html#basic">Basic</a></li> -<li class="toctree-l2"><a class="reference internal" href="../tutorials/main.html#messaging">Messaging</a></li> -<li class="toctree-l2"><a class="reference internal" href="../tutorials/main.html#replicated-state-machines">Replicated State Machines</a></li> -<li class="toctree-l2"><a class="reference internal" href="../tutorials/main.html#analytics">Analytics</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../developer/main.html">Developer</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../developer/release.html">Release</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li> -</ul> - - </div> - </div> - </div> -</div> -<div class="container"> - <div class="row"> - <div style="z-index: 1" class="col-xs-12 col-sm-12 col-md-12 col-lg-12"> - <style> - .overflow-container { - display: none; - } - .overflow-toggle { - text-decoration: none; - border-bottom: none; - border-radius: 4px; - border: 1px solid #eee; - padding: 1px 3px 3px; - color: #888; - font-weight: normal; - background-color: linen; - line-height: 1.85em; - cursor: pointer; - } - .overflow-toggle:hover { - color: #333; - border-color: #ccc; - background-color: beige; - } -</style> -<script> -$(function(){ - $('.overflow-toggle').on('click', function(){ - $(this).next().toggle(); - }); -}); -</script> -<div class="db-project-header-container"> - <div class="row"> - - <div class="db-project-info col-lg-12 col-md-12 col-sm-12 col-xs-12"> - <h1> - <a href="../index.html">DistributedLog</a> - - </h1> - - <div class="db-code-link"> - <a href="[email protected]:twitter/distributedlog.git/tree/master/" target="_blank">[email protected]:twitter/distributedlog.git/tree/master/</a> - </div> - - - </div> - </div> - - <div class="row db-project-links-row"> - <div class=" col-sm-3 col-md-3 col-lg-3 db-project-link-column"> - <div class="db-hashtag-container"> - - <span class="db-project-link-label">OWNERS</span> - - <em>None</em> - - - </div> - </div> - <div class="col-sm-3 col-md-3 col-lg-3 db-project-link-column"> - <div class="db-hashtag-container"> - - <span class="db-project-link-label">TAGS</span> - - <em><a class="db-hashtag" href="/?q=tags:%23uses_maven">#uses_maven</a></em> - - - </div> - </div> - <div class="col-sm-3 col-md-3 col-lg-3 db-project-link-column"> - <span class="db-project-link-label">HEALTH</span> - - <h3 style="margin-top: 0"> -<!-- <a href="/techdocs/checklist.html" class="label label-success">--> - <a href="/report/distributedlog" class=""> - 9.0 / 10 - <span style="margin-left: .25em" class="glyphicon glyphicon-ok"></span> - </a> - - </h3> - </div> - <div class="col-sm-3 col-md-3 col-lg-3 db-project-link-column"> - <span class="db-project-link-label">RATING</span> - <div id="rateYo"></div> - </div> - </div> - -</div> - </div> - <div class="col-xs-12 col-sm-8 col-md-8 col-lg-8"> - <div class="db-content-body"> - - <div class="section" id="configuration"> -<h1>Configuration<a class="headerlink" href="#configuration" title="Permalink to this headline">¶</a></h1> -<p>DistributedLog uses key-value pairs in the <a class="reference external" href="http://en.wikipedia.org/wiki/.properties">property file format</a> for configuration. These values can be supplied either from a file, jvm system properties, or programmatically.</p> -<p>In DistributedLog, we only put non-environment related settings in the configuration. -Those environment related settings, such as zookeeper connect string, bookkeeper -ledgers path, should not be loaded from configuration. They should be added in <cite>namespace binding</cite>.</p> -<div class="toctree-wrapper compound"> -<ul> -<li class="toctree-l1"><a class="reference internal" href="core.html">Core Library Configuration</a></li> -<li class="toctree-l1"><a class="reference internal" href="proxy.html">Write Proxy Configuration</a></li> -<li class="toctree-l1"><a class="reference internal" href="client.html">Client Configuration</a></li> -<li class="toctree-l1"><a class="reference internal" href="perlog.html">Per Stream Configuration</a></li> -</ul> -</div> -</div> - - - </div> - </div> - <div class="hidden-xs col-sm-3 col-md-3 col-md-offset-1 col-lg-3 db-sidebar"> - - <div class="db-toc" role="complementary"> - <ul class="current"> - <li class="toctree-l0 current"><a class="current reference internal" href="../index.html">DistributedLog</a></li> - </ul> - <ul class="current"> -<li class="toctree-l1"><a class="reference internal" href="../download.html">Releases</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../download.html#rc1">0.3.51-RC1</a></li> -<li class="toctree-l2"><a class="reference internal" href="../download.html#rc0">0.3.51-RC0</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../basics/main.html">Getting Started</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../basics/introduction.html">Introduction</a></li> -<li class="toctree-l2"><a class="reference internal" href="../basics/quickstart.html">Quick Start</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../api/main.html">API</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../api/core.html">Core Library API</a></li> -<li class="toctree-l2"><a class="reference internal" href="../api/proxy.html">Write Proxy Client API</a></li> -<li class="toctree-l2"><a class="reference internal" href="../api/practice.html">Best Practices</a></li> -</ul> -</li> -<li class="toctree-l1 current"><a class="current reference internal" href="">Configuration</a><ul> -<li class="toctree-l2"><a class="reference internal" href="core.html">Core Library Configuration</a></li> -<li class="toctree-l2"><a class="reference internal" href="proxy.html">Write Proxy Configuration</a></li> -<li class="toctree-l2"><a class="reference internal" href="client.html">Client Configuration</a></li> -<li class="toctree-l2"><a class="reference internal" href="perlog.html">Per Stream Configuration</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../considerations/main.html">Considerations</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../considerations/main.html#consistency-durability-and-ordering">Consistency, Durability and Ordering</a></li> -<li class="toctree-l2"><a class="reference internal" href="../considerations/main.html#partitioning">Partitioning</a></li> -<li class="toctree-l2"><a class="reference internal" href="../considerations/main.html#processing-semantics">Processing Semantics</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../architecture/main.html">Architecture</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../architecture/main.html#data-model">Data Model</a></li> -<li class="toctree-l2"><a class="reference internal" href="../architecture/main.html#software-stack">Software Stack</a></li> -<li class="toctree-l2"><a class="reference internal" href="../architecture/main.html#lifecyle-of-records">Lifecyle of records</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../design/main.html">Detail Design</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../design/main.html#consistency">Consistency</a></li> -<li class="toctree-l2"><a class="reference internal" href="../design/main.html#streaming-reads">Streaming Reads</a></li> -<li class="toctree-l2"><a class="reference internal" href="../design/main.html#logsegment-lifecycle">LogSegment Lifecycle</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../globalreplicatedlog/main.html">Global Replicated Log</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../globalreplicatedlog/main.html#region-aware-data-placement-policy">Region Aware Data Placement Policy</a></li> -<li class="toctree-l2"><a class="reference internal" href="../globalreplicatedlog/main.html#cross-region-speculative-reads">Cross Region Speculative Reads</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../implementation/main.html">Implementation</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../implementation/storage.html">Storage</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../operations/main.html">Deployment & Administration</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../operations/deployment.html">Cluster Setup & Deployment</a></li> -<li class="toctree-l2"><a class="reference internal" href="../operations/operations.html">DistributedLog Operations</a></li> -<li class="toctree-l2"><a class="reference internal" href="../operations/performance.html">Performance Tuning</a></li> -<li class="toctree-l2"><a class="reference internal" href="../operations/hardware.html">Hardware</a></li> -<li class="toctree-l2"><a class="reference internal" href="../operations/monitoring.html">Monitoring</a></li> -<li class="toctree-l2"><a class="reference internal" href="../operations/zookeeper.html">ZooKeeper</a></li> -<li class="toctree-l2"><a class="reference internal" href="../operations/bookkeeper.html">BookKeeper</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../performance/main.html">Performance</a></li> -<li class="toctree-l1"><a class="reference internal" href="../references/main.html">References</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../references/configuration.html">Configuration Settings</a></li> -<li class="toctree-l2"><a class="reference internal" href="../references/metrics.html">Metrics</a></li> -<li class="toctree-l2"><a class="reference internal" href="../references/features.html">Features</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../tutorials/main.html">Tutorials</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../tutorials/main.html#basic">Basic</a></li> -<li class="toctree-l2"><a class="reference internal" href="../tutorials/main.html#messaging">Messaging</a></li> -<li class="toctree-l2"><a class="reference internal" href="../tutorials/main.html#replicated-state-machines">Replicated State Machines</a></li> -<li class="toctree-l2"><a class="reference internal" href="../tutorials/main.html#analytics">Analytics</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../developer/main.html">Developer</a><ul> -<li class="toctree-l2"><a class="reference internal" href="../developer/release.html">Release</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li> -</ul> - - <span id="last"></span> - </div> - - </div> - <!-- <div id="slidebox"> --> - <!-- <button id="slidebox_close" type="button" class="close">×</button> --> - <!-- <p>Rate This Page</p> --> - <!-- <div id="rateYo"></div> --> - <!-- <p>Comment</p> - <input type="text" name="comment"></input> - <button>Submit</button> --> - <!-- </div> --> - </div> -</div> -<footer class="footer"> - <div class="container-fluid"> - <div class="row"> - <div class="col-md-10 col-md-offset-1"> - <p class="pull-right"> - <a href="#">Back to top</a> - - <br/> - -<div id="sourcelink"> - <a href="[email protected]:twitter/distributedlog.git/tree/master/docs/configuration/main.rst" - rel="nofollow">Source</a> - - <a href="../_sources/configuration/main.txt" - rel="nofollow">Raw</a> - <a href="../__docbird-build.log" - rel="nofollow">Build Log</a> - <a href="/report/stats/distributedlog:distributedlog" - rel="nofollow">Stats</a> -</div> - </p> - <p> - Built and hosted by <a href="/">DocBird</a>. - </p> - </div> - </div> - </div> -</footer> -<script type="text/javascript" src="../_static/js/docbird.js"></script> -<script type="text/javascript"> - var _gaq = _gaq || []; - _gaq.push(['_setAccount', 'UA-30775-8']); - _gaq.push(['_trackPageview']); - - (function() { - var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; - ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; - var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); - })(); -</script> -<!-- <script type="text/javascript" src="//s/d41d8cd98f00b204e9800998ecf8427e/en_US-tbnx1s-1988229788/6163/97/1.4.3/_/download/batch/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector.js?collectorId=e62237fc"></script> ---> - -<script type="text/javascript"> - $(document).ready(function () { - // track user activity time (from https://github.com/jasonzissman/TimeMe.js) - TimeMe.setIdleDurationInSeconds(30); - TimeMe.setCurrentPageName("my-home-page"); - TimeMe.initialize(); - - // record page visit event when user leaves the page - window.onbeforeunload = function (event) { - xmlhttp=new XMLHttpRequest(); - xmlhttp.withCredentials = true; - xmlhttp.open("POST", "/event/distributedlog:distributedlog/visit", false); - xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); - var event_data = { - total_time_reading: TimeMe.getTimeOnCurrentPageInSeconds(), - page: window.location.href - }; - //alert("send: " + $.param(event_data)); - xmlhttp.send($.param(event_data)); - }; - - // ask user for page rating after 20 seconds - // setTimeout(function(){ - // alert("Rate this page!"); - // }, 20000); - }); -</script> -<!-- <style> -#slidebox{ - width: 250px; - height: 90px; - padding: 10px; - background-color: #fff; - border: 1px solid #ccc; - position: fixed; - bottom: 3px; - right: -280px; - z-index: 1; -} -#slidebox .close{ - margin-top: -5px; - opacity: 0.5; -} -#slidebox .close:hover{ - opacity: 0.7; -} -</style> --> -<script type="text/javascript"> -$(function() { - // $(window).scroll(function(){ - // var distanceTop = $('#last').offset().top - $(window).height(); - - // if ($(window).scrollTop() > distanceTop) - // $('#slidebox').animate({'right':'3px'},300); - // else - // $('#slidebox').stop(true).animate({'right':'-280px'},100); - // }); - - // $('#slidebox .close').bind('click',function(){ - // $(this).parent().remove(); - // }); - - $("#rateYo").rateYo({ - normalFill: "#A0A0A0", - halfStar: true, - rating: (Cookies.get('docbird.rating.distributedlog.distributedlog') || 0.0) - }).on("rateyo.set", function (e, data) { - var event_data = { - comment: '', // see todo note below - rating: data.rating, - page: window.location.href - }; - Cookies.get('docbird.rating.distributedlog.distributedlog', data.rating) - $.post('/event/distributedlog:distributedlog/rating', event_data) - // xmlhttp=new XMLHttpRequest(); - // xmlhttp.withCredentials = true; - // var event_data = { - // comment: '', // see todo note below - // rating: data.rating, - // page: window.location.href - // }; - // xmlhttp.open("GET", "/event/distributedlog/rating?" + $.param(event_data), false); - // xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); - // // todo: implement comment form in rating slide out, - // // and instead of hooking this event, include a submit button, - // // and read the rating with rating() method - - // // alert("send: " + $.param(event_data)); - // xmlhttp.send(); - - }); - -}); -</script> -<script src="_static/js/selection-sharer.js"></script> -<script> -$('.db-content-body').selectionSharer(); -</script> - </body> -</html>
