You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by ko...@apache.org on 2019/09/11 19:46:54 UTC
[couchdb-documentation] 01/01: Documentation for background indexing
This is an automated email from the ASF dual-hosted git repository.
kocolosk pushed a commit to branch ken-docs
in repository https://gitbox.apache.org/repos/asf/couchdb-documentation.git
commit c52130d0d4542386f7879ffb68e5b5d5751cc269
Author: Adam Kocoloski <ko...@apache.org>
AuthorDate: Wed Sep 11 15:46:40 2019 -0400
Documentation for background indexing
---
src/config/index.rst | 1 +
src/config/indexbuilds.rst | 50 ++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 51 insertions(+)
diff --git a/src/config/index.rst b/src/config/index.rst
index eebdc17..9ab1ace 100644
--- a/src/config/index.rst
+++ b/src/config/index.rst
@@ -26,6 +26,7 @@ Configuration
http
auth
compaction
+ indexbuilds
logging
replicator
query-servers
diff --git a/src/config/indexbuilds.rst b/src/config/indexbuilds.rst
new file mode 100644
index 0000000..ac51657
--- /dev/null
+++ b/src/config/indexbuilds.rst
@@ -0,0 +1,50 @@
+.. Licensed under the Apache License, Version 2.0 (the "License"); you may not
+.. use this file except in compliance with the License. You may obtain a copy of
+.. the License at
+..
+.. http://www.apache.org/licenses/LICENSE-2.0
+..
+.. Unless required by applicable law or agreed to in writing, software
+.. distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+.. WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+.. License for the specific language governing permissions and limitations under
+.. the License.
+
+.. default-domain:: config
+.. highlight:: ini
+
+===================
+Background Indexing
+===================
+
+Secondary indexes in CouchDB are not updated during document write operations. In order to
+avoid high latencies when reading indexes following a large block of writes, CouchDB
+automatically kicks off background jobs to keep secondary indexes "warm". The daemon
+responsible for this process is internally known as "ken" and can be configured using the
+following settings.
+
+.. _config/index_builds:
+
+.. config:section:: ken :: Background Index Builds
+
+ .. config:option:: batch_channels :: Steady-state build concurrency
+
+ This setting controls the number of background view builds that can be running in
+ parallel at any given time. The default is 20.
+
+ .. config:option:: incremental_channels :: Additional slots for short jobs
+
+ It is possible for all the slots in the normal build system to be occupied by
+ long-running index rebuilds (e.g. if new design documents are posted to several
+ databases simultaneously). In order to avoid already-built indexes from falling
+ behind when this occurs, CouchDB will allow for a number of short background
+ indexing jobs to run even when all slots are full. This setting controls how many
+ additional short jobs are allowed to run concurrently with the main jobs. The
+ default is 80.
+
+ .. config:option:: max_incremental_updates :: Threshold defining a job as short
+
+ CouchDB estimates whether an indexing job is "incremental" or not by looking at
+ the difference in sequence numbers between the current index and the main
+ database. If the difference is larger than the threshold defined here the
+ background job will only be allowed to run in the main queue. Defaults to 1000.