зеркало из https://github.com/Azure/YCSB.git
[memcached] support binary protocol (#965)
Adding support for memcached binary protocol as described in https://github.com/memcached/memcached/blob/master/doc/protocol.txt. Protocol can be set via memcached.protocol property of YCSB memcached workload. if specified protocol must be "binary" or "text". If unspecified text version is used.
This commit is contained in:
Родитель
ddde8e3c7a
Коммит
b0ff7270fc
|
@ -91,6 +91,10 @@ A sample configuration is provided in
|
||||||
What to do with failures; this is one of `net.spy.memcached.FailureMode` enum
|
What to do with failures; this is one of `net.spy.memcached.FailureMode` enum
|
||||||
values, which are currently: `Redistribute`, `Retry`, or `Cancel`.
|
values, which are currently: `Redistribute`, `Retry`, or `Cancel`.
|
||||||
|
|
||||||
|
- `memcached.protocol`
|
||||||
|
Set to 'binary' to use memcached binary protocol. Set to 'text' or omit this field
|
||||||
|
to use memcached text protocol
|
||||||
|
|
||||||
You can set properties on the command line via `-p`, e.g.:
|
You can set properties on the command line via `-p`, e.g.:
|
||||||
|
|
||||||
./bin/ycsb load memcached -s -P workloads/workloada \
|
./bin/ycsb load memcached -s -P workloads/workloada \
|
||||||
|
|
|
@ -98,6 +98,10 @@ public class MemcachedClient extends DB {
|
||||||
public static final FailureMode FAILURE_MODE_PROPERTY_DEFAULT =
|
public static final FailureMode FAILURE_MODE_PROPERTY_DEFAULT =
|
||||||
FailureMode.Redistribute;
|
FailureMode.Redistribute;
|
||||||
|
|
||||||
|
public static final String PROTOCOL_PROPERTY = "memcached.protocol";
|
||||||
|
public static final ConnectionFactoryBuilder.Protocol DEFAULT_PROTOCOL =
|
||||||
|
ConnectionFactoryBuilder.Protocol.TEXT;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The MemcachedClient implementation that will be used to communicate
|
* The MemcachedClient implementation that will be used to communicate
|
||||||
* with the memcached server.
|
* with the memcached server.
|
||||||
|
@ -142,6 +146,11 @@ public class MemcachedClient extends DB {
|
||||||
connectionFactoryBuilder.setOpTimeout(Integer.parseInt(
|
connectionFactoryBuilder.setOpTimeout(Integer.parseInt(
|
||||||
getProperties().getProperty(OP_TIMEOUT_PROPERTY, DEFAULT_OP_TIMEOUT)));
|
getProperties().getProperty(OP_TIMEOUT_PROPERTY, DEFAULT_OP_TIMEOUT)));
|
||||||
|
|
||||||
|
String protocolString = getProperties().getProperty(PROTOCOL_PROPERTY);
|
||||||
|
connectionFactoryBuilder.setProtocol(
|
||||||
|
protocolString == null ? DEFAULT_PROTOCOL
|
||||||
|
: ConnectionFactoryBuilder.Protocol.valueOf(protocolString.toUpperCase()));
|
||||||
|
|
||||||
String failureString = getProperties().getProperty(FAILURE_MODE_PROPERTY);
|
String failureString = getProperties().getProperty(FAILURE_MODE_PROPERTY);
|
||||||
connectionFactoryBuilder.setFailureMode(
|
connectionFactoryBuilder.setFailureMode(
|
||||||
failureString == null ? FAILURE_MODE_PROPERTY_DEFAULT
|
failureString == null ? FAILURE_MODE_PROPERTY_DEFAULT
|
||||||
|
|
Загрузка…
Ссылка в новой задаче