History log of /6.0.3/kv_engine/engines/ewouldblock_engine/ewouldblock_engine.h (Results 1 - 13 of 13)
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, v6.0.4, v6.5.0, v6.0.3, v5.5.4, v5.5.5, v5.5.6, v6.0.1, v5.5.3, v6.0.0, v5.1.3, v5.5.2, v5.5.1, v5.1.2, v5.1.1, v5.0.1, v5.1.0, v5.0.0, v4.6.2_ep, v4.6.2_mc, v4.6.1_ep
# 81c00ea9 30-Jan-2017 Mark Nunberg <mnunberg@haskalah.org>

MB-22044: EWBEngineMode::SetItemCas (1/3)

Provide an out-of-band way to set the CAS for an item.

This helps us "implement" get and lock (so that a subsequent internal
get by Mem

MB-22044: EWBEngineMode::SetItemCas (1/3)

Provide an out-of-band way to set the CAS for an item.

This helps us "implement" get and lock (so that a subsequent internal
get by Memcached returns a cas of -1)

Change-Id: I8984bdfee75cd0621d0563286b09a5158ce6de50
Reviewed-on: http://review.couchbase.org/72904
Tested-by: Build Bot <build@couchbase.com>
Well-Formed: Build Bot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>

show more ...


# ef5e373f 24-Dec-2016 Trond Norbye <trond.norbye@gmail.com>

Refactor: promote EWB protocol description

Promote the wire definition and opcode to protocol_binary.h.
This is where we would expect to locate the information, and
it makes it easie

Refactor: promote EWB protocol description

Promote the wire definition and opcode to protocol_binary.h.
This is where we would expect to locate the information, and
it makes it easier to avoid an opcode-crash when adding new
feature. At the same time I moved the opcode to 0xfd as
the previous value was located within a big range of
available opcodes.

Change-Id: I18ae6494a38db9c15dc9713d0a386eda3e2e9d73
Reviewed-on: http://review.couchbase.org/71270
Reviewed-by: Sriram Ganesan <sriram@couchbase.com>
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Daniel Owen <owend@couchbase.com>

show more ...


Revision tags: v4.6.0_ep, v4.5.1-MP1_mc, v4.6.0-DP_mc, v4.6.0-DP_ep, v4.5.1-MP1_ep, v4.1.2-MP2_mc, v4.5.1_mc
# e2e8d79f 22-Aug-2016 Trond Norbye <trond.norbye@gmail.com>

MB-20625: Backport ewouldblock engine from Spock

This is roughly a cp of the ewouldblock engine
from sha d93edd49e02f9648606532d2790076d4ba6e1e5a, but
with minor tweaks so it works i

MB-20625: Backport ewouldblock engine from Spock

This is roughly a cp of the ewouldblock engine
from sha d93edd49e02f9648606532d2790076d4ba6e1e5a, but
with minor tweaks so it works in the watson branch.

Change-Id: I6b2d6f709cd2ddd9bd50e2e271687b8b0755b3ee
Reviewed-on: http://review.couchbase.org/66950
Well-Formed: buildbot <build@couchbase.com>
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>

show more ...


# d93edd49 22-Aug-2016 Trond Norbye <trond.norbye@gmail.com>

MB-20549: memcached is too aggressive closing connections

It can't shut down connections in an ewouldblock state as
the underlying connection may call notify_io_complete on
the objec

MB-20549: memcached is too aggressive closing connections

It can't shut down connections in an ewouldblock state as
the underlying connection may call notify_io_complete on
the object at a later time (and then it may no longer
belong to the same session etc).

Change-Id: Ia8f58a384b53f04d286946b21ea907313ecf18be
Reviewed-on: http://review.couchbase.org/66936
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>

show more ...


Revision tags: v4.6.0_mc, v4.1.2-MP1_ep, v3.1.6_ep
# ce3c861d 06-Jul-2016 Daniel Owen <owend@couchbase.com>

MB-19981 Call registerEvent as opposed to updateEvent

If a bucket delete is attempted while there is connection in the
conn_nread state. And that connection is currently blocked waiting

MB-19981 Call registerEvent as opposed to updateEvent

If a bucket delete is attempted while there is connection in the
conn_nread state. And that connection is currently blocked waiting
for a response from the server; the connection will not have an event
registered in libevent. Therefore a call to updateEvent will fail.

This patch changes the code in signalIfIdle to use registerEvent
as opposed to updateEvent in such cases.

A corresponding test is also added. Before the fix, if the
event_active function call is removed from the signalIfIdle function
the test will hang. The reason the test works with the event_active
function call in place is that the event_active function
can be invoked regardless of whether the event is registered
(i.e. in a pending state) or not.

Change-Id: Ia205180f97ad58b772efc99b09194f6c640ef462
Reviewed-on: http://review.couchbase.org/65538
Reviewed-by: Dave Rigby <daver@couchbase.com>
Tested-by: buildbot <build@couchbase.com>

show more ...


Revision tags: v4.5.0_mc, v4.5.0_ep, v4.1.1_ep, v3.1.5_ep, v4.1.1_mc, v3.1.4_ep, v3.1.4_mc
# 87a8b9a1 21-Jan-2016 Trond Norbye <trond.norbye@gmail.com>

MB-17506: Return the vbucket map only once

This is a network optimization to avoid transferring the entire
clustermap.

Change-Id: I755df7a3f29189d9b5451388fc9295e2768a9736
R

MB-17506: Return the vbucket map only once

This is a network optimization to avoid transferring the entire
clustermap.

Change-Id: I755df7a3f29189d9b5451388fc9295e2768a9736
Reviewed-on: http://review.couchbase.org/58887
Reviewed-by: Dave Rigby <daver@couchbase.com>
Tested-by: buildbot <build@couchbase.com>

show more ...


# 351f840d 21-Jan-2016 Trond Norbye <trond.norbye@gmail.com>

Refactor: Use enum class for EWB engine modes

Change-Id: I21d3055deeb3830be3386595c5df60dcfde7f9c1
Reviewed-on: http://review.couchbase.org/58889
Reviewed-by: Dave Rigby <daver@couch

Refactor: Use enum class for EWB engine modes

Change-Id: I21d3055deeb3830be3386595c5df60dcfde7f9c1
Reviewed-on: http://review.couchbase.org/58889
Reviewed-by: Dave Rigby <daver@couchbase.com>
Tested-by: buildbot <build@couchbase.com>

show more ...


Revision tags: v3.1.5_mc, v3.1.3_ep, v4.1.0_ep
# 934353e8 11-Nov-2015 Dave Rigby <daver@couchbase.com>

EWB_Engine: Add support for injecting NOT_MY_VBUCKET

Add support to ewouldblock_engine for injecting
ENGINE_NOT_MY_VBUCKET. Most of the infrastructure was already in
place; however i

EWB_Engine: Add support for injecting NOT_MY_VBUCKET

Add support to ewouldblock_engine for injecting
ENGINE_NOT_MY_VBUCKET. Most of the infrastructure was already in
place; however it was necessary for EWB_Engine to implement the
get_engine_vb_map() method (and just return a dummy config string) for
memcached) to successfully send back a not-my-vbucket payload.

Change-Id: I0183dc1b807c7e3c93b45965657c495b69aca99c
Reviewed-on: http://review.couchbase.org/56907
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>

show more ...


Revision tags: v3.1.2_ep, v4.1.0_mc, v3.1.2_mc, v3.1.1_mc, v3.1.1_ep
# cb98ab22 10-Sep-2015 Trond Norbye <trond.norbye@gmail.com>

Add pragma once to avoid multiple inclusion of file

Change-Id: Ia15b73887acf9a72b67c8bea28bb20efab9a38c5
Reviewed-on: http://review.couchbase.org/55166
Tested-by: buildbot <build@cou

Add pragma once to avoid multiple inclusion of file

Change-Id: Ia15b73887acf9a72b67c8bea28bb20efab9a38c5
Reviewed-on: http://review.couchbase.org/55166
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>

show more ...


Revision tags: v4.0.0_ep
# 2a60ca90 27-Jul-2015 Dave Rigby <daver@couchbase.com>

ewouldblock_engine: Add CASMismatch mode

Add a new fault injection mode to ewouldblock engine -
CASMismatch. This simulates a CAS mismatch on store - the next N store
operations will

ewouldblock_engine: Add CASMismatch mode

Add a new fault injection mode to ewouldblock engine -
CASMismatch. This simulates a CAS mismatch on store - the next N store
operations will return KEY_EEXISTS.

Change-Id: Ic86515c51eae35b3911383d75f529ffb6e90a308
Reviewed-on: http://review.couchbase.org/53755
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Daniel Owen <owend@couchbase.com>

show more ...


Revision tags: v4.0.0_mc, v3.1.0_ep, v3.1.0_mc, v3.1.6_mc
# 0ead7f70 27-May-2015 Dave Rigby <daver@couchbase.com>

ewouldblock_engine: Add 'Sequence' mode

Add a new fault injection mode to ewouldblock_engine - 'sequence'. In
this mode, the user can specify that the next N engine calls will
return

ewouldblock_engine: Add 'Sequence' mode

Add a new fault injection mode to ewouldblock_engine - 'sequence'. In
this mode, the user can specify that the next N engine calls will
return either the normal result or the injected error code, based on
the sequence of bits in the value.

For example, specifying EWBEngineMode_SEQUENCE with a value of 0b0100
means:

- The next two engine calls will return their normal value
(from the real engine)
- The 3rd call will return the selected error code,
- The 4th will return the normal value from the real engine).

Change-Id: I7d8ac54dd4cf5a85c2c514ce41b38b12a9cd4d05
Reviewed-on: http://review.couchbase.org/51466
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Tested-by: buildbot <build@couchbase.com>

show more ...


# 0736971e 26-May-2015 Dave Rigby <daver@couchbase.com>

ewouldblock_engine: Allow error code to be specified

In addition to EWOULDBLOCK, there is value in being able to inject
other error codes to test our handling of them. Allow the error co

ewouldblock_engine: Allow error code to be specified

In addition to EWOULDBLOCK, there is value in being able to inject
other error codes to test our handling of them. Allow the error code
which is returned to be specified via CMD_EWOULDBLOCK_CTL.

Change-Id: I10358ad7323e70d75995519f00692e5b1f24e5a2
Reviewed-on: http://review.couchbase.org/51465
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Tested-by: buildbot <build@couchbase.com>

show more ...


# 7eba45a8 19-May-2015 Dave Rigby <daver@couchbase.com>

ewouldblock_engine: Allow testapp to control mode

Some tests in testapp (e.g. the Pipeline tests) take a long time to
run, and are testing a specific set of repeated operations. For thes

ewouldblock_engine: Allow testapp to control mode

Some tests in testapp (e.g. the Pipeline tests) take a long time to
run, and are testing a specific set of repeated operations. For these
the ewouldblock_engine default behaviour (to return EWOULDBLOCK for
the first command) adds significant runtime overhead (increases
runtime from 12s to 70s) with little functional benefit.

For such tests allow the test to adjust ewouldblock_engine's behaviour
by sending a special unknown command packet. To ensure that concurrent
connections have the correct mode, move ewouldblock_engine's mode from
global to per-connection.

As a result pipeline tests (--gtest_filter=*Pipeline*) complete in
~12s, as opposed to 70s before this patch.

Change-Id: I1465fde0b3b26c34434274e0a182ec011fa5bc04
Reviewed-on: http://review.couchbase.org/51224
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Tested-by: buildbot <build@couchbase.com>

show more ...