Product: Couchbase Server Component: views Issue Link: MB-69333 Affects Versions: 7.2, 7.6, 8.0 Fix Versions: 7.2.9, 7.6.9, 8.0.1
Summary
The View Engine needs to open a DCP connection to stream all documents in the collection. It does this by sending a DCP Open message to KV Engine.
If the bucket is still warming up when the DCP Open message is sent, KV Engine returns a temporary error. The View Engine does not check this status and continues with the next command. Because the DCP Open failed, when the View Engine later tries to open a stream request for a vBucket, KV Engine rejects it with the error: The command can only be sent on a DCP connection.
Symptoms
- Views not returning any data.
Triggers
- Restarting the Data Service (for example after an upgrade).
- Slow Data Service warmup occurs after restart.
- View engine sends DCP Open while Data Service is still in warmup.
Verification
- Look for the following log message in memcached.log that mentions The command can only be sent on a DCP connection for a DCP_STREAM_REQ:
2025-10-24T18:23:27.764256+00:00 WARNING 139: Packet validation failed for "DCP_STREAM_REQ" - Status: "Invalid arguments" - Packet:[{"bodylen":71,"cas":0,"datatype":"raw","extlen":48,"keylen":0,"magic":"ClientRequest","opaque":3194362368,"opcode":"DCP_STREAM_REQ","vbucket":0}] - Returned payload:[{"error":{"context":"The command can only be sent on a DCP connection"}}]
Workarounds
Restart the ns_couchdb process (the View Engine):
Check the PID of the ns_couchdb process using ps:
ps aux | grep ns_couchdb | grep -v grep
couchba+ 862 13.5 1.3 3198420 104704 ? Ssl 10:29 0:01 /opt/couchbase/lib/erlang/erts-13.2.2.3/bin/beam.smp -S 6:6 -P 327680 -K true -- -root /opt/couchbase/lib/erlang -bindir /opt/couchbase/lib/erlang/erts-13.2.2.3/bin -progname erl -- -home /tmp -- -pa /opt/couchbase/lib/erlang/lib/asn1-5.0.21/ebin /opt/couchbase/lib/erlang/lib/compiler-8.2.6.3/ebin /opt/couchbase/lib/erlang/lib/crypto-5.1.4.1/ebin /opt/couchbase/lib/erlang/lib/dialyzer-5.0.5/ebin /opt/couchbase/lib/erlang/lib/diameter-2.2.7/ebin /opt/couchbase/lib/erlang/lib/edoc-1.2/ebin /opt/couchbase/lib/erlang/lib/eldap-1.2.11/ebin /opt/couchbase/lib/erlang/lib/erl_docgen-1.4/ebin /opt/couchbase/lib/erlang/lib/erl_interface-5.3.2/ebin /opt/couchbase/lib/erlang/lib/erts-13.2.2.3/ebin /opt/couchbase/lib/erlang/lib/eunit-2.8.2/ebin /opt/couchbase/lib/erlang/lib/ftp-1.1.4/ebin /opt/couchbase/lib/erlang/lib/inets-8.3.1.2/ebin /opt/couchbase/lib/erlang/lib/mnesia-4.21.4.1/ebin /opt/couchbase/lib/erlang/lib/observer-2.14/ebin /opt/couchbase/lib/erlang/lib/os_mon-2.8.2/ebin /opt/couchbase/lib/erlang/lib/parsetools-2.4.1/ebin /opt/couchbase/lib/erlang/lib/public_key-1.13.3.1/ebin /opt/couchbase/lib/erlang/lib/reltool-0.9.1/ebin /opt/couchbase/lib/erlang/lib/runtime_tools-1.19/ebin /opt/couchbase/lib/erlang/lib/sasl-4.2/ebin /opt/couchbase/lib/erlang/lib/snmp-5.13.5/ebin /opt/couchbase/lib/erlang/lib/ssh-4.15.3/ebin /opt/couchbase/lib/erlang/lib/ssl-10.9.1.2/ebin /opt/couchbase/lib/erlang/lib/syntax_tools-3.0.1/ebin /opt/couchbase/lib/erlang/lib/tftp-1.0.4/ebin /opt/couchbase/lib/erlang/lib/tools-3.5.3/ebin /opt/couchbase/lib/erlang/lib/xmerl-1.3.31.1/ebin /opt/couchbase/lib/couchdb/plugins/gc-couchbase-1.0.0/ebin /opt/couchbase/lib/couchdb/plugins/vtree-0.1.0/ebin /opt/couchbase/lib/couchdb/plugins/wkb-1.2.0/ebin /opt/couchbase/lib/couchdb/erlang/lib/couch-1.2.0a-961ad59-git/ebin /opt/couchbase/lib/couchdb/erlang/lib/couch_audit-1.0.0/ebin /opt/couchbase/lib/couchdb/erlang/lib/couch_dcp-1.0.0/ebin /opt/couchbase/lib/couchdb/erlang/lib/couch_index_merger-1.0.0/ebin /opt/couchbase/lib/couchdb/erlang/lib/couch_set_view-1.0.0/ebin /opt/couchbase/lib/couchdb/erlang/lib/couch_view_parser-1.0/ebin /opt/couchbase/lib/couchdb/erlang/lib/ejson-0.1.0/ebin /opt/couchbase/lib/couchdb/erlang/lib/erlang-oauth/ebin /opt/couchbase/lib/couchdb/erlang/lib/etap/ebin /opt/couchbase/lib/couchdb/erlang/lib/lhttpc-1.3/ebin /opt/couchbase/lib/couchdb/erlang/lib/mapreduce-1.0/ebin /opt/couchbase/lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin /opt/couchbase/lib/couchdb/erlang/lib/snappy-1.0.4/ebin /opt/couchbase/lib/ns_server/erlang/lib/ale/ebin /opt/couchbase/lib/ns_server/erlang/lib/chronicle/ebin /opt/couchbase/lib/ns_server/erlang/lib/enacl/ebin /opt/couchbase/lib/ns_server/erlang/lib/esaml/ebin /opt/couchbase/lib/ns_server/erlang/lib/gen_smtp/ebin /opt/couchbase/lib/ns_server/erlang/lib/iso8601/ebin /opt/couchbase/lib/ns_server/erlang/lib/ns_babysitter/ebin /opt/couchbase/lib/ns_server/erlang/lib/ns_couchdb/ebin /opt/couchbase/lib/ns_server/erlang/lib/ns_server/ebin /opt/couchbase/lib/erlang/lib/stdlib-4.3.1.2/ebin /opt/couchbase/lib/erlang/lib/kernel-8.5.4.2/ebin . -couch_ini /opt/couchbase/etc/couchdb/default.ini /opt/couchbase/etc/couchdb/default.d/capi.ini /opt/couchbase/etc/couchdb/default.d/geocouch.ini /opt/couchbase/etc/couchdb/local.ini -kernel logger [{handler, default, undefined}] -kernel prevent_overlapping_partitions false -kernel logger [{handler, default, undefined}] inetrc "/opt/couchbase/etc/couchbase/hosts.cfg" dist_config_file "/opt/couchbase/var/lib/couchbase/config/dist_cfg" prevent_overlapping_partitions false -kernel global_enable_tracing false -ssl_dist_optfile /opt/couchbase/etc/couchbase/ssl_dist_opts -name couchdb_ns_1@cb.local -smp enable -kernel logger [{handler, default, undefined}] -kernel prevent_overlapping_partitions false -nouser -hidden -proto_dist cb -epmd_module cb_epmd -no_epmd -setcookie nocookie -run child_erlang child_start ns_couchdb
Kill the ns_couchdb process (this will be automatically restarted):
kill -9 862
Verify the process has started with a new PID:
ps aux | grep ns_couchdb | grep -v grep
couchba+ 958 152 1.6 3230392 132400 ? Ssl 10:29 0:01 /opt/couchbase/lib/erlang/erts-13.2.2.3/bin/beam.smp -S 6:6 -P 327680 -K true -- -root /opt/couchbase/lib/erlang -bindir /opt/couchbase/lib/erlang/erts-13.2.2.3/bin -progname erl -- -home /tmp -- -pa /opt/couchbase/lib/erlang/lib/asn1-5.0.21/ebin /opt/couchbase/lib/erlang/lib/compiler-8.2.6.3/ebin /opt/couchbase/lib/erlang/lib/crypto-5.1.4.1/ebin /opt/couchbase/lib/erlang/lib/dialyzer-5.0.5/ebin /opt/couchbase/lib/erlang/lib/diameter-2.2.7/ebin /opt/couchbase/lib/erlang/lib/edoc-1.2/ebin /opt/couchbase/lib/erlang/lib/eldap-1.2.11/ebin /opt/couchbase/lib/erlang/lib/erl_docgen-1.4/ebin /opt/couchbase/lib/erlang/lib/erl_interface-5.3.2/ebin /opt/couchbase/lib/erlang/lib/erts-13.2.2.3/ebin /opt/couchbase/lib/erlang/lib/eunit-2.8.2/ebin /opt/couchbase/lib/erlang/lib/ftp-1.1.4/ebin /opt/couchbase/lib/erlang/lib/inets-8.3.1.2/ebin /opt/couchbase/lib/erlang/lib/mnesia-4.21.4.1/ebin /opt/couchbase/lib/erlang/lib/observer-2.14/ebin /opt/couchbase/lib/erlang/lib/os_mon-2.8.2/ebin /opt/couchbase/lib/erlang/lib/parsetools-2.4.1/ebin /opt/couchbase/lib/erlang/lib/public_key-1.13.3.1/ebin /opt/couchbase/lib/erlang/lib/reltool-0.9.1/ebin /opt/couchbase/lib/erlang/lib/runtime_tools-1.19/ebin /opt/couchbase/lib/erlang/lib/sasl-4.2/ebin /opt/couchbase/lib/erlang/lib/snmp-5.13.5/ebin /opt/couchbase/lib/erlang/lib/ssh-4.15.3/ebin /opt/couchbase/lib/erlang/lib/ssl-10.9.1.2/ebin /opt/couchbase/lib/erlang/lib/syntax_tools-3.0.1/ebin /opt/couchbase/lib/erlang/lib/tftp-1.0.4/ebin /opt/couchbase/lib/erlang/lib/tools-3.5.3/ebin /opt/couchbase/lib/erlang/lib/xmerl-1.3.31.1/ebin /opt/couchbase/lib/couchdb/plugins/gc-couchbase-1.0.0/ebin /opt/couchbase/lib/couchdb/plugins/vtree-0.1.0/ebin /opt/couchbase/lib/couchdb/plugins/wkb-1.2.0/ebin /opt/couchbase/lib/couchdb/erlang/lib/couch-1.2.0a-961ad59-git/ebin /opt/couchbase/lib/couchdb/erlang/lib/couch_audit-1.0.0/ebin /opt/couchbase/lib/couchdb/erlang/lib/couch_dcp-1.0.0/ebin /opt/couchbase/lib/couchdb/erlang/lib/couch_index_merger-1.0.0/ebin /opt/couchbase/lib/couchdb/erlang/lib/couch_set_view-1.0.0/ebin /opt/couchbase/lib/couchdb/erlang/lib/couch_view_parser-1.0/ebin /opt/couchbase/lib/couchdb/erlang/lib/ejson-0.1.0/ebin /opt/couchbase/lib/couchdb/erlang/lib/erlang-oauth/ebin /opt/couchbase/lib/couchdb/erlang/lib/etap/ebin /opt/couchbase/lib/couchdb/erlang/lib/lhttpc-1.3/ebin /opt/couchbase/lib/couchdb/erlang/lib/mapreduce-1.0/ebin /opt/couchbase/lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin /opt/couchbase/lib/couchdb/erlang/lib/snappy-1.0.4/ebin /opt/couchbase/lib/ns_server/erlang/lib/ale/ebin /opt/couchbase/lib/ns_server/erlang/lib/chronicle/ebin /opt/couchbase/lib/ns_server/erlang/lib/enacl/ebin /opt/couchbase/lib/ns_server/erlang/lib/esaml/ebin /opt/couchbase/lib/ns_server/erlang/lib/gen_smtp/ebin /opt/couchbase/lib/ns_server/erlang/lib/iso8601/ebin /opt/couchbase/lib/ns_server/erlang/lib/ns_babysitter/ebin /opt/couchbase/lib/ns_server/erlang/lib/ns_couchdb/ebin /opt/couchbase/lib/ns_server/erlang/lib/ns_server/ebin /opt/couchbase/lib/erlang/lib/stdlib-4.3.1.2/ebin /opt/couchbase/lib/erlang/lib/kernel-8.5.4.2/ebin . -couch_ini /opt/couchbase/etc/couchdb/default.ini /opt/couchbase/etc/couchdb/default.d/capi.ini /opt/couchbase/etc/couchdb/default.d/geocouch.ini /opt/couchbase/etc/couchdb/local.ini -kernel logger [{handler, default, undefined}] -kernel prevent_overlapping_partitions false -kernel logger [{handler, default, undefined}] inetrc "/opt/couchbase/etc/couchbase/hosts.cfg" dist_config_file "/opt/couchbase/var/lib/couchbase/config/dist_cfg" prevent_overlapping_partitions false -kernel global_enable_tracing false -ssl_dist_optfile /opt/couchbase/etc/couchbase/ssl_dist_opts -name couchdb_ns_1@cb.local -smp enable -kernel logger [{handler, default, undefined}] -kernel prevent_overlapping_partitions false -nouser -hidden -proto_dist cb -epmd_module cb_epmd -no_epmd -setcookie nocookie -run child_erlang child_start ns_couchdb
Comments
0 comments
Article is closed for comments.