History log of /6.6.0/kv_engine/include/mcbp/protocol/opcode.h (Results 1 - 25 of 27)
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
# 1b818779 24-Jun-2019 Trond Norbye <trond.norbye@gmail.com>

Add cb::mcbp::is_reorder_supported

And update the documentation with a list of the commands to
be supported initially.

According to the spec we'll silently ignore the reorder at

Add cb::mcbp::is_reorder_supported

And update the documentation with a list of the commands to
be supported initially.

According to the spec we'll silently ignore the reorder attribute
for "unsupported" commands, but execute them in order.

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

show more ...


# 75f5fad3 24-Jun-2019 Trond Norbye <trond.norbye@gmail.com>

Refactor: move supportsDurability to opcode.h/cc

And added a unit test that only supported commands
allows for durability.

Change-Id: I4183de654029ed84a7aaa7fda4a98fda9edd7404

Refactor: move supportsDurability to opcode.h/cc

And added a unit test that only supported commands
allows for durability.

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

show more ...


Revision tags: v5.5.4, v5.5.5, v5.5.6
# 75c86c93 25-Feb-2019 Jim Walker <jim@couchbase.com>

MB-33159: Add mcbp command 0xbc - Get Scope ID

Similar to get CID, but allows clients to map from
a scope name to scope ID which can then be used to form
scope DCP streams.

MB-33159: Add mcbp command 0xbc - Get Scope ID

Similar to get CID, but allows clients to map from
a scope name to scope ID which can then be used to form
scope DCP streams.

Code mostly mirrors existing get_collection_id

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

show more ...


# cd60141f 24-Jan-2019 Dave Rigby <daver@couchbase.com>

Replace <?stream> includes with <iosfwd> where possible

In header files which only refer to types in the <?stream> headers
(such as std::stringstream, std::ostream, ...) we can avoid inc

Replace <?stream> includes with <iosfwd> where possible

In header files which only refer to types in the <?stream> headers
(such as std::stringstream, std::ostream, ...) we can avoid including
the costly full <?stream> header and instead use <iosfwd> which is
~10x smaller.

Where necessary, de-inline some functions which don't need to be
inline to allow removal of <sstream> from the header.

Change-Id: Idf9bce3ee3005e43dcb0733acd10511acecbca5e
Reviewed-on: http://review.couchbase.org/104041
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Daniel Owen <owend@couchbase.com>
Reviewed-by: Trond Norbye <trond.norbye@couchbase.com>

show more ...


Revision tags: v6.0.1
# 33d9005a 06-Dec-2018 Trond Norbye <trond.norbye@gmail.com>

MB-32001: Add DCP_ABORT message and API to send it

Change-Id: I64af91fad82cb29a3e5644e2bcde9d36e43deb4c
Reviewed-on: http://review.couchbase.org/102553
Tested-by: Build Bot <build@co

MB-32001: Add DCP_ABORT message and API to send it

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

show more ...


# 6beb3830 04-Dec-2018 Trond Norbye <trond.norbye@gmail.com>

MB-32001: Add DcpPrepare, DcpCommit, DcpSeqnoAck

Add the interface to send and receive the DCP messages
related to sync writes

Change-Id: I3510dd4d335aceb4ce1738e38ad08efcb06544

MB-32001: Add DcpPrepare, DcpCommit, DcpSeqnoAck

Add the interface to send and receive the DCP messages
related to sync writes

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

show more ...


Revision tags: v5.5.3
# 4f3ac7f5 22-Nov-2018 Trond Norbye <trond.norbye@gmail.com>

Refactor packet validator to happen before privilege checks

By running the validators first we know for sure that:

a) The packet is valid whenever we try to access the packet

Refactor packet validator to happen before privilege checks

By running the validators first we know for sure that:

a) The packet is valid whenever we try to access the packet
in the rest of the code so we don't need to watch out for
methods generating exceptions
b) It'll be easier to add validators for all kind of packets
and have the validation code in one location in the state
machinery

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

show more ...


# 14d137c3 22-Nov-2018 Jim Walker <jim@couchbase.com>

MB-31908: Add GET_COLLECTION_ID protocol command

Add a collection protocol command that allows a client
to lookup a collection-ID from a 'path', where a path
is a scope.collection st

MB-31908: Add GET_COLLECTION_ID protocol command

Add a collection protocol command that allows a client
to lookup a collection-ID from a 'path', where a path
is a scope.collection string.

This commit adds engine API changes to connect the
Manifest::getCollectionID to a command executor.

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

show more ...


# 18d44712 01-Nov-2018 Trond Norbye <trond.norbye@gmail.com>

Refactor: Use the scoped enums cb::mcbp::ClientOpcode in ep-engine tests

Instead of the uint8_t definitions in PROTOCOL_BINARY_CMD_XXX

Change-Id: If1b5839ce6a3fcde3cf6c3a70f10288f54

Refactor: Use the scoped enums cb::mcbp::ClientOpcode in ep-engine tests

Instead of the uint8_t definitions in PROTOCOL_BINARY_CMD_XXX

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

show more ...


# f191df89 18-Oct-2018 Trond Norbye <trond.norbye@gmail.com>

Refactor: UpdateUserPermission => UpdateExternalUserPermission

And update the documentation for the external authentication

Change-Id: I0791bf37d2ff4e035a20f2526847fbed4fe29dce

Refactor: UpdateUserPermission => UpdateExternalUserPermission

And update the documentation for the external authentication

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

show more ...


# daa449ec 16-Oct-2018 Trond Norbye <trond.norbye@gmail.com>

Refactor: rename AuthRequest to Authenticate

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

Refactor: rename AuthRequest to Authenticate

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

show more ...


# 9222e03e 16-Oct-2018 Trond Norbye <trond.norbye@gmail.com>

Push active user list

Push the active users list to the external authentication
providers at a configurable interval. This allows the
external authentication provider to check with L

Push active user list

Push the active users list to the external authentication
providers at a configurable interval. This allows the
external authentication provider to check with LDAP to
see if the users credential has changed.

The interval is specified in seconds and may be changed
dynamically by using the configuration paramater named:
active_external_users_push_interval

This commit removes the user command to fetch the list
of active users as it is no longer needed.

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

show more ...


Revision tags: v6.0.0, v5.1.3, v5.5.2
# f8e89da9 22-Aug-2018 Trond Norbye <trond.norbye@gmail.com>

MB-31002: Add protocol spec for auth through external process

Memcached may be configured to use an external process as an AUTH provider.
The provider needs to register itself by sending

MB-31002: Add protocol spec for auth through external process

Memcached may be configured to use an external process as an AUTH provider.
The provider needs to register itself by sending `AuthProvider` on a
connection authenticated as `@ns_server` with `Duplex` enabled. Once
successfully registered memcached will start using the connection. It is not
defined how memcached will utilize multiple registered connections (that's an
internal implementation detail within memcached). It may use one, it may
round robin etc. It is recommended that multiple connections is registered
to be prepared for failure situations.

The authentication protocol between memcached and external RBAC providers
proxies the SASL protocol between the external client and memcached.

Change-Id: I675a69d4e1bac875061ba1a7e433c3cd2d221e5a
Reviewed-on: http://review.couchbase.org/98633
Reviewed-by: Jim Walker <jim@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Timofey Barmin <timofey.barmin@couchbase.com>

show more ...


# 32ccbec8 30-Aug-2018 Trond Norbye <trond.norbye@gmail.com>

Remove unused server opcode GetUserPermissions

The server command was added in order to allow memcached ask the
external authentication provider about the RBAC settings for
a given u

Remove unused server opcode GetUserPermissions

The server command was added in order to allow memcached ask the
external authentication provider about the RBAC settings for
a given user. It was never implemented in memcached, and we
later decided that the authentication response should contain
the RBAC profile for the user. The external authentication
provider would then call UpdateUserPermissions to update the
entry for the user.

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

show more ...


# db5c0206 30-Aug-2018 Trond Norbye <trond.norbye@gmail.com>

Refactor: RevokeUserPermissions -> UpdateUserPermissions

The command should be used to update the users permission (and
possibly delete). There is no point of having ns_server call
R

Refactor: RevokeUserPermissions -> UpdateUserPermissions

The command should be used to update the users permission (and
possibly delete). There is no point of having ns_server call
RevokeUserPermissions to trigger memcached to fetch the updated
permissions with GetUserPermissions.

There is no tests for this for the moment, as the unit tests
will be written on top of the support for using external
authentication providers.

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

show more ...


# 7a4d7a45 29-Aug-2018 Trond Norbye <trond.norbye@gmail.com>

MB-31093: Add command to get a list of the active external users

As part of the upcoming support for external authentication
through ns_server it needs to know the active external users.

MB-31093: Add command to get a list of the active external users

As part of the upcoming support for external authentication
through ns_server it needs to know the active external users.

The returned payload is JSON in the following format:

["jones","smith"]

(An external user is a user defined with external domain and
not the users defined in the local domain)

Change-Id: Ib464b98a3921d8f7fbb2b2b5b7850cf1eca9ed2f
Reviewed-on: http://review.couchbase.org/98942
Reviewed-by: Dave Rigby <daver@couchbase.com>
Reviewed-by: Jim Walker <jim@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...


# b9077e86 26-Jul-2018 Christopher Farman <christopher.farman@couchbase.com>

MB-30625: Removal of TAP remnants

Although cbstats was the main noticeable trigger, TAP-related stats
lingered in some other files eventhough TAP was removed in 5.0.
This commit aims

MB-30625: Removal of TAP remnants

Although cbstats was the main noticeable trigger, TAP-related stats
lingered in some other files eventhough TAP was removed in 5.0.
This commit aims to clean up those remnants.

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

show more ...


Revision tags: v5.5.1
# 452e197b 23-Jul-2018 Dave Rigby <daver@couchbase.com>

MB-30595: Remove unused DCP_FLUSH command

The DCP command is not actually used anywhere:

* It’s never sent (generated) by memcached.
* It’s not implemented by ep-engine’s DcpPr

MB-30595: Remove unused DCP_FLUSH command

The DCP command is not actually used anywhere:

* It’s never sent (generated) by memcached.
* It’s not implemented by ep-engine’s DcpProducer or DcpConsumer - the
base class (ConnHandler) simply returns ENGINE_DISCONNECT.
* It appears completely untested.

As such, remove it.

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

show more ...


Revision tags: v5.1.2
# b0a0ab49 27-Jun-2018 Trond Norbye <trond.norbye@gmail.com>

MB-30271: Add protocol spec for requesting RBAC data from ns_server

This patch reserves the opcode for the command to request
privilege context from ns_server, and the feature the
da

MB-30271: Add protocol spec for requesting RBAC data from ns_server

This patch reserves the opcode for the command to request
privilege context from ns_server, and the feature the
daemon may use to notify memcached that it may be used to
request RBAC information.

Change-Id: I25d5e8bf6100685d138a947fba2eff08e23abb01
Reviewed-on: http://review.couchbase.org/96159
Reviewed-by: Dave Rigby <daver@couchbase.com>
Reviewed-by: Tim Bradgate <tim.bradgate@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...


# 5494277f 27-Jun-2018 Trond Norbye <trond.norbye@gmail.com>

MB-30270: Add protocol support for revoking user permission [1/2]

Add the "on the wire" spec for revoking user permissions to
allow ns_server to implement their side of notifying memcach

MB-30270: Add protocol support for revoking user permission [1/2]

Add the "on the wire" spec for revoking user permissions to
allow ns_server to implement their side of notifying memcached
about stale entries.

As the internal of the RBAC database isn't specified yet
we cannot implement the logic of this command yet. We could
return a different error code, but that would just make
integration harder. Given that memcached only supports
internal users for now, we'll simply return "success" (and
continue to use the provided rbac file)

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

show more ...


Revision tags: v5.1.1
# c19807c3 06-Mar-2018 Paolo Cocchi <paolo.cocchi@couchbase.com>

MB-28289: Allow GetFailoverLog on a regular-MCBP connection

Currently GetFailoverLog is a DCP command, thus a client needs to open
a DCP connection to get the failover log for a given VB

MB-28289: Allow GetFailoverLog on a regular-MCBP connection

Currently GetFailoverLog is a DCP command, thus a client needs to open
a DCP connection to get the failover log for a given VBucket.
Also, the DCP GetFailoverLog command requires the client to open a
DcpProducer on the node; the connection is closed otherwise.
We introduce a new MCBP GetFailoverLog command so that a client can
retrieve the Failover Log for a given VBucket via a regular MBCP
(non-DCP) connection. We keep the old DCP command for backward
compatibility.

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

show more ...


Revision tags: v5.0.1
# 901d1ab8 05-Dec-2017 Jim Walker <jim@couchbase.com>

MB-27121: [3/3] Plumb GET_MANIFEST opcode into engines

Add the opcode and required functions so that we can accept and
process a collections get manifest command.

Change-Id: If9

MB-27121: [3/3] Plumb GET_MANIFEST opcode into engines

Add the opcode and required functions so that we can accept and
process a collections get manifest command.

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

show more ...


Revision tags: v5.1.0
# 0a872aae 04-Oct-2017 Trond Norbye <trond.norbye@gmail.com>

Drop unused feature init_complete

The functionality was never enabled as it would require
bigger changes in ns_server to be useful in all scenarios.
As it stands today it is only usa

Drop unused feature init_complete

The functionality was never enabled as it would require
bigger changes in ns_server to be useful in all scenarios.
As it stands today it is only usable in the scenario of
a cold startup of memcached. During other scenarios
(like rebalance) the node is already expected to be
"initialized" and it won't work in such situations.

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

show more ...


Revision tags: v5.0.0
# 63a664c5 31-Aug-2017 Trond Norbye <trond.norbye@gmail.com>

Refactor: rename Opcode to ClientOpcode

And introduce cb::mcbp::ServerOpcode for requests sent
by the server

Change-Id: I873efdbd13a260c63951d36dc4d481affafd6c78
Reviewed-on

Refactor: rename Opcode to ClientOpcode

And introduce cb::mcbp::ServerOpcode for requests sent
by the server

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

show more ...


# c9b7178d 01-Aug-2017 Trond Norbye <trond.norbye@gmail.com>

Add to_string(cb::mcbp::Opcode)

This method is to replace the old ones in utilities (as we'll
catch it at compile time once we add new entries).

Change-Id: Id339d716fdf68eeadf59

Add to_string(cb::mcbp::Opcode)

This method is to replace the old ones in utilities (as we'll
catch it at compile time once we add new entries).

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

show more ...


12