You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by rn...@apache.org on 2019/09/25 08:29:49 UTC

[couchdb-documentation] 01/01: Correct misleading commentary on ERL_MAX_PORTS

This is an automated email from the ASF dual-hosted git repository.

rnewson pushed a commit to branch erl_max_ports
in repository https://gitbox.apache.org/repos/asf/couchdb-documentation.git

commit a0027ff51f1b45abb8c590bf6b30331fbd7c7085
Author: Robert Newson <rn...@apache.org>
AuthorDate: Wed Sep 25 09:27:18 2019 +0100

    Correct misleading commentary on ERL_MAX_PORTS
    
    ERL_MAX_PORTS affects the number of Erlang ports allowed at once, and
    defaults to 1024. An Erlang port is created via erlang:open_port and
    is used to launch an executable like couchjs. It is not, directly, a
    limit on TCP sockets or file descriptors.
---
 src/install/troubleshooting.rst | 7 ++++---
 src/maintenance/performance.rst | 7 -------
 2 files changed, 4 insertions(+), 10 deletions(-)

diff --git a/src/install/troubleshooting.rst b/src/install/troubleshooting.rst
index acb5f8b..20011dd 100644
--- a/src/install/troubleshooting.rst
+++ b/src/install/troubleshooting.rst
@@ -201,9 +201,10 @@ but the short answer is that you should decrease ``ulimit -n`` or define
 
 erlang stack trace contains ``system_limit``, ``open_port``
 -----------------------------------------------------------
-Erlang has a default limit of 1024 ports, where each FD, tcp connection, and
-linked-in driver uses one port. You seem to have exceeded this. You can
-change it at runtime using the ``ERL_MAX_PORTS`` env variable.
+Erlang has a default limit of 1024 Erlang ports, where some internal
+components uses one Erlang port (the ICU driver, Javascript
+evaluation). You seem to have exceeded this. You can change it at
+runtime using the ``ERL_MAX_PORTS`` env variable.
 
 function raised exception (Cannot encode 'undefined' value as JSON)
 -------------------------------------------------------------------
diff --git a/src/maintenance/performance.rst b/src/maintenance/performance.rst
index defec5e..776d213 100644
--- a/src/maintenance/performance.rst
+++ b/src/maintenance/performance.rst
@@ -99,13 +99,6 @@ will be continuously replicating.
 Erlang
 ------
 
-Even if you've increased the maximum connections CouchDB will allow,
-the Erlang runtime system will not allow more than 1024 connections by
-default. Adding the following directive to ``(prefix)/etc/default/couchdb`` (or
-equivalent) will increase this limit (in this case to 4096)::
-
-    export ERL_MAX_PORTS=4096
-
 CouchDB versions up to 1.1.x also create Erlang Term Storage (`ETS`_) tables for
 each replication. If you are using a version of CouchDB older than 1.2 and
 must support many replications, also set the ``ERL_MAX_ETS_TABLES`` variable.