History log of /6.6.0/kv_engine/tests/testapp/testapp.cc (Results 1 - 25 of 409)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v7.0.2, v6.6.3, v7.0.1, v7.0.0, v6.6.2, v6.5.2, v6.6.1, v6.0.5, v6.6.0, v6.5.1
# 81d92108 29-Jan-2020 Dave Rigby <daver@couchbase.com>

MB-37096: Use setupWindowsDebugCRTAssertHandling in main()s

Make use of the new function setupWindowsDebugCRTAssertHandling() in the
"main" main() functions in kv_engine.

This p

MB-37096: Use setupWindowsDebugCRTAssertHandling in main()s

Make use of the new function setupWindowsDebugCRTAssertHandling() in the
"main" main() functions in kv_engine.

This provides details at the console if any errors / aborts are reported
by the Debug CRT.

Note that for production builds (using RelWithDebInfo) this is a no-op.

Change-Id: I876670c3f2465954323c53f927d21575efb01735
Reviewed-on: http://review.couchbase.org/121354
Well-Formed: Build Bot <build@couchbase.com>
Reviewed-by: James Harrison <james.harrison@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...


Revision tags: v6.0.4, v6.5.0, v6.0.3
# 549b6ca5 27-Aug-2019 Trond Norbye <trond.norbye@gmail.com>

MB-35604: Add ssl_cipher_suite for TLS>=1.3

OpenSSL use a separate API to configure ciphers for TLS 1.3.
For TLS < 1.3 you may use SSL_CTX_set_cipher_list which scans
the list of pro

MB-35604: Add ssl_cipher_suite for TLS>=1.3

OpenSSL use a separate API to configure ciphers for TLS 1.3.
For TLS < 1.3 you may use SSL_CTX_set_cipher_list which scans
the list of provided ciphers and selects the ones it supports
and ignores unknown ciphers. The method is considered as
successful if at least one cipher is selected. For TLS 1.3 one
needs to use SSL_CTX_set_ciphersuites and it will _fail_ if
it encounters unknown ciphers.

To work around this ns_server will provide two list of chiphers:

"ssl_cipher_list" : {
"tls 1.2" : "list of ciphers to use for TLS1, 1.1 and 1.2",
"tls 1.3" : "ciphersuites to use for TLS 1.3"
}

If OpenSSL decides they want to change the API for 1.4 we're ready
for that by adding another field.

This patch also change the logic for what an empty string means.
Previously an empty string indicated that you wanted to use
whatever OpenSSL provided as default. With this patch an empty
string (or not present in the object) means: no ciphers.

Change-Id: If426ed8b02ecb7820851f795e2e2593fa9591a36
Reviewed-on: http://review.couchbase.org/113881
Reviewed-by: Dave Rigby <daver@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...


# b6f27f57 08-Aug-2019 James Harrison <00jamesh@gmail.com>

MB-35410: Update datatype on wholedoc operation

Wholedoc ops (as part of a subdoc multimutation) can replace the entire
document - potentially with a new value which does not match the

MB-35410: Update datatype on wholedoc operation

Wholedoc ops (as part of a subdoc multimutation) can replace the entire
document - potentially with a new value which does not match the
current datatype. E.g., existing json document replaced with non-json
raw bytes.

The datatype should be updated in this case.

Change-Id: I481209ac5c29f6f60a4b0f0ec93a3d3b2acd09e5
Reviewed-on: http://review.couchbase.org/113067
Well-Formed: Build Bot <build@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>

show more ...


# e6965939 30-May-2019 Dave Rigby <daver@couchbase.com>

MB-34367 [SR]: Correctly propogate IO-complete status from subdoc mutation

If the bucket_store() step of a sub-doc update operation returns
EWOULDBLOCK and then the subsequent notify_IO_

MB-34367 [SR]: Correctly propogate IO-complete status from subdoc mutation

If the bucket_store() step of a sub-doc update operation returns
EWOULDBLOCK and then the subsequent notify_IO_complete has a
non-success status (for example a SyncWrite which timed out and notify
returns sync_write_ambiguous), the non-zero status is ignored.

Change-Id: I22dc3e5ea7dadc48e5cffead3aac01466b5f236f
Reviewed-on: http://review.couchbase.org/109911
Reviewed-by: Jim Walker <jim@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...


# 13208486 30-May-2019 Dave Rigby <daver@couchbase.com>

EwbEngine: Allow arbitrary statuses for Sequence mode

Expand the Sequence mode to allow an arbitrary sequence of status
codes to be injected - previously only the original engine status

EwbEngine: Allow arbitrary statuses for Sequence mode

Expand the Sequence mode to allow an arbitrary sequence of status
codes to be injected - previously only the original engine status code
(bit cleared) or a single status code (bit set) could be injected.

This allows more advanced error injection to be performed by allowing
different injected codes for the same setup of ewouldblock_engine.

Additionally, for Sequence mode enhance EWOULDBLOCK injection - the
actual result of the IO operation can now be specified (as the status
code following EWOULDBLOCK in the sequence) instead of always
returning SUCCESS.

Change-Id: I61968fb186108d42130c91f43038e7dfc83a3134
Reviewed-on: http://review.couchbase.org/109910
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Ben Huddleston <ben.huddleston@couchbase.com>

show more ...


# 1a3e0f90 21-May-2019 Trond Norbye <trond.norbye@gmail.com>

Testapp: Use execute() instead of executeCommand()

Refactor out all use of executeCommand to make sure execute
is used everywhere (as it may be configured to deal with
ETMPFAIL)

Testapp: Use execute() instead of executeCommand()

Refactor out all use of executeCommand to make sure execute
is used everywhere (as it may be configured to deal with
ETMPFAIL)

Change-Id: I29a5a69cd902c96175061bcde4b6cb14f6f16509
Reviewed-on: http://review.couchbase.org/109425
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>

show more ...


# 63761f26 03-May-2019 Trond Norbye <trond.norbye@gmail.com>

Cleanup: remove use of snappy-c.h

This is provided by cbcompress

Change-Id: I34fbdef4dfc3ebf9069fc34a45d3592c0c373597
Reviewed-on: http://review.couchbase.org/108646
Tested-

Cleanup: remove use of snappy-c.h

This is provided by cbcompress

Change-Id: I34fbdef4dfc3ebf9069fc34a45d3592c0c373597
Reviewed-on: http://review.couchbase.org/108646
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>

show more ...


# 26d24b39 01-May-2019 Trond Norbye <trond.norbye@gmail.com>

MB-33971: System connections is bound to system port

There was a misunderstanding when the task to account for system
connections. I thought we wanted to account for all "couchbase
i

MB-33971: System connections is bound to system port

There was a misunderstanding when the task to account for system
connections. I thought we wanted to account for all "couchbase
internal components", but ns_server have no control over the
connection usage for components like eventing, indexing, projector
query, fts etc, and we don't want to end up in a situation where
ns_server can't connect to the cluster because the pool of system
connections is consumed.

To work around this ns_server will mark an interface as "system"
and all connections towards that port is system connections.

Change-Id: I65384db1411475c7c76f7a7182931dbe9e0e680f
Reviewed-on: http://review.couchbase.org/108527
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Jim Walker <jim@couchbase.com>

show more ...


Revision tags: v5.5.4, v5.5.5
# 0ac936c0 09-Apr-2019 Trond Norbye <trond.norbye@gmail.com>

MB-33699: Detect if we try to connect to port -1

From looking at the test failure it seems like we've got
an occurrence of port being set to -1.

Change the code to:

1

MB-33699: Detect if we try to connect to port -1

From looking at the test failure it seems like we've got
an occurrence of port being set to -1.

Change the code to:

1. Detect that the portnumber file don't contain an entry
with the port being set to -1

2. Whenever we try to connect that the port is set to
something else than -1.

Change-Id: Ie7b0ddc4b675c68a76fa7b7adc7336d32f510ef2
Reviewed-on: http://review.couchbase.org/107453
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Daniel Owen <owend@couchbase.com>

show more ...


# edd2d65b 04-Apr-2019 Trond Norbye <trond.norbye@gmail.com>

MB-33599: Allow dynamic reconfig of interfaces

Add support for adding / deleting or changing network
interface descriptions. To simplify the implementation
all reconfiguration happen

MB-33599: Allow dynamic reconfig of interfaces

Add support for adding / deleting or changing network
interface descriptions. To simplify the implementation
all reconfiguration happens in the dispatcher thread
and not as part of reloading the config file.

To avoid ending up in a situation where we no longer
can connect to memcached changing the interfaces
works by first enabling all new interface descriptions,
and if no error happens it'll shut down the ones
no longer in the configuration.

Change-Id: Id036b22bcfdc9780f1a653d9099d9750b354bdd6
Reviewed-on: http://review.couchbase.org/107291
Reviewed-by: Jim Walker <jim@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...


# 3c18533e 05-Apr-2019 Trond Norbye <trond.norbye@gmail.com>

Remove unused method: generate_config

Change-Id: I60411ae82e4c31d5c0cd3abc84ebbbec12e64f45
Reviewed-on: http://review.couchbase.org/107349
Reviewed-by: Richard de Mellow <richard.dem

Remove unused method: generate_config

Change-Id: I60411ae82e4c31d5c0cd3abc84ebbbec12e64f45
Reviewed-on: http://review.couchbase.org/107349
Reviewed-by: Richard de Mellow <richard.demellow@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...


# 5cad9ec3 04-Apr-2019 Trond Norbye <trond.norbye@gmail.com>

All ephemeral server ports must be tagged

This is a preparation for the upcoming refactor of interface
handling so that we may dynamically change all properties of
the interface desc

All ephemeral server ports must be tagged

This is a preparation for the upcoming refactor of interface
handling so that we may dynamically change all properties of
the interface description (including adding / removing
interfaces)

Change-Id: If2c64b2e01b2de0eb235f67181145fdfe4ee092c
Reviewed-on: http://review.couchbase.org/107281
Reviewed-by: Dave Rigby <daver@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...


Revision tags: v5.5.6
# 2abcba17 18-Mar-2019 ben_huddleston <ben.huddleston@couchbase.com>

MB-30040: Update kv_engine to use Folly

Change-Id: Id2eeb0205ff3c1ddf4269876366613b4860c6c2a
Reviewed-on: http://review.couchbase.org/105225
Tested-by: Build Bot <build@couchbase.com

MB-30040: Update kv_engine to use Folly

Change-Id: Id2eeb0205ff3c1ddf4269876366613b4860c6c2a
Reviewed-on: http://review.couchbase.org/105225
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Trond Norbye <trond.norbye@couchbase.com>

show more ...


# 98cc335b 14-Mar-2019 Ben Huddleston <ben.huddleston@couchbase.com>

Clang-format testapp.cc and testapp.h

Change-Id: I9c7965c0e76d9bac35a114882cbdbf9d70238e2b
Reviewed-on: http://review.couchbase.org/106198
Tested-by: Build Bot <build@couchbase.com>

Clang-format testapp.cc and testapp.h

Change-Id: I9c7965c0e76d9bac35a114882cbdbf9d70238e2b
Reviewed-on: http://review.couchbase.org/106198
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>

show more ...


# 24922815 08-Mar-2019 Trond Norbye <trond.norbye@gmail.com>

Include what you use

Include what you use, and remove the C linkage
in cbsasl/util.h (we're all C++)

(prepare to get rid of platform/platform.h)

Change-Id: I6be2912761a

Include what you use

Include what you use, and remove the C linkage
in cbsasl/util.h (we're all C++)

(prepare to get rid of platform/platform.h)

Change-Id: I6be2912761a34318163f05a1e3be38cf00909320
Reviewed-on: http://review.couchbase.org/105904
Reviewed-by: Daniel Owen <owend@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>
Tested-by: Trond Norbye <trond.norbye@couchbase.com>

show more ...


# e5150c23 27-Feb-2019 Ben Huddleston <ben.huddleston@couchbase.com>

Remove most usages of cb_getpid()

We don't really need this function, the majority of the usages are
just to create unique file names.

Change-Id: Ieba43018fc247b0b4d7e8143a97ab6

Remove most usages of cb_getpid()

We don't really need this function, the majority of the usages are
just to create unique file names.

Change-Id: Ieba43018fc247b0b4d7e8143a97ab61bc9f6c81b
Reviewed-on: http://review.couchbase.org/105464
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>

show more ...


# 6753a670 26-Feb-2019 Jim Walker <jim@couchbase.com>

MB-32147: Interlock "last_modified" vattr test with persistence

The last_modified field can only be returned by KV after the first
flush, as that's when KV begins tracking the hlc_epoch

MB-32147: Interlock "last_modified" vattr test with persistence

The last_modified field can only be returned by KV after the first
flush, as that's when KV begins tracking the hlc_epoch

Change-Id: If874d8c0597b7ae77d84f9c6f2b56a4fc26de352
Reviewed-on: http://review.couchbase.org/105377
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>

show more ...


# 0306906c 30-Jan-2019 Trond Norbye <trond.norbye@gmail.com>

Refactor: Use the callback method for stats

And use nlohmann to parse the value. This means
that if we'll successfully add JSON values reported
in the value into the returned JSON ob

Refactor: Use the callback method for stats

And use nlohmann to parse the value. This means
that if we'll successfully add JSON values reported
in the value into the returned JSON object instead
of returning a JSON object encoded as a string.

Old: { "foo" : "{\"bar\": true}" }
New: { "foo" : { "bar" : true" } }

Change-Id: If0c6971240a131a2685f6ca0012a94e3f961075f
Reviewed-on: http://review.couchbase.org/104253
Reviewed-by: Dave Rigby <daver@couchbase.com>
Tested-by: Trond Norbye <trond.norbye@couchbase.com>

show more ...


# b065829c 05-Feb-2019 Trond Norbye <trond.norbye@gmail.com>

MB-32514: Remove use of cJSON in testapp

This patch replace the last bits of use of cJSON in
memcached_testapp with nlohmann::json

Change-Id: Id8deea2d25157094b2a0d4415548007db8

MB-32514: Remove use of cJSON in testapp

This patch replace the last bits of use of cJSON in
memcached_testapp with nlohmann::json

Change-Id: Id8deea2d25157094b2a0d4415548007db870819e
Reviewed-on: http://review.couchbase.org/104517
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Ben Huddleston <ben.huddleston@couchbase.com>

show more ...


# 620f79bc 28-Jan-2019 Ben Huddleston <ben.huddleston@couchbase.com>

MB-30041: Migrate client_connection_map to nlohmann::json

Change-Id: I17beac8275c29c6a6c250465c744735ba95d524e
Reviewed-on: http://review.couchbase.org/104254
Tested-by: Build Bot <b

MB-30041: Migrate client_connection_map to nlohmann::json

Change-Id: I17beac8275c29c6a6c250465c744735ba95d524e
Reviewed-on: http://review.couchbase.org/104254
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Trond Norbye <trond.norbye@couchbase.com>

show more ...


# 3c80b425 28-Jan-2019 Ben Huddleston <ben.huddleston@couchbase.com>

MB-30041: Complete client connection stats migration

Complete the migration of the client connection stats function
to nlohmann::json by renaming the "overload" to the old name.

MB-30041: Complete client connection stats migration

Complete the migration of the client connection stats function
to nlohmann::json by renaming the "overload" to the old name.

Change-Id: Ia6dbb1ab162946936ca70f2c89db55adf8f6a0de
Reviewed-on: http://review.couchbase.org/104148
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Trond Norbye <trond.norbye@couchbase.com>

show more ...


# a0a0353c 28-Jan-2019 Ben Huddleston <ben.huddleston@couchbase.com>

MB-30041: Migrate final usages of client connection stats

Migrate the final usages of the client connection stats function
to nlohmann::json

Change-Id: Ic73c6cd7be8a412d7bb610fe

MB-30041: Migrate final usages of client connection stats

Migrate the final usages of the client connection stats function
to nlohmann::json

Change-Id: Ic73c6cd7be8a412d7bb610fe33040c2b6630dff3
Reviewed-on: http://review.couchbase.org/104147
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Trond Norbye <trond.norbye@couchbase.com>

show more ...


# 3d1eca69 24-Jan-2019 Trond Norbye <trond.norbye@gmail.com>

Require IPv4 and IPv6 ports for testapp

We want to ensure that we may connect to the server
and talk over IPv4 and IPv6 so we should make it a
fatal error if we fail to get one of th

Require IPv4 and IPv6 ports for testapp

We want to ensure that we may connect to the server
and talk over IPv4 and IPv6 so we should make it a
fatal error if we fail to get one of them.

Change-Id: I99a6e0b52c32c2de86da0de704732342ab0004f9
Reviewed-on: http://review.couchbase.org/104015
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>

show more ...


Revision tags: v6.0.1
# 9850da39 18-Jan-2019 Trond Norbye <trond.norbye@gmail.com>

MB-32704: Remove per-port setting of max connections

*Problem*

Memcached used to have a “per port” setting of the maximum number
of client which may be connected to the port. Th

MB-32704: Remove per-port setting of max connections

*Problem*

Memcached used to have a “per port” setting of the maximum number
of client which may be connected to the port. The motivation
behind that was that we wanted to keep a pool of connections
available to make sure that ns_server could connect to the
system (via the 11209 port). Later on when we added support for
SSL we didn’t have time to look at the overall model, we just
copied the “per port” setting into the new SSL connection. This
leads into the following “problem” with the current
configuration:

I can have 5000 connections to 11209 (plain, ipv4/6)
I can have 30 000 connections to 11210 (plain, ipv4/6)
I can have 30 000 connections to 11207 (SSL, ipv4/6)

In a deployment which use a mix of SSL and plain clients one may
use 60k clients connected to the system (30k of each type), but
deployments which only use PLAIN connections may only use 30k
connections (trying to use 30 001 would fail, even if we don’t
use a single SSL connection).

*Solution*

The configuration file provided to memcached contains two new
toplevel keys in the configuration:

max_connections - A number containing the maximum number
of connections allowed to memcached
(65k if we use the values in the example
above)

system_connections - A number reserved for users authenticated
as system users. (5k if we use the values
in the example above)

memcached continues to accept all sockets until we reach
max_connections, at that time it'll accept the socket and
immediately close the socket.

To make sure that the normal client's don't occupy all of the
connections to the server, memcached performs checks in the
validation phase to determine if connections needs to be
closed by using the following logic:

1. If the connection is represent a system-internal user,
leave the connection alone and continue to execute the
command.

2. If we've exceeded the number of "user" connections (60k
in the example above) and used more than half of the system
connections the connection is disconnected if it is
authenticated or the commad being executed isn't one of
Hello, SaslListMech, SaslAuth or SaslStep.

Change-Id: I3aec178b48f45fa055efb465ca9cea59fd71a895
Reviewed-on: http://review.couchbase.org/103761
Reviewed-by: Jim Walker <jim@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...


# cc46eac7 08-Jan-2019 Trond Norbye <trond.norbye@gmail.com>

Remove unused tag "management" for interface definitions

The support for setting the tag was never used by ns_server

Change-Id: I6b6888b9a3b79a3183beb2b55e16aeba7db99ed8
Reviewe

Remove unused tag "management" for interface definitions

The support for setting the tag was never used by ns_server

Change-Id: I6b6888b9a3b79a3183beb2b55e16aeba7db99ed8
Reviewed-on: http://review.couchbase.org/103402
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>

show more ...


12345678910>>...17