olivenvrac opened a new issue #1267: [ERROR] fabric_worker_timeout 
URL: https://github.com/apache/couchdb/issues/1267
 
 
   I think that I have the same issue than this one : Various error messages 
and breakage #859
   I open a new issue because i have somes questions about this.
   
   SO, i'm getting the following errors which I don't know how to properly 
interpret and resolve too : "fabric_worker_timeout changes"
   Also, i don't know how to reproduce these errors, and I am not sure what it 
is about and the consequences
   I'd never had this probleme before.
   after reading some comments about this, i have set the parameter 
"request_timeout" at "infinity" in the local.ini (section [fabric] and restart 
the CouchDB instance, wich seems to resolve my probleme
   
   after this setting, the relplication between pouchdb and couchdb working 
again
   For information, i've also use a continous replication on the CouchDB 
instance on wich i have some problems with and another CouchDB instance (using 
the _replicator db).
   This replication works properly during the probleme of replication beetwen 
PouchDB and CouchDB.
   But the problem with the fabric_worker_timeout persist even if i stop the 
replication under the couchdb instances by suppress the _replicator documents.
   
   ## Context
   We are using PouchDb on an mobile application, which synchronyse his 
documents and attachments with a CouchDB.
   Couchdb is configurated in standalone mode
   PouchDB initiate the replication.
   only 9 users connected with a poor amount of data, but some attachements in 
docs (a few MB)
   
   
   ## Current Behavior
   Here are the errors in the couchdb.log after a GET on a document by PouchDB :
   
   `[notice] 2018-04-05T15:05:41.934621Z couchdb@server.domain <0.577.3> 
4c082f6d6f serveur:5984 xx.145.104.104 undefined GET 
//mydb/_local/xBlBiDk7hOBqC6G6Lc6TtQ%3D%3D?&_nonce=152294074184`
   
   `[error] 2018-04-05T15:05:43.123458Z couchdb@server.domain <0.30455.2> 
19157d72c9 fabric_worker_timeout 
changes,'couchdb@server.domain',<<"shards/c0000000-dfffffff/mydb.1513246909">>`
   `[notice] 2018-04-05T15:05:43.124306Z couchdb@server.domain <0.30455.2> 
19157d72c9 cuzarect01.orleanssrv.domsma:5984 xx.145.104.104 undefined GET 
//mydb/_changes?timeout=25000&style=all_docs&filter=filters%2Fus
   
er&user=a16851&since=5911g1AAAAMfeJy1zc0NgkAQBeAJELULjQUQxF1YTtKJ7g8JIQsYiFy1Db1oJ9qJdoLLQuQqCVzeJ...............h5U9brlU5-QLTLv91&limit=6&_nonce=1522940683161
 500 ok 600137 404 ok 46`
   
   `[error] 2018-04-05T15:05:43.515755Z couchdb@server.domain <0.15633.1> 
d73f53a063 rexi_server exit:timeout 
[{rexi,init_stream,1,[{file,"src/rexi.erl"},{line,256}]},{rexi,stream2,3,[{file,"src/rexi.erl"},{line,204}]},{fabric_rpc,changes_enumerator,2,[{file,"src/fabric_rpc.erl"},{line,349}]},{couch_btree,stream_kv_node2,8,[{file,"src/couch_btree.erl"},{line,783}]},{couch_btree,stream_kp_node,7,[{file,"src/couch_btree.erl"},{line,710}]},{couch_btree,stream_kp_node,8,[{file
   
,"src/couch_btree.erl"},{line,754}]},{couch_btree,fold,4,[{file,"src/couch_btree.erl"},{line,220}]},{couch_db,changes_since,5,[{file,"src/couch_db.erl"},{line,1244}]}]`
   
   
   
   ## Questions :
   is the cpu overloaded must be the cause the problem or the problem cause the 
overloaded
   is this errors are induced by the request on the handler "_changes" or 
"_local" ?
   is it possible that this problem must comes from a slowly network between 
pouchdb and couchdb (3G connexion)?
   in this case, is it rather PouchDb that must catch some errors and not on 
the CouchDB server ?
   is the parameter request_timeout = infinity is a good approach ? I suppose 
it's beter to determine a correct value higher than de default value.
   
   
   You'v writting that using filtered _changes feeds could relate to your 
couchjs os process timeouts. You probably right ! Indeed, the replication 
initiate by PouchDB use filters changes feeds.
   here is the js function : function(doc,req) { return doc.user === 
req.query.user || doc._id === '_design/filters' }
   Must I switch this to Mango-style selectors which are significantly better 
performance than JavaScript filters as you say ?
   
   
   ## Environment
   version os and couchdb :
   Linux version 3.10.0-327.el7.x86_64 (RHEL 7)
   CouchDB 2.0
   
   ulimit :
   core file size          (blocks, -c) 0
   data seg size           (kbytes, -d) unlimited
   scheduling priority             (-e) 0
   file size               (blocks, -f) unlimited
   pending signals                 (-i) 7249
   max locked memory       (kbytes, -l) 64
   max memory size         (kbytes, -m) unlimited
   open files                      (-n) 1024
   pipe size            (512 bytes, -p) 8
   POSIX message queues     (bytes, -q) 819200
   real-time priority              (-r) 0
   stack size              (kbytes, -s) 8192
   cpu time               (seconds, -t) unlimited
   max user processes              (-u) 4096
   virtual memory          (kbytes, -v) unlimited
   file locks                      (-x) unlimited
   
   
   CouchDB configuration :
   
   {
     "native_query_servers": {
       "query": "{mango_native_proc, start_link, []}"
     },
     "httpd_design_handlers": {
       "_compact": "{couch_mrview_http, handle_compact_req}",
       "_info": "{couch_mrview_http, handle_info_req}",
       "_list": "{couch_mrview_show, handle_view_list_req}",
       "_rewrite": "{couch_httpd_rewrite, handle_rewrite_req}",
       "_show": "{couch_mrview_show, handle_doc_show_req}",
       "_update": "{couch_mrview_show, handle_doc_update_req}",
       "_view": "{couch_mrview_http, handle_view_req}",
       "_view_changes": "{couch_mrview_http, handle_view_changes_req}"
     },
     "uuids": {
       "algorithm": "sequential",
       "max_count": "1000"
     },
     "cluster": {
       "n": "3",
       "q": "8"
     },
     "fabric": {
       "request_timeout": "infinity"
     },
     "cors": {
       "credentials": "true",
       "headers": "accept, authorization, content-type, origin, referer",
       "methods": "GET, PUT, POST, HEAD, DELETE",
       "origins": "*"
     },
     "chttpd": {
       "backlog": "512",
       "bind_address": "0.0.0.0",
       "docroot": "./share/www",
       "port": "5984",
       "socket_options": "[{recbuf, 262144}, {sndbuf, 262144}, {nodelay, true}]"
     },
     "httpd_global_handlers": {
       "/": "{couch_httpd_misc_handlers, handle_welcome_req, <<\"Welcome\">>}",
       "_active_tasks": "{couch_httpd_misc_handlers, handle_task_status_req}",
       "_all_dbs": "{couch_httpd_misc_handlers, handle_all_dbs_req}",
       "_config": "{couch_httpd_misc_handlers, handle_config_req}",
       "_oauth": "{couch_httpd_oauth, handle_oauth_req}",
       "_plugins": "{couch_plugins_httpd, handle_req}",
       "_replicate": "{couch_replicator_httpd, handle_req}",
       "_restart": "{couch_httpd_misc_handlers, handle_restart_req}",
       "_session": "{couch_httpd_auth, handle_session_req}",
       "_stats": "{couch_stats_httpd, handle_stats_req}",
       "_system": "{chttpd_misc, handle_system_req}",
       "_utils": "{couch_httpd_misc_handlers, handle_utils_dir_req, 
\"./share/www\"}",
       "_uuids": "{couch_httpd_misc_handlers, handle_uuids_req}",
       "favicon.ico": "{couch_httpd_misc_handlers, handle_favicon_req, 
\"./share/www\"}"
     },
     "attachments": {
       "compressible_types": "text/*, application/javascript, application/json, 
application/xml",
       "compression_level": "8"
     },
     "admins": {
       "cuadmin": 
"-pbkdf2-ab0***************************************************,10"
     },
     "query_server_config": {
       "os_process_limit": "25",
       "reduce_limit": "true"
     },
     "vendor": {
       "name": "The Apache Software Foundation"
     },
     "replicator": {
       "connection_timeout": "30000",
       "http_connections": "20",
       "max_replication_retry_count": "10",
       "retries_per_request": "10",
       "socket_options": "[{keepalive, true}, {nodelay, false}]",
       "ssl_certificate_max_depth": "3",
       "start_delay": "0",
       "start_splay": "0",
       "verify_ssl_certificates": "false",
       "worker_batch_size": "500",
       "worker_processes": "4"
     },
     "couch_httpd_oauth": {
       "use_users_db": "false"
     },
     "ssl": {
       "port": "6984"
     },
     "log": {
       "file": "./var/log/couchdb.log",
       "level": "info",
       "writer": "file"
     },
     "indexers": {
       "couch_mrview": "true"
     },
     "view_compaction": {
       "keyvalue_buffer_size": "2097152"
     },
     "query_servers": {
       "coffeescript": "./bin/couchjs ./share/server/main-coffee.js",
       "javascript": "./bin/couchjs ./share/server/main.js"
     },
     "daemons": {
       "auth_cache": "{couch_auth_cache, start_link, []}",
       "compaction_daemon": "{couch_compaction_daemon, start_link, []}",
       "couch_peruser": "{couch_peruser, start_link, []}",
       "external_manager": "{couch_external_manager, start_link, []}",
       "httpd": "{couch_httpd, start_link, []}",
       "index_server": "{couch_index_server, start_link, []}",
       "os_daemons": "{couch_os_daemons, start_link, []}",
       "query_servers": "{couch_proc_manager, start_link, []}",
       "uuids": "{couch_uuids, start, []}",
       "vhosts": "{couch_httpd_vhost, start_link, []}"
     },
     "couch_peruser": {
       "delete_dbs": "false",
       "enable": "false"
     },
     "httpd": {
       "allow_jsonp": "true",
       "authentication_handlers": "{couch_httpd_oauth, 
oauth_authentication_handler}, {couch_httpd_auth, 
cookie_authentication_handler}, {couch_httpd_auth, 
default_authentication_handler}",
       "bind_address": "127.0.0.1",
       "default_handler": "{couch_httpd_db, handle_request}",
       "enable_cors": "true",
       "port": "5986",
       "secure_rewrites": "true",
       "socket_options": "[{recbuf, 262144}, {sndbuf, 262144}]",
       "vhost_global_handlers": "_utils, _uuids, _session, _oauth, _users"
     },
     "httpd_db_handlers": {
       "_all_docs": "{couch_mrview_http, handle_all_docs_req}",
       "_changes": "{couch_httpd_db, handle_db_changes_req}",
       "_compact": "{couch_httpd_db, handle_compact_req}",
       "_design": "{couch_httpd_db, handle_design_req}",
       "_design_docs": "{couch_mrview_http, handle_design_docs_req}",
       "_local_docs": "{couch_mrview_http, handle_local_docs_req}",
       "_temp_view": "{couch_mrview_http, handle_temp_view_req}",
       "_view_cleanup": "{couch_mrview_http, handle_cleanup_req}"
     },
     "database_compaction": {
       "checkpoint_after": "5242880",
       "doc_buffer_size": "524288"
     },
     "csp": {
       "enable": "true"
     },
     "couch_httpd_auth": {
       "allow_persistent_cookies": "false",
       "auth_cache_size": "50",
       "authentication_db": "_users",
       "authentication_redirect": "/_utils/session.html",
       "iterations": "10",
       "require_valid_user": "false",
       "secret": "*********************",
       "timeout": "7200"
     },
     "couchdb": {
       "attachment_stream_buffer_size": "4096",
       "database_dir": "../r1/data",
       "default_security": "admin_local",
       "delayed_commits": "false",
       "file_compression": "snappy",
       "max_dbs_open": "500",
       "max_document_size": "67108864",
       "os_process_timeout": "5000",
       "uuid": "*************************",
       "view_index_dir": "../r1/data"
     },
     "compaction_daemon": {
       "check_interval": "300",
       "min_file_size": "131072"
     }
   }
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to