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