From 2c1567b8547fb02f44b8f7f0be95ce34bd0f59d7 Mon Sep 17 00:00:00 2001 From: pataquets Date: Wed, 29 Mar 2017 19:52:16 +0200 Subject: [PATCH 01/69] Initial version Dockerfile. --- Dockerfile | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..165dd9f2 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,12 @@ +FROM gcc + +COPY . /usr/src/twemproxy +WORKDIR /usr/src/twemproxy +RUN \ + autoreconf -h && \ + autoreconf -fvi && \ + ./configure && \ + make && \ + make install + +ENTRYPOINT [ "nutcracker" ] From a2159dfa5c19983c18e05e9e8bd234c615942768 Mon Sep 17 00:00:00 2001 From: Ikhsan Noor Rosyidin Date: Mon, 13 Nov 2017 18:56:09 +0700 Subject: [PATCH 02/69] fix list indentation --- README.md | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 0b2cb7b4..117d711e 100644 --- a/README.md +++ b/README.md @@ -83,23 +83,23 @@ Twemproxy can be configured through a YAML file specified by the -c or --conf-fi + **listen**: The listening address and port (name:port or ip:port) or an absolute path to sock file (e.g. /var/run/nutcracker.sock) for this server pool. + **client_connections**: The maximum number of connections allowed from redis clients. Unlimited by default, though OS-imposed limitations will still apply. + **hash**: The name of the hash function. Possible values are: - + one_at_a_time - + md5 - + crc16 - + crc32 (crc32 implementation compatible with [libmemcached](http://libmemcached.org/)) - + crc32a (correct crc32 implementation as per the spec) - + fnv1_64 - + fnv1a_64 - + fnv1_32 - + fnv1a_32 - + hsieh - + murmur - + jenkins + + one_at_a_time + + md5 + + crc16 + + crc32 (crc32 implementation compatible with [libmemcached](http://libmemcached.org/)) + + crc32a (correct crc32 implementation as per the spec) + + fnv1_64 + + fnv1a_64 + + fnv1_32 + + fnv1a_32 + + hsieh + + murmur + + jenkins + **hash_tag**: A two character string that specifies the part of the key used for hashing. Eg "{}" or "$$". [Hash tag](notes/recommendation.md#hash-tags) enable mapping different keys to the same server as long as the part of the key within the tag is the same. + **distribution**: The key distribution mode. Possible values are: - + ketama - + modula - + random + + ketama + + modula + + random + **timeout**: The timeout value in msec that we wait for to establish a connection to the server or receive a response from a server. By default, we wait indefinitely. + **backlog**: The TCP backlog argument. Defaults to 512. + **preconnect**: A boolean value that controls if twemproxy should preconnect to all the servers in this pool on process start. Defaults to false. From 85fb83faec3beb1dc2315df49dabcec6e8f54c0f Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Mon, 18 Dec 2017 18:15:52 -0800 Subject: [PATCH 03/69] Initialize file permissions field for unix domain socket It seems like field->perm might be uninitialized memory depending on how it is allocated. I ran into an issue where different sockets had different file permissions, and some of those sockets weren't readable by the user which created it. This behavior probably started in https://github.com/twitter/twemproxy/pull/311/files --- src/nc_conf.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/nc_conf.c b/src/nc_conf.c index fa720796..7d773df6 100644 --- a/src/nc_conf.c +++ b/src/nc_conf.c @@ -1474,6 +1474,7 @@ conf_set_listen(struct conf *cf, struct command *cmd, void *conf) /* no permissions field, so use defaults */ name = value->data; namelen = value->len; + field->perm = (mode_t)0; } else { perm = q + 1; permlen = (uint32_t)(p - perm + 1); From e350a6e81dd98b4e2eff873f9d71a0375fdeaf12 Mon Sep 17 00:00:00 2001 From: Erik Webb Date: Wed, 2 Jan 2019 12:37:00 -0800 Subject: [PATCH 04/69] Improve formatting of README file Fix indented bulleted list and add monospaced formatting to command flags within paragraphs --- README.md | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 0b2cb7b4..715b5278 100644 --- a/README.md +++ b/README.md @@ -83,23 +83,23 @@ Twemproxy can be configured through a YAML file specified by the -c or --conf-fi + **listen**: The listening address and port (name:port or ip:port) or an absolute path to sock file (e.g. /var/run/nutcracker.sock) for this server pool. + **client_connections**: The maximum number of connections allowed from redis clients. Unlimited by default, though OS-imposed limitations will still apply. + **hash**: The name of the hash function. Possible values are: - + one_at_a_time - + md5 - + crc16 - + crc32 (crc32 implementation compatible with [libmemcached](http://libmemcached.org/)) - + crc32a (correct crc32 implementation as per the spec) - + fnv1_64 - + fnv1a_64 - + fnv1_32 - + fnv1a_32 - + hsieh - + murmur - + jenkins + + one_at_a_time + + md5 + + crc16 + + crc32 (crc32 implementation compatible with [libmemcached](http://libmemcached.org/)) + + crc32a (correct crc32 implementation as per the spec) + + fnv1_64 + + fnv1a_64 + + fnv1_32 + + fnv1a_32 + + hsieh + + murmur + + jenkins + **hash_tag**: A two character string that specifies the part of the key used for hashing. Eg "{}" or "$$". [Hash tag](notes/recommendation.md#hash-tags) enable mapping different keys to the same server as long as the part of the key within the tag is the same. + **distribution**: The key distribution mode. Possible values are: - + ketama - + modula - + random + + ketama + + modula + + random + **timeout**: The timeout value in msec that we wait for to establish a connection to the server or receive a response from a server. By default, we wait indefinitely. + **backlog**: The TCP backlog argument. Defaults to 512. + **preconnect**: A boolean value that controls if twemproxy should preconnect to all the servers in this pool on process start. Defaults to false. @@ -183,13 +183,13 @@ For example, the configuration file in [conf/nutcracker.yml](conf/nutcracker.yml - 127.0.0.1:11214:100000 - 127.0.0.1:11215:1 -Finally, to make writing a syntactically correct configuration file easier, twemproxy provides a command-line argument -t or --test-conf that can be used to test the YAML configuration file for any syntax error. +Finally, to make writing a syntactically correct configuration file easier, twemproxy provides a command-line argument `-t` or `--test-conf` that can be used to test the YAML configuration file for any syntax error. ## Observability Observability in twemproxy is through logs and stats. -Twemproxy exposes stats at the granularity of server pool and servers per pool through the stats monitoring port. The stats are essentially JSON formatted key-value pairs, with the keys corresponding to counter names. By default stats are exposed on port 22222 and aggregated every 30 seconds. Both these values can be configured on program start using the -c or --conf-file and -i or --stats-interval command-line arguments respectively. You can print the description of all stats exported by using the -D or --describe-stats command-line argument. +Twemproxy exposes stats at the granularity of server pool and servers per pool through the stats monitoring port. The stats are essentially JSON formatted key-value pairs, with the keys corresponding to counter names. By default stats are exposed on port 22222 and aggregated every 30 seconds. Both these values can be configured on program start using the `-c` or `--conf-file` and `-i` or `--stats-interval` command-line arguments respectively. You can print the description of all stats exported by using the `-D` or `--describe-stats` command-line argument. $ nutcracker --describe-stats @@ -215,13 +215,13 @@ Twemproxy exposes stats at the granularity of server pool and servers per pool t out_queue "# requests in outgoing queue" out_queue_bytes "current request bytes in outgoing queue" -Logging in twemproxy is only available when twemproxy is built with logging enabled. By default logs are written to stderr. Twemproxy can also be configured to write logs to a specific file through the -o or --output command-line argument. On a running twemproxy, we can turn log levels up and down by sending it SIGTTIN and SIGTTOU signals respectively and reopen log files by sending it SIGHUP signal. +Logging in twemproxy is only available when twemproxy is built with logging enabled. By default logs are written to stderr. Twemproxy can also be configured to write logs to a specific file through the `-o` or `--output` command-line argument. On a running twemproxy, we can turn log levels up and down by sending it SIGTTIN and SIGTTOU signals respectively and reopen log files by sending it SIGHUP signal. ## Pipelining Twemproxy enables proxying multiple client connections onto one or few server connections. This architectural setup makes it ideal for pipelining requests and responses and hence saving on the round trip time. -For example, if twemproxy is proxying three client connections onto a single server and we get requests - 'get key\r\n', 'set key 0 0 3\r\nval\r\n' and 'delete key\r\n' on these three connections respectively, twemproxy would try to batch these requests and send them as a single message onto the server connection as 'get key\r\nset key 0 0 3\r\nval\r\ndelete key\r\n'. +For example, if twemproxy is proxying three client connections onto a single server and we get requests - `get key\r\n`, `set key 0 0 3\r\nval\r\n` and `delete key\r\n` on these three connections respectively, twemproxy would try to batch these requests and send them as a single message onto the server connection as `get key\r\nset key 0 0 3\r\nval\r\ndelete key\r\n`. Pipelining is the reason why twemproxy ends up doing better in terms of throughput even though it introduces an extra hop between the client and server. From fc02f09e01e0e7a4c16a501854aa914d5095dc50 Mon Sep 17 00:00:00 2001 From: Raghukul Raman Date: Tue, 26 Feb 2019 18:31:26 +0530 Subject: [PATCH 05/69] Fix README typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0b2cb7b4..21396a31 100644 --- a/README.md +++ b/README.md @@ -255,7 +255,7 @@ https://launchpad.net/~twemproxy/+archive/ubuntu/daily + [smitty for twemproxy failover](https://github.com/areina/smitty) + [Beholder, a Python agent for twemproxy failover](https://github.com/Serekh/beholder) + [chef cookbook](https://supermarket.getchef.com/cookbooks/twemproxy) -+ [twemsentinel] (https://github.com/yak0/twemsentinel) ++ [twemsentinel](https://github.com/yak0/twemsentinel) ## Companies using Twemproxy in Production + [Twitter](https://twitter.com/) From a575ab2190a8c1429b35dcaf4254c7b2a5b35ff7 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Mon, 10 May 2021 21:58:01 -0400 Subject: [PATCH 06/69] Add a clang-format file approximating the c style guide This detects some inconsistent uses of indentation and inconsistent space after casts, but has a lot more false positives. https://clang.llvm.org/docs/ClangFormat.html#script-for-patch-reformatting may be of use for saving time for contributors reformatting new patches --- .clang-format.example | 45 +++++++++++++++++++++++++++++++++++++++++++ .gitignore | 3 +++ 2 files changed, 48 insertions(+) create mode 100644 .clang-format.example diff --git a/.clang-format.example b/.clang-format.example new file mode 100644 index 00000000..fa3391b2 --- /dev/null +++ b/.clang-format.example @@ -0,0 +1,45 @@ +# This may be useful with https://clang.llvm.org/docs/ClangFormat.html#script-for-patch-reformatting +# but some of clang's reformattings may conflict with notes/c-style-guide.txt, which takes precedence. +# +# This is deliberately named .clang-format.example instead of .clang-format to avoid editors +# unexpectedly using this to reformatting entire files because of these shortcomings. +# It can be copied into .clang-format to use this for local development selectively. +# +# Note: this clang format file has many shortcomings. +# Attempting to apply this automatically to everything may make code less readable. +# However, this may be useful for spot checking new code, +# or if you're not certain of indentation style or general spacing/wrapping rules +# +# Known shortcomings: +# - Some places exceed the 80 column limit deliberately for readability, e.g. help strings or error messages or function prototypes. (BreakStringLiterals helps preserve some of those) +# - Some places deliberately put blocks on a single line when there are a lot of similar blocks. +# AllowShortBlocksOnASingleLine is not useful. +# - Some places deliberately put blocks on a single line when there are a lot of similar blocks. +# - No good way to eliminate space before and after PRIu64 and other macros for adjacent string literal concatenation +# - clang-format is not aware of macros, some of which have different styles from functions. +# - Function declarations are not typically aligned +# - Some variable declarations are aligned and others aren't on a case by case basis +# - The choice of function argument grouping should depends on which function arguments are semantically related, +# not just on fitting within 80 columns. + +AllowShortBlocksOnASingleLine: true +BasedOnStyle: LLVM +AlwaysBreakAfterDefinitionReturnType: All +UseTab: Never +IndentWidth: 4 +TabWidth: 4 +ColumnLimit: 80 +BreakBeforeBraces: Linux +SortIncludes: false + +BreakStringLiterals: false +# BitFieldColonSpacing is too new to work in clang-format 11 +# https://releases.llvm.org/11.0.0/tools/clang/docs/ClangFormatStyleOptions.html +# Latest: https://clang.llvm.org/docs/ClangFormatStyleOptions.html +# +# BitFieldColonSpacing: None +# +# XXX no way to treat the `*` indicating a value is a pointer as part of the aligned name for the declaration +# XXX function declarations are not typically aligned +AlignConsecutiveDeclarations: true +AlignConsecutiveMacros: true diff --git a/.gitignore b/.gitignore index 2556202e..f482cc55 100644 --- a/.gitignore +++ b/.gitignore @@ -66,3 +66,6 @@ nutcracker Makefile Makefile.in + +# The .clang-format.example file may be copied here for use with -style=file +.clang-format From f68f86cf205d529f947d3025be6e8803b7302a1e Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Mon, 10 May 2021 21:37:45 -0400 Subject: [PATCH 07/69] Fix typo in c style guide --- notes/c-styleguide.txt | 46 +++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/notes/c-styleguide.txt b/notes/c-styleguide.txt index 30aa62f2..85fd16cc 100644 --- a/notes/c-styleguide.txt +++ b/notes/c-styleguide.txt @@ -6,7 +6,7 @@ - Make sure that your editor does not leave space at the end of the line. - snake_case for variable, function and file names. - Use your own judgment when naming variables and functions. Be as Spartan - as possible. Eg: Using name like this_variable_is_a_temporary_counter + as possible. E.g.: Using name like this_variable_is_a_temporary_counter will usually be frowned upon. - Don’t use local variables or parameters that shadow global identifiers. GCC’s ‘-Wshadow’ option can help you to detect this problem. @@ -17,19 +17,19 @@ you cannot get away from using int and char. - Use bool for boolean variables. You have to include - Avoid using a bool as type for struct member names. Instead use unsigned - 1-bit bit field. Eg: + 1-bit bit field. E.g.: struct foo { unsigned is_bar:1; }; - Always use size_t type when dealing with sizes of objects or memory ranges. - Your code should be 64-bit and 32-bit friendly. Bear in mind problems of printing, comparisons, and structure alignment. You have to include - to get generic format specifier macros for printing. + to get generic format specifier macros for printing. - 80 column line limit. - If you have to wrap a long statement (> 80 column), put the operator at the end of the line and indent the next line at the same column as the arguments - in the previous column. Eg: + in the previous column. E.g.: while (cnt < 20 && this_variable_name_is_too_long && ep != NULL) { z = a + really + long + statement + that + needs + three + lines + @@ -43,19 +43,19 @@ param_g, param_h, param_i, param_j, param_k, param_l); - Always use braces for all conditional blocks (if, switch, for, while, do). - This holds good even for single statement conditional blocks. Eg: + This holds good even for single statement conditional blocks. E.g.: if (cond) { stmt; } - Placement of braces for non-function statement blocks - put opening brace - last on the line and closing brace first. Eg: + last on the line and closing brace first. E.g.: if (x is true) { we do y } - Placement of brace for functions - put the opening brace at the beginning of the next line and closing brace first. This is useful because several tools look for opening brace in column one to find beginning of C - functions. Eg: + functions. E.g.: int function(int x) { @@ -79,7 +79,7 @@ function(int x) .... } -- Column align switch keyword and the corresponding case/default keyword. Eg: +- Column align switch keyword and the corresponding case/default keyword. E.g.: switch (alphabet) { case 'a': case 'b': @@ -90,7 +90,7 @@ function(int x) break; } -- Forever loops are done with for, and not while. Eg: +- Forever loops are done with for, and not while. E.g.: for (;;) { stmt; } @@ -102,14 +102,14 @@ function(int x) - Do not add spaces around (inside) parenthesized expressions. s = sizeof( sizeof(*p)) ); /* bad example */ s = sizeof(sizeof(*p)); /* good example */ -- Casts should not be followed by space. Eg: +- Casts should not be followed by space. E.g.: int q = *(int *)&p - There is no need to type cast when assigning a void pointer to a non-void pointer, or vice versa. - Avoid using goto statements. However there are some exceptions to this rule when a single goto label within a function and one or more goto statements come in handy when a function exits from multiple locations and some common - work such as cleanup has to be done. Eg: + work such as cleanup has to be done. E.g.: int fun(void) { @@ -135,7 +135,7 @@ out: return result; } - When declaring pointer data, use '*' adjacent to the data name and not - adjacent to the type name. Eg: + adjacent to the type name. E.g.: int function(int *p) { @@ -192,7 +192,7 @@ out: or by the header that uses it (which causes namespace pollution), or there must be a back-door mechanism for obtaining the typedef. - The only exception for using a typedef is when you are defining a type - for a function pointer or a type for an enum. Eg: + for a function pointer or a type for an enum. E.g.: typedef void (*foo_handler_t)(int, void *); @@ -205,7 +205,7 @@ out: - Use just one variable declaration per line when variables are part of a struct. This leaves you room for a small comment on each item, explaining - its use. Declarations should also be aligned. Eg, use: + its use. Declarations should also be aligned. E.g., use: struct foo { int *foo_a; /* comment for foo_a */ @@ -222,7 +222,7 @@ out: - For variable declaration outside a struct, either collect all the declarations of the same type on a single line, or use one variable - per line if the variables purpose needs to be commented. Eg: + per line if the variables purpose needs to be commented. E.g.: char *a, *b, c; or: @@ -235,7 +235,7 @@ out: - Function definitions should start the name of the function in column one. This is useful because it makes searching for function definitions - fairly trivial. Eg: + fairly trivial. E.g.: static char * concat(char *s1, char *s2) { @@ -244,7 +244,7 @@ concat(char *s1, char *s2) - Function and variables local to a file should be static. - Separate two successive functions with one blank line. -- Include parameter names with their datypes in function declaration. Eg: +- Include parameter names with their datatypes in function declaration. E.g.: void function(int param); - Functions should be short and sweet, and do just one thing. They should @@ -293,7 +293,7 @@ void function(int param); type char * which is really the address of the second character of a string, not the first), or any possible values that would not work the way one would expect (such as, that strings containing newlines are not - guaranteed to work), be sure to say so. Eg: + guaranteed to work), be sure to say so. E.g.: /* * Try to acquire a physical address lock while a pmap is locked. If we @@ -324,7 +324,7 @@ vm_page_pa_tryrelock(pmap_t pmap, vm_paddr_t pa, vm_paddr_t *locked) - Recommend using UPPERCASE for macro names. However, sometimes using lowercase for macro names makes sense when macros masquerade as well-known - function calls. Eg, it makes sense to write the wrapper for the + function calls. E.g., it makes sense to write the wrapper for the standard free() function in lowercase to keep the readability consistent: @@ -340,10 +340,10 @@ vm_page_pa_tryrelock(pmap_t pmap, vm_paddr_t pa, vm_paddr_t *locked) - For macros encapsulating compound statements, right justify the backslashes and enclose it in do { ... } while (0) - For parameterized macros, all the parameters used in the macro body must - be surrounded by parentheses. Eg: + be surrounded by parentheses. E.g.: #define ADD_1(_x) ((_x) + 1) -- Use sizeof(varname) instead of sizeof(type) whenever possible. Eg: +- Use sizeof(varname) instead of sizeof(type) whenever possible. E.g.: char *p; p = malloc(sizeof(*p)); /* good example */ p = malloc(sizeof(char)); /* bad example */ @@ -369,7 +369,7 @@ vm_page_pa_tryrelock(pmap_t pmap, vm_paddr_t pa, vm_paddr_t *locked) - Every header file in the source code must have preprocessor conditional to prevent the header file from being scanned multiple times and avoiding mutual dependency cycles. Alternatively you can use #pragma once directive, - as it avoids name clashes and increases the compile speed. Eg, for a + as it avoids name clashes and increases the compile speed. E.g., for a header file named foo.h, the entire contents of the header file must be between the guard macros as follows: @@ -398,7 +398,7 @@ Or, - Conditional compilation: when supporting configuration options already known when building your program we prefer using if (... ) over conditional compilation, as in the former case the compiler is able to perform more - extensive checking of all possible code paths. Eg, use: + extensive checking of all possible code paths. E.g., use: if (HAS_FOO) ... From 0421ad35d7a664aa71fd76fef77aac352c405f34 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Mon, 10 May 2021 21:37:52 -0400 Subject: [PATCH 08/69] [skip ci] Add .editorconfig Plugins for editors/IDEs exist that can enforce some of these rules --- .editorconfig | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..73461bc7 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,19 @@ +# https://editorconfig.org/ + +root = true + +[*] +trim_trailing_whitespace = true +insert_final_newline = true +end_of_line = lf +charset = utf-8 + +# See twemproxy/notes/c-styleguide.txt +[*.c,*.h] +tab_width = 4 +indent_size = 4 +indent_style = space +# indent_brace_style depends on function vs conditional +max_line_length = 80 +spaces_around_brackets = none +spaces_around_operators = true From 973ef777297500c1dfe761144485e5652be4f18a Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Fri, 9 Apr 2021 15:18:31 -0400 Subject: [PATCH 09/69] Fix failing unit tests, run in Docker Running it in docker makes it easier to run this in other CI providers and to easily reproduce any failures seen in Travis locally. Move to python 3 --- .dockerignore | 57 ++++++++++++++ .travis.yml | 16 +++- ci/Dockerfile | 76 +++++++++++++++++++ ci/Dockerfile.nutredis | 77 +++++++++++++++++++ ci/build-nutcracker.sh | 17 +++++ tests/README.rst | 6 +- tests/_binaries/.gitignore | 1 - tests/conf/redis.conf | 4 - tests/conf/sentinel.conf | 48 ++++++++++++ tests/lib/server_modules.py | 87 ++++++++++++++++++---- tests/lib/utils.py | 19 +++-- tests/test_memcache/test_gets.py | 6 +- tests/test_redis/common.py | 8 +- tests/test_redis/test_auth.py | 13 ++-- tests/test_redis/test_basic.py | 50 +++++++++---- tests/test_redis/test_commands.py | 31 ++++---- tests/test_redis/test_mget_large_binary.py | 10 +-- tests/test_redis/test_mget_mset.py | 56 +++++++------- tests/test_redis/test_pipeline.py | 23 +++--- tests/test_redis/test_protocol.py | 52 +++++++------ tests/test_system/test_reload.py | 13 ++-- travis.sh | 53 +++++++------ 22 files changed, 551 insertions(+), 172 deletions(-) create mode 100644 .dockerignore create mode 100644 ci/Dockerfile create mode 100644 ci/Dockerfile.nutredis create mode 100755 ci/build-nutcracker.sh delete mode 100644 tests/_binaries/.gitignore create mode 100644 tests/conf/sentinel.conf mode change 100644 => 100755 travis.sh diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000..b925dd86 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,57 @@ +Dockerfile* +**/Dockerfile* +*.gz +src/nutredis +src/nutcracker +tests/_binaries/* + +### Entries copied from .gitignore +# pyc +*.pyc + +# Compiled Object files +*.lo +*.o + +# Compiled Dynamic libraries +*.so + +# Compiled Static libraries +*.la +*.a + +# Compiled misc +*.dep +*.gcda +*.gcno +*.gcov + +# Packages +*.tar.gz +*.tar.bz2 + +# Logs +*.log + +# Temporary +*.swp +*.~ +*.project +*.cproject + +# Core and executable +core* +nutcracker + +# extracted yaml +!/contrib/yaml-0.1.4.tar.gz + +# Autotools +.deps +.libs + +/aclocal.m4 +/autom4te.cache +/stamp-h1 +/autoscan.log +/libtool diff --git a/.travis.yml b/.travis.yml index 254d91a0..793cd3e3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,15 @@ -language: c -script: bash ./travis.sh +services: + - docker +# We test the latest patch commits of multiple redis versions because sentinel responses are different, +# and to verify that unit tests of redis pass in all of those versions. +env: + - REDIS_VER=3.0.7 + - REDIS_VER=3.2.13 + - REDIS_VER=4.0.14 + - REDIS_VER=5.0.12 + - REDIS_VER=6.2.1 + +script: ./travis.sh $REDIS_VER + +sudo: required diff --git a/ci/Dockerfile b/ci/Dockerfile new file mode 100644 index 00000000..6e9fa5ed --- /dev/null +++ b/ci/Dockerfile @@ -0,0 +1,76 @@ +# Dockerfile to build nutcracker +# ARGS: none +# Also see travis.sh +FROM centos:7 + +ENV LAST_MODIFIED_DATE 2021-04-09 + +# socat Allow tests to open log files +# which (used below) +# python-setuptools for pip +RUN yum install -y \ + https://repo.ius.io/ius-release-el7.rpm \ + https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm + +RUN yum install -y \ + tar git gcc make tcl \ + autoconf automake libtool wget \ + memcached \ + socat \ + which \ + python36u python36u-pip && \ + yum clean all + +# Install nosetest dependencies +RUN pip3.6 install nose && \ + pip3.6 install 'git+https://github.com/andymccurdy/redis-py.git@2.10.6' && \ + pip3.6 install 'git+https://github.com/linsomniac/python-memcached.git@1.58' + +# This will build and twemproxy 0.4.1 (with sflow) +# Annoyingly, can't add multiple directories at once. +ADD conf /usr/src/twemproxy/conf +ADD contrib /usr/src/twemproxy/contrib +ADD man /usr/src/twemproxy/man +ADD m4 /usr/src/twemproxy/m4 +ADD notes /usr/src/twemproxy/notes +ADD scripts /usr/src/twemproxy/scripts +ADD src /usr/src/twemproxy/src +ADD ChangeLog configure.ac Makefile.am LICENSE NOTICE README.md /usr/src/twemproxy/ + +WORKDIR /usr/src/twemproxy + + +ADD ci/build-nutcracker.sh /usr/local/bin/build-nutcracker.sh +RUN /usr/local/bin/build-nutcracker.sh + +# Add the tests after adding source files, which makes it easy to quickly test changes to unit tests. +ADD tests /usr/src/twemproxy/tests + +# Not installing redis utilities, since we're not running those tests. +RUN mkdir tests/_binaries -p + +# I can't install redis or redis-server in centos:7 (didn't add package), adding to centos 6 +# Install redis and redis sentinel, needed for unit tests +# RUN yum install -y redis redis-sentinel + +ARG REDIS_VER=3.2.13 +RUN wget https://github.com/antirez/redis/archive/$REDIS_VER.tar.gz && \ + tar zxvf $REDIS_VER.tar.gz && \ + pushd redis-$REDIS_VER && \ + make install && \ + popd && \ + rm -r redis-* + +RUN ln -nsf $PWD/src/nutcracker tests/_binaries/nutcracker && \ + cp `which redis-server` tests/_binaries/redis-server && \ + cp `which redis-server` tests/_binaries/redis-sentinel && \ + cp `which memcached` tests/_binaries/memcached && \ + cp `which redis-cli` tests/_binaries/redis-cli + +WORKDIR /usr/src/twemproxy/tests + +# Allow tests to open log files +RUN chmod -R a+w log/ +RUN cat /etc/passwd +RUN chown -R daemon:daemon /usr/src/twemproxy +USER daemon diff --git a/ci/Dockerfile.nutredis b/ci/Dockerfile.nutredis new file mode 100644 index 00000000..af9a6f79 --- /dev/null +++ b/ci/Dockerfile.nutredis @@ -0,0 +1,77 @@ +# Dockerfile to build nutredis +# ARGS: none +# Also see travis.sh +FROM centos:7 + +ENV LAST_MODIFIED_DATE 2017-12-08 + +# socat Allow tests to open log files +# which (used below) +# python-setuptools for pip +RUN yum install -y \ + https://repo.ius.io/ius-release-el7.rpm \ + https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm + +RUN yum install -y \ + tar git gcc make tcl \ + autoconf automake libtool wget \ + socat \ + which \ + memcached \ + python36u python36u-pip \ + yum clean all + +# Install nosetest dependencies +RUN pip3.6 install nose && \ + pip3.6 install 'git+https://github.com/andymccurdy/redis-py.git@2.10.6' && \ + pip3.6 install 'git+https://github.com/linsomniac/python-memcached.git@1.58' + +# I can't install redis or redis-server in centos:7 (didn't add package), adding to centos 6 +# Install redis and redis sentinel, needed for unit tests +# RUN yum install -y redis redis-sentinel + +ARG REDIS_VER=3.2.12 +RUN wget https://github.com/antirez/redis/archive/$REDIS_VER.tar.gz && \ + tar zxvf $REDIS_VER.tar.gz && \ + pushd redis-$REDIS_VER && \ + make install && \ + popd && \ + rm -r redis-* + +# This will build and twemproxy 0.4.1 (with sflow) +# Annoyingly, can't add multiple directories at once. +ADD conf /usr/src/twemproxy/conf +ADD contrib /usr/src/twemproxy/contrib +ADD man /usr/src/twemproxy/man +ADD m4 /usr/src/twemproxy/m4 +ADD notes /usr/src/twemproxy/notes +ADD scripts /usr/src/twemproxy/scripts +ADD src /usr/src/twemproxy/src +ADD ChangeLog configure.ac Makefile.am LICENSE NOTICE README.md /usr/src/twemproxy/ + +WORKDIR /usr/src/twemproxy + + +ADD ci/build-nutredis.sh /usr/local/bin/build-nutredis.sh +RUN /usr/local/bin/build-nutredis.sh + +# Add the tests after adding source files, which makes it easy to quickly test changes to unit tests. +ADD tests /usr/src/twemproxy/tests + +# Not installing redis utilities, since we're not running those tests. +RUN mkdir tests/_binaries -p + +RUN ln -nsf $PWD/src/nutredis tests/_binaries/nutredis && \ + ln -nsf $PWD/src/nutredis tests/_binaries/nutcracker && \ + cp `which redis-server` tests/_binaries/redis-server && \ + cp `which redis-server` tests/_binaries/redis-sentinel && \ + cp `which memcached` tests/_binaries/memcached && \ + cp `which redis-cli` tests/_binaries/redis-cli + +WORKDIR /usr/src/twemproxy/tests + +# Allow tests to open log files +RUN chmod -R a+w log/ +RUN cat /etc/passwd +RUN chown -R daemon:daemon /usr/src/twemproxy +USER daemon diff --git a/ci/build-nutcracker.sh b/ci/build-nutcracker.sh new file mode 100755 index 00000000..6d45e431 --- /dev/null +++ b/ci/build-nutcracker.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +set -xeu +function cleanup { + rm -f *.gz +} +trap cleanup EXIT +trap cleanup INT + +cleanup + +export CFLAGS="-O3 -fno-strict-aliasing -I/usr/lib/x86_64-redhat-linux6E/include -B /usr/lib/x86_64-redhat-linux6E/lib64" +export LDFLAGS="-lc_nonshared" +cd /usr/src/twemproxy +autoreconf -fvi +./configure --enable-debug=log --prefix=/usr/src/twemproxy/work/usr +make -j5 +make install diff --git a/tests/README.rst b/tests/README.rst index acceea41..a414f912 100644 --- a/tests/README.rst +++ b/tests/README.rst @@ -10,10 +10,10 @@ usage 1. install dependency:: pip install nose - pip install git+https://github.com/andymccurdy/redis-py.git@2.10.3 - pip install git+https://github.com/idning/python-memcached.git#egg=memcache + pip install git+https://github.com/andymccurdy/redis-py.git@2.10.6 + pip install git+https://github.com/linsomniac/python-memcached.git#egg=memcache -2. copy binarys to _binaries/:: +2. copy binaries to _binaries/:: _binaries/ |-- nutcracker diff --git a/tests/_binaries/.gitignore b/tests/_binaries/.gitignore deleted file mode 100644 index 72e8ffc0..00000000 --- a/tests/_binaries/.gitignore +++ /dev/null @@ -1 +0,0 @@ -* diff --git a/tests/conf/redis.conf b/tests/conf/redis.conf index d25a3f08..301b6a2d 100644 --- a/tests/conf/redis.conf +++ b/tests/conf/redis.conf @@ -16,10 +16,6 @@ # Note that Redis will write a pid file in /var/run/redis.pid when daemonized. daemonize yes -#whitelist configure -#whitelist yes -#whitelist-file ./whitelist - # When running daemonized, Redis writes a pid file in /var/run/redis.pid by # default. You can specify a custom pid file location here. pidfile ${pidfile} diff --git a/tests/conf/sentinel.conf b/tests/conf/sentinel.conf new file mode 100644 index 00000000..7acc8ccb --- /dev/null +++ b/tests/conf/sentinel.conf @@ -0,0 +1,48 @@ +# Example sentinel.conf + +# port +# The port that this sentinel instance will run on +port ${port} + +# By default Redis does not run as a daemon. Use 'yes' if you need it. +# Note that Redis will write a pid file in /var/run/redis.pid when daemonized. +daemonize yes + +# When running daemonized, Redis writes a pid file in /var/run/redis.pid by +# default. You can specify a custom pid file location here. +pidfile ${pidfile} + +# Specify the log file name. Also 'stdout' can be used to force +# Redis to log on the standard output. Note that if you use standard +# output for logging but daemonize, logs will be sent to /dev/null +logfile ${logfile} + +# sentinel announce-ip +# sentinel announce-port +# +# The above two configuration directives are useful in environments where, +# because of NAT, Sentinel is reachable from outside via a non-local address. +# +# When announce-ip is provided, the Sentinel will claim the specified IP address +# in HELLO messages used to gossip its presence, instead of auto-detecting the +# local address as it usually does. +# +# Similarly when announce-port is provided and is valid and non-zero, Sentinel +# will announce the specified TCP port. +# +# The two options don't need to be used together, if only announce-ip is +# provided, the Sentinel will announce the specified IP and the server port +# as specified by the "port" option. If only announce-port is provided, the +# Sentinel will announce the auto-detected local IP and the specified port. +# +# Example: +# +# sentinel announce-ip 1.2.3.4 + +# dir +# Every long running process should have a well-defined working directory. +# For Redis Sentinel to chdir to /tmp at startup is the simplest thing +# for the process to don't interfere with administrative tasks such as +# unmounting filesystems. +dir ${dir} + diff --git a/tests/lib/server_modules.py b/tests/lib/server_modules.py index 09ff5c3d..758903a8 100644 --- a/tests/lib/server_modules.py +++ b/tests/lib/server_modules.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 #coding: utf-8 #file : server_modules.py #author : ning @@ -10,6 +10,11 @@ from utils import * import conf +if sys.version_info[0] < 3: + # Give a clear error message instead of a confusing one. + sys.stderr.write("Error: must use python 3 to run these nosetests, e.g. python3 -m nose [options] test_modules\n") + sys.exit(2) + class Base: ''' Sub class should implement: @@ -45,7 +50,7 @@ def deploy(self): self._gen_control_script() def _gen_control_script(self): - content = file(os.path.join(WORKDIR, 'conf/control.sh')).read() + content = open(os.path.join(WORKDIR, 'conf/control.sh'), 'r').read() content = TT(content, self.args) control_filename = TT('${path}/${name}_control', self.args) @@ -53,7 +58,7 @@ def _gen_control_script(self): fout = open(control_filename, 'w+') fout.write(content) fout.close() - os.chmod(control_filename, 0755) + os.chmod(control_filename, 0o755) def start(self): if self._alive(): @@ -102,8 +107,8 @@ def status(self): def _alive(self): logging.warn("_alive: not implement") - def _run(self, raw_cmd): - ret = system(raw_cmd, logging.debug) + def _run(self, raw_cmd, allow_failure = False): + ret = system(raw_cmd, logging.debug, allow_failure = allow_failure) logging.debug('return : [%d] [%s] ' % (len(ret), shorten(ret)) ) return ret @@ -148,13 +153,13 @@ def _ping(self): cmd = TT('$REDIS_CLI -h $host -p $port PING', self.args) if self.args['auth']: cmd = TT('$REDIS_CLI -h $host -p $port -a $auth PING', self.args) - return self._run(cmd) + return self._run(cmd, allow_failure = True) def _alive(self): return strstr(self._ping(), 'PONG') def _gen_conf(self): - content = file(os.path.join(WORKDIR, 'conf/redis.conf')).read() + content = open(os.path.join(WORKDIR, 'conf/redis.conf'), 'r').read() content = TT(content, self.args) if self.args['auth']: content += '\r\nrequirepass %s' % self.args['auth'] @@ -193,6 +198,49 @@ def rediscmd(self, cmd): logging.info('%s %s' % (self, cmd)) return self._run(cmd) +class RedisSentinel(RedisServer): + def __init__(self, host, port, path, cluster_name, server_name, masters, quorum, down_time, auth = None): + RedisServer.__init__(self, host, port, path, cluster_name, server_name, auth) + + self.masters = masters + self.quorum = quorum + self.down_time = down_time + + self.args['startcmd'] = TT('bin/redis-sentinel conf/sentinel.conf', self.args) + self.args['runcmd'] = TT('redis-sentinel \*:$port', self.args) + self.args['conf'] = TT('$path/conf/sentinel.conf', self.args) + self.args['pidfile'] = TT('$path/log/sentinel.pid', self.args) + self.args['logfile'] = TT('$path/log/sentinel.log', self.args) + + def _gen_conf_section(self): + template = ''' +sentinel monitor $server_name $host $port %d +sentinel down-after-milliseconds $server_name %d +sentinel parallel-syncs $server_name 1 +sentinel failover-timeout $server_name 180000 +''' % (self.quorum, self.down_time) + cfg = '\n'.join([TT(template, master.args) for master in self.masters]) + return cfg + + def _gen_conf(self): + content = open(os.path.join(WORKDIR, 'conf/sentinel.conf'), 'r').read() + content = TT(content, self.args) + if self.args['auth']: + content += '\r\nrequirepass %s' % self.args['auth'] + return content + self._gen_conf_section() + + def _pre_deploy(self): + self.args['BINS'] = conf.BINARYS['REDIS_SERVER_BINS'] + self._run(TT('cp $BINS $path/bin/', self.args)) + + fout = open(TT('$path/conf/sentinel.conf', self.args), 'w+') + fout.write(self._gen_conf()) + fout.close() + + def failover(self, server_name): + cmd = 'SENTINEL FAILOVER %s' % server_name + return self.rediscmd(cmd) + class Memcached(Base): def __init__(self, host, port, path, cluster_name, server_name): Base.__init__(self, 'memcached', host, port, path) @@ -205,19 +253,20 @@ def __init__(self, host, port, path, cluster_name, server_name): def _alive(self): cmd = TT('echo "stats" | socat - TCP:$host:$port', self.args) - ret = self._run(cmd) + ret = self._run(cmd, allow_failure = True) return strstr(ret, 'END') def _pre_deploy(self): self.args['BINS'] = conf.BINARYS['MEMCACHED_BINS'] - self._run(TT('cp $BINS $path/bin/', self.args)) + self._run(TT('cp $BINS $path/bin/', self.args), allow_failure = True) class NutCracker(Base): def __init__(self, host, port, path, cluster_name, masters, mbuf=512, - verbose=5, is_redis=True, redis_auth=None): + verbose=5, is_redis=True, redis_auth=None, sentinels=None): Base.__init__(self, 'nutcracker', host, port, path) self.masters = masters + self.sentinels = sentinels self.args['mbuf'] = mbuf self.args['verbose'] = verbose @@ -239,9 +288,9 @@ def __init__(self, host, port, path, cluster_name, masters, mbuf=512, def _alive(self): return self._info_dict() - def _gen_conf_section(self): + def _gen_conf_section(self, servers): template = ' - $host:$port:1 $server_name' - cfg = '\n'.join([TT(template, master.args) for master in self.masters]) + cfg = '\n'.join([TT(template, server.args) for server in servers]) return cfg def _gen_conf(self): @@ -265,7 +314,13 @@ def _gen_conf(self): content = content.replace('redis: $is_redis', 'redis: $is_redis\r\n redis_auth: $redis_auth') content = TT(content, self.args) - return content + self._gen_conf_section() + content += self._gen_conf_section(self.masters) + if self.args['is_redis'] and self.sentinels: + content += ''' + sentinels: +''' + content += self._gen_conf_section(self.sentinels) + return content def _pre_deploy(self): self.args['BINS'] = conf.BINARYS['NUTCRACKER_BINS'] @@ -285,13 +340,15 @@ def _info_dict(self): c = telnetlib.Telnet(self.args['host'], self.args['status_port']) ret = c.read_all() return json_decode(ret) - except Exception, e: + except Exception as e: logging.debug('can not get _info_dict of nutcracker, \ [Exception: %s]' % (e, )) return None - def reconfig(self, masters): + def reconfig(self, masters, sentinels=None): self.masters = masters + if sentinels: + self.sentinels = sentinels self.stop() self.deploy() self.start() diff --git a/tests/lib/utils.py b/tests/lib/utils.py index ce69d5b7..64e01b93 100644 --- a/tests/lib/utils.py +++ b/tests/lib/utils.py @@ -3,7 +3,7 @@ import sys import time import copy -import thread +import _thread import socket import threading import logging @@ -15,7 +15,7 @@ import redis import json import glob -import commands +import subprocess from collections import defaultdict from argparse import RawTextHelpFormatter @@ -61,11 +61,11 @@ def deco_retry(f): def f_retry(*args, **kwargs): try: return f(*args, **kwargs) - except ExceptionToCheck, e: + except ExceptionToCheck as e: if logger: logger.info(e) else: - print str(e) + print(str(e)) return f_retry # true decorator return deco_retry @@ -77,12 +77,17 @@ def json_encode(j): return json.dumps(j, indent=4, cls=MyEncoder) def json_decode(j): + if isinstance(j, bytes): + j = str(j, encoding="utf-8") + return json.loads(j) -#commands dose not work on windows.. -def system(cmd, log_fun=logging.info): +#commands does not work on windows.. +def system(cmd, log_fun=logging.info, allow_failure = False): if log_fun: log_fun(cmd) - r = commands.getoutput(cmd) + exitcode, r = subprocess.getstatusoutput(cmd) + if exitcode and not allow_failure: + raise Exception("'{0}' failed with exit code {1}: {2}".format(cmd, exitcode, r)) return r def shorten(s, l=80): diff --git a/tests/test_memcache/test_gets.py b/tests/test_memcache/test_gets.py index 5e1c8761..e38cc420 100644 --- a/tests/test_memcache/test_gets.py +++ b/tests/test_memcache/test_gets.py @@ -1,5 +1,4 @@ -#!/usr/bin/env python -#coding: utf-8 +#!/usr/bin/env python3 import os import sys @@ -68,7 +67,6 @@ def test_mget_mset(kv=default_kv): keys = sorted(kv.keys()) assert(conn.get_multi(keys) == kv) - assert(conn.gets_multi(keys) == kv) #del conn.delete_multi(keys) @@ -86,7 +84,7 @@ def test_mget_mset_key_not_exists(kv=default_kv): conn = getconn() conn.set_multi(kv) - keys = kv.keys() + keys = list(kv.keys()) keys2 = ['x-'+k for k in keys] keys = keys + keys2 random.shuffle(keys) diff --git a/tests/test_redis/common.py b/tests/test_redis/common.py index bf13052a..edea4d6e 100644 --- a/tests/test_redis/common.py +++ b/tests/test_redis/common.py @@ -1,9 +1,9 @@ -#!/usr/bin/env python -#coding: utf-8 +#!/usr/bin/env python3 import os import sys import redis +import time PWD = os.path.dirname(os.path.realpath(__file__)) WORKDIR = os.path.join(PWD,'../') @@ -29,7 +29,7 @@ all_redis, mbuf=mbuf, verbose=nc_verbose) def setup(): - print 'setup(mbuf=%s, verbose=%s)' %(mbuf, nc_verbose) + print('setup(mbuf=%s, verbose=%s)' %(mbuf, nc_verbose)) for r in all_redis + [nc]: r.clean() r.deploy() @@ -41,7 +41,7 @@ def teardown(): assert(r._alive()) r.stop() -default_kv = {'kkk-%s' % i : 'vvv-%s' % i for i in range(10)} +default_kv = {b'kkk-%d' % i : b'vvv-%d' % i for i in range(10)} def getconn(): for r in all_redis: diff --git a/tests/test_redis/test_auth.py b/tests/test_redis/test_auth.py index c95ebd93..11273a5f 100644 --- a/tests/test_redis/test_auth.py +++ b/tests/test_redis/test_auth.py @@ -1,7 +1,6 @@ -#!/usr/bin/env python -#coding: utf-8 +#!/usr/bin/env python3 -from common import * +from .common import * all_redis = [ RedisServer('127.0.0.1', 2100, '/tmp/r/redis-2100/', @@ -21,7 +20,7 @@ all_redis, mbuf=mbuf, verbose=nc_verbose) def setup(): - print 'setup(mbuf=%s, verbose=%s)' %(mbuf, nc_verbose) + print('setup(mbuf=%s, verbose=%s)' %(mbuf, nc_verbose)) for r in all_redis + [nc, nc_badpass, nc_nopass]: r.clean() r.deploy() @@ -33,7 +32,7 @@ def teardown(): assert(r._alive()) r.stop() -default_kv = {'kkk-%s' % i : 'vvv-%s' % i for i in range(10)} +default_kv = {bytes('kkk-%s' % i, encoding='utf-8') : bytes('vvv-%s' % i, encoding='utf-8') for i in range(10)} def getconn(): r = redis.Redis(nc.host(), nc.port()) @@ -66,13 +65,13 @@ def test_auth_basic(): assert_fail('NOAUTH|operation not permitted', r.get, 'k') # bad passwd - assert_fail('invalid password', r.execute_command, 'AUTH', 'badpasswd') + assert_fail('invalid password|WRONGPASS', r.execute_command, 'AUTH', 'badpasswd') # everything is ok after auth r.execute_command('AUTH', 'hellopasswd') r.set('k', 'v') assert(r.ping() == True) - assert(r.get('k') == 'v') + assert_equal(b'v', r.get('k')) # auth fail here, should we return ok or not => we will mark the conn state as not authed assert_fail('invalid password', r.execute_command, 'AUTH', 'badpasswd') diff --git a/tests/test_redis/test_basic.py b/tests/test_redis/test_basic.py index 2f417e6d..1e483e44 100644 --- a/tests/test_redis/test_basic.py +++ b/tests/test_redis/test_basic.py @@ -1,32 +1,35 @@ #!/usr/bin/env python #coding: utf-8 -from common import * +from nose.tools import nottest +from .common import * def test_setget(): r = getconn() rst = r.set('k', 'v') - assert(r.get('k') == 'v') + assert_equal(True, rst) + assert_equal(b'v', r.get('k')) def test_msetnx(): r = getconn() - #not supported - keys = default_kv.keys() - assert_fail('Socket closed|Connection closed', r.msetnx,**default_kv) + # https://redis.io/commands/msetnx + # MSETNX not supported when sharded? + normalized_kv = {str(key, encoding='utf-8'): val for key, val in default_kv.items()} + assert_fail('Socket closed|Connection closed', r.msetnx,**normalized_kv) def test_null_key(): r = getconn() rst = r.set('', 'v') - assert(r.get('') == 'v') + assert_equal(b'v', r.get('')) rst = r.set('', '') - assert(r.get('') == '') + assert_equal(b'', r.get('')) kv = {'' : 'val', 'k': 'v'} ret = r.mset(**kv) - assert(r.get('') == 'val') + assert_equal(b'val', r.get('')) def test_ping_quit(): r = getconn() @@ -34,11 +37,25 @@ def test_ping_quit(): #get set rst = r.set('k', 'v') - assert(r.get('k') == 'v') + assert_equal(b'v', r.get('k')) assert_fail('Socket closed|Connection closed', r.execute_command, 'QUIT') -def test_slow_req(): +def test_slow_req_lua(): + r = getconn() + pipe = r.pipeline(transaction=False) + pipe.eval("local x=0;for i = 1,300000000,1 do x = x+ i; end; return x", 1, 'tmp') + assert_fail('timed out', pipe.execute) + +def test_fast_req_lua(): + r = getconn() + pipe = r.pipeline(transaction=False) + pipe.eval("local x=0;for i = 1,100,1 do x = x+ i; end; return x", 1, 'tmp') + assert_equal([5050], pipe.execute()) + +# Disabled because this uses a lot of memory and would sometimes complete before the timeout. +@nottest +def disabled_test_slow_req(): r = getconn() kv = {'mkkk-%s' % i : 'mvvv-%s' % i for i in range(500000)} @@ -55,6 +72,7 @@ def test_slow_req(): def test_signal(): #init nc.cleanlog() + time.sleep(.1) nc.signal('HUP') nc.signal('HUP') @@ -63,7 +81,7 @@ def test_signal(): nc.signal('SEGV') time.sleep(.3) - log = file(nc.logfile()).read() + log = open(nc.logfile(), 'r').read() assert(strstr(log, 'HUP')) assert(strstr(log, 'TTIN')) @@ -78,7 +96,7 @@ def test_nc_stats(): nc.start() r = getconn() kv = {'kkk-%s' % i :'vvv-%s' % i for i in range(10)} - for k, v in kv.items(): + for k, v in list(kv.items()): r.set(k, v) r.get(k) @@ -92,7 +110,7 @@ def get_stat(name): #sum num of each server ret = 0 - for k, v in stat[CLUSTER_NAME].items(): + for k, v in list(stat[CLUSTER_NAME].items()): if type(v) == dict: ret += v[name] return ret @@ -101,7 +119,7 @@ def get_stat(name): assert(get_stat('responses') == 20) ##### mget - keys = kv.keys() + keys = list(kv.keys()) r.mget(keys) #for version<=0.3.0 @@ -116,11 +134,11 @@ def test_issue_323(): # do on redis r = all_redis[0] c = redis.Redis(r.host(), r.port()) - assert([1, 'OK'] == c.eval("return {1, redis.call('set', 'x', '1')}", 1, 'tmp')) + assert_equal([1, b'OK'], c.eval("return {1, redis.call('set', 'x', '1')}", 1, 'tmp')) # do on twemproxy c = getconn() - assert([1, 'OK'] == c.eval("return {1, redis.call('set', 'x', '1')}", 1, 'tmp')) + assert_equal([1, b'OK'], c.eval("return {1, redis.call('set', 'x', '1')}", 1, 'tmp')) def setup_and_wait(): time.sleep(60*60) diff --git a/tests/test_redis/test_commands.py b/tests/test_redis/test_commands.py index 95675f55..b48930fb 100644 --- a/tests/test_redis/test_commands.py +++ b/tests/test_redis/test_commands.py @@ -1,7 +1,7 @@ #!/usr/bin/env python #coding: utf-8 -from common import * +from .common import * def test_linsert(): r = getconn() @@ -11,12 +11,12 @@ def test_linsert(): r.linsert('mylist', 'BEFORE', 'World', 'There') rst = r.lrange('mylist', 0, -1) - assert(rst == ['Hello', 'There', 'World']) + assert_equal([b'Hello', b'There', b'World'], rst) def test_lpush_lrange(): r = getconn() - vals = ['vvv-%s' % i for i in range(10) ] + vals = [b'vvv-%d' % i for i in range(10) ] assert([] == r.lrange('mylist', 0, -1)) r.lpush('mylist', *vals) @@ -27,7 +27,7 @@ def test_lpush_lrange(): def test_hscan(): r = getconn() - kv = {'kkk-%s' % i : 'vvv-%s' % i for i in range(10)} + kv = {b'kkk-%d' % i : b'vvv-%d' % i for i in range(10)} r.hmset('a', kv) cursor, dic = r.hscan('a') @@ -36,19 +36,20 @@ def test_hscan(): cursor, dic = r.hscan('a', match='kkk-5') assert(str(cursor) == '0') - assert(dic == {'kkk-5': 'vvv-5'}) + assert(dic == {b'kkk-5': b'vvv-5'}) def test_hscan_large(): r = getconn() - kv = {'x'* 100 + 'kkk-%s' % i : 'vvv-%s' % i for i in range(1000)} + kv = {b'x'* 100 + (b'kkk-%d' % i) : (b'vvv-%d' % i) + for i in range(1000)} r.hmset('a', kv) cursor = '0' dic = {} while True: cursor, t = r.hscan('a', cursor, count=10) - for k, v in t.items(): + for k, v in list(t.items()): dic[k] = v if '0' == str(cursor): @@ -73,12 +74,12 @@ def test_zscan(): r.zadd('a', 'a', 1, 'b', 2, 'c', 3) cursor, pairs = r.zscan('a') - assert(str(cursor) == '0') - assert(set(pairs) == set([('a', 1), ('b', 2), ('c', 3)])) + assert_equal(0, cursor) + assert_equal({(b'a', 1), (b'b', 2), (b'c', 3)}, set(pairs)) cursor, pairs = r.zscan('a', match='a') - assert(str(cursor) == '0') - assert(set(pairs) == set([('a', 1)])) + assert_equal(0, cursor) + assert_equal({(b'a', 1)}, set(pairs)) def test_sscan(): r = getconn() @@ -86,10 +87,10 @@ def test_sscan(): r.sadd('a', 1, 2, 3) cursor, members = r.sscan('a') - assert(str(cursor) == '0') - assert(set(members) == set(['1', '2', '3'])) + assert_equal(0, cursor) + assert_equal({b'1', b'2', b'3'}, set(members)) cursor, members = r.sscan('a', match='1') - assert(str(cursor) == '0') - assert(set(members) == set(['1'])) + assert_equal('0', str(cursor)) + assert_equal({b'1'}, set(members)) diff --git a/tests/test_redis/test_mget_large_binary.py b/tests/test_redis/test_mget_large_binary.py index 8c8b24ae..7ac0cfe5 100644 --- a/tests/test_redis/test_mget_large_binary.py +++ b/tests/test_redis/test_mget_large_binary.py @@ -1,8 +1,8 @@ #!/usr/bin/env python #coding: utf-8 -from common import * -from test_mget_mset import test_mget_mset as _mget_mset +from .common import * +from .test_mget_mset import test_mget_mset as _mget_mset #force to use large mbuf, we need to copy the setup/teardown here.. @@ -12,7 +12,7 @@ all_redis, mbuf=mbuf, verbose=nc_verbose) def setup(): - print 'special setup(mbuf=%s, verbose=%s)' %(mbuf, nc_verbose) + print('special setup(mbuf=%s, verbose=%s)' %(mbuf, nc_verbose)) for r in all_redis + [nc]: r.deploy() r.stop() @@ -27,8 +27,8 @@ def teardown(): def test_mget_binary_value(cnt=5): kv = {} for i in range(cnt): - kv['kkk-%s' % i] = os.urandom(1024*1024*16+1024) #16M + kv[bytes('kkk-%s' % i, encoding='utf-8')] = os.urandom(1024*1024*16+1024) #16M for i in range(cnt): - kv['kkk2-%s' % i] = '' + kv[bytes('kkk2-%s' % i, encoding='utf-8')] = b'' _mget_mset(kv) diff --git a/tests/test_redis/test_mget_mset.py b/tests/test_redis/test_mget_mset.py index a5a9b62e..7ffb2774 100644 --- a/tests/test_redis/test_mget_mset.py +++ b/tests/test_redis/test_mget_mset.py @@ -1,14 +1,13 @@ -#!/usr/bin/env python -#coding: utf-8 +#!/usr/bin/env python3 -from common import * +from .common import * def test_mget_mset(kv=default_kv): r = getconn() def insert_by_pipeline(): pipe = r.pipeline(transaction=False) - for k, v in kv.items(): + for k, v in list(kv.items()): pipe.set(k, v) pipe.execute() @@ -21,12 +20,12 @@ def insert_by_mset(): except: insert_by_pipeline() - keys = kv.keys() + keys = list(kv.keys()) #mget to check vals = r.mget(keys) for i, k in enumerate(keys): - assert(kv[k] == vals[i]) + assert_equal(kv[k], vals[i]) #del assert (len(keys) == r.delete(*keys) ) @@ -42,7 +41,7 @@ def test_mget_mset_on_key_not_exist(kv=default_kv): def insert_by_pipeline(): pipe = r.pipeline(transaction=False) - for k, v in kv.items(): + for k, v in list(kv.items()): pipe.set(k, v) pipe.execute() @@ -54,8 +53,8 @@ def insert_by_mset(): except: insert_by_pipeline() - keys = kv.keys() - keys2 = ['x-'+k for k in keys] + keys = list(kv.keys()) + keys2 = [b'x-'+k for k in keys] keys = keys + keys2 random.shuffle(keys) @@ -63,9 +62,9 @@ def insert_by_mset(): vals = r.mget(keys) for i, k in enumerate(keys): if k in kv: - assert(kv[k] == vals[i]) + assert_equal(kv[k], vals[i]) else: - assert(vals[i] == None) + assert_equal(None, vals[i]) #del assert (len(kv) == r.delete(*keys) ) @@ -78,16 +77,16 @@ def insert_by_mset(): def test_mget_mset_large(): for cnt in range(171, large, 171): - kv = {'kkk-%s' % i :'vvv-%s' % i for i in range(cnt)} + kv = {b'kkk-%d' % i : b'vvv-%d' % i for i in range(cnt)} test_mget_mset(kv) def test_mget_special_key(cnt=5): #key length = 512-48-1 kv = {} for i in range(cnt): - k = 'kkk-%s' % i - k = k + 'x'*(512-48-1-len(k)) - kv[k] = 'vvv' + k = b'kkk-%d' % i + k = k + b'x'*(512-48-1-len(k)) + kv[k] = b'vvv' test_mget_mset(kv) @@ -95,9 +94,9 @@ def test_mget_special_key_2(cnt=5): #key length = 512-48-2 kv = {} for i in range(cnt): - k = 'kkk-%s' % i - k = k + 'x'*(512-48-2-len(k)) - kv[k] = 'vvv'*9 + k = b'kkk-%d' % i + k = k + b'x'*(512-48-2-len(k)) + kv[k] = b'vvv'*9 test_mget_mset(kv) @@ -146,22 +145,22 @@ def test_mget_pipeline(): r = getconn() pipe = r.pipeline(transaction=False) - for k,v in default_kv.items(): + for k,v in list(default_kv.items()): pipe.set(k,v) - keys = default_kv.keys() + keys = list(default_kv.keys()) pipe.mget(keys) kv = {} for i in range(large): - kv['kkk-%s' % i] = os.urandom(100) - for k,v in kv.items(): + kv[b'kkk-%d' % i] = os.urandom(100) + for k,v in list(kv.items()): pipe.set(k,v) - for k in kv.keys(): + for k in list(kv.keys()): pipe.get(k) rst = pipe.execute() #print rst #check the result - keys = default_kv.keys() + keys = list(default_kv.keys()) #mget to check vals = r.mget(keys) @@ -182,8 +181,9 @@ def test_multi_delete_normal(): for i in range(100): r.set('key-%s'%i, 'val-%s'%i) + for i in range(100): - assert_equal('val-%s'%i, r.get('key-%s'%i) ) + assert_equal(bytes('val-%s'%i, encoding='utf-8'), r.get('key-%s'%i) ) keys = ['key-%s'%i for i in range(100)] assert_equal(100, r.delete(*keys)) @@ -196,10 +196,10 @@ def test_multi_delete_on_readonly(): r = redis.Redis(nc.host(), nc.port()) - # got "You can't write against a read only slave" - assert_fail("You can't write against a read only slave.", r.delete, 'key-1') + # got "You can't write against a read only (replica)" + assert_fail('READONLY|Invalid|You can\'t write against a read only', r.delete, 'key-1') assert_equal(0, r.delete('key-2')) - assert_fail("You can't write against a read only slave", r.delete, 'key-3') + assert_fail('READONLY|Invalid|You can\'t write against a read only', r.delete, 'key-3') keys = ['key-1', 'key-2', 'kkk-3'] assert_fail('Invalid argument', r.delete, *keys) # got "Invalid argument" diff --git a/tests/test_redis/test_pipeline.py b/tests/test_redis/test_pipeline.py index a14bd871..498855a8 100644 --- a/tests/test_redis/test_pipeline.py +++ b/tests/test_redis/test_pipeline.py @@ -1,7 +1,6 @@ -#!/usr/bin/env python -#coding: utf-8 +#!/usr/bin/env python3 -from common import * +from .common import * def test_pipeline(): r = getconn() @@ -11,15 +10,17 @@ def test_pipeline(): pipe.set('a', 'a1').get('a').zadd('z', z1=1).zadd('z', z2=4) pipe.zincrby('z', 'z1').zrange('z', 0, 5, withscores=True) - assert pipe.execute() == \ + assert_equal( [ True, - 'a1', + b'a1', True, True, 2.0, - [('z1', 2.0), ('z2', 4)], - ] + [(b'z1', 2.0), (b'z2', 4)], + ], + pipe.execute() + ) def test_invalid_pipeline(): r = getconn() @@ -29,8 +30,8 @@ def test_invalid_pipeline(): pipe.set('a', 1).set('b', 2).lpush('a', 3).set('d', 4).get('a') result = pipe.execute(raise_on_error = False) - assert result[0] - assert result[1] + assert_equal(True, result[0]) + assert_equal(True, result[1]) # we can't lpush to a key that's a string value, so this should # be a ResponseError exception @@ -38,8 +39,8 @@ def test_invalid_pipeline(): # since this isn't a transaction, the other commands after the # error are still executed - assert result[3] - assert result[4] == '1' + assert_equal(True, result[3]) + assert_equal(b'1', result[4]) # make sure the pipe was restored to a working state assert pipe.set('z', 'zzz').execute() == [True] diff --git a/tests/test_redis/test_protocol.py b/tests/test_redis/test_protocol.py index cbd3abb3..2b79c3cb 100644 --- a/tests/test_redis/test_protocol.py +++ b/tests/test_redis/test_protocol.py @@ -1,5 +1,5 @@ -#!/usr/bin/env python -from common import * +#!/usr/bin/env python3 +from .common import * from pprint import pprint def get_conn(): @@ -11,18 +11,19 @@ def get_conn(): def _test(req, resp, sleep=0): s = get_conn() + # Send a single byte at a time for i in req: - s.sendall(i) + s.sendall(bytes([i])) time.sleep(sleep) s.settimeout(.3) data = s.recv(10000) - assert(data == resp) + assert_equal(resp, data) def test_slow(): - req = '*1\r\n$4\r\nPING\r\n' - resp = '+PONG\r\n' + req = b'*1\r\n$4\r\nPING\r\n' + resp = b'+PONG\r\n' if large > 1000: sleep = 1 @@ -32,48 +33,55 @@ def test_slow(): _test(req, resp, sleep) def test_pingpong(): - req = '*1\r\n$4\r\nPING\r\n' - resp = '+PONG\r\n' + req = b'*1\r\n$4\r\nPING\r\n' + resp = b'+PONG\r\n' _test(req, resp) + # Sanity check there's no error + info = nc._info_dict() + assert_equal(0, info['ntest']['client_err']) +# twemproxy for redis doesn't appear to have any code to send +OK\r\n, it just disconnects. def test_quit(): if nc.version() < '0.4.2': return - req = '*1\r\n$4\r\nQUIT\r\n' - resp = '+OK\r\n' + req = b'*1\r\n$4\r\nQUIT\r\n' + # NOTE: Nutcracker doesn't appear to have any code to send +OK\r\n, it just disconnects. + # +OK\r\n would also be valid. + resp = b'' _test(req, resp) +# twemproxy for redis doesn't appear to have any code to send +OK\r\n, it just disconnects. +# If it doesn't try to send anything, there's no client_err. def test_quit_without_recv(): if nc.version() < '0.4.2': return - req = '*1\r\n$4\r\nQUIT\r\n' - resp = '+OK\r\n' + req = b'*1\r\n$4\r\nQUIT\r\n' + resp = b'+OK\r\n' s = get_conn() s.sendall(req) s.close() + time.sleep(0.1) info = nc._info_dict() - #pprint(info) - assert(info['ntest']['client_err'] == 1) + assert_equal(0, info['ntest']['client_err']) def _test_bad(req): s = get_conn() s.sendall(req) data = s.recv(10000) - print data - assert('' == s.recv(1000)) # peer is closed + assert_equal(b'', s.recv(1000)) # peer is closed def test_badreq(): reqs = [ # '*1\r\n$3\r\nPING\r\n', - '\r\n', + b'\r\n', # '*3abcdefg\r\n', - '*3\r\n*abcde\r\n', + b'*3\r\n*abcde\r\n', - '*4\r\n$4\r\nMSET\r\n$1\r\nA\r\n$1\r\nA\r\n$1\r\nA\r\n', - '*2\r\n$4\r\nMSET\r\n$1\r\nA\r\n', + b'*4\r\n$4\r\nMSET\r\n$1\r\nA\r\n$1\r\nA\r\n$1\r\nA\r\n', + b'*2\r\n$4\r\nMSET\r\n$1\r\nA\r\n', # '*3\r\n$abcde\r\n', # '*3\r\n$3abcde\r\n', # '*3\r\n$3\r\nabcde\r\n', @@ -86,5 +94,5 @@ def test_badreq(): def test_wrong_argc(): s = get_conn() - s.sendall('*1\r\n$3\r\nGET\r\n') - assert('' == s.recv(1000)) # peer is closed + s.sendall(b'*1\r\n$3\r\nGET\r\n') + assert_equal(b'', s.recv(1000)) # peer is closed diff --git a/tests/test_system/test_reload.py b/tests/test_system/test_reload.py index b5de63ef..076926d9 100644 --- a/tests/test_system/test_reload.py +++ b/tests/test_system/test_reload.py @@ -1,5 +1,4 @@ -#!/usr/bin/env python -#coding: utf-8 +#!/usr/bin/env python3 #file : test_reload.py #author : ning #date : 2014-09-03 12:28:16 @@ -35,7 +34,7 @@ all_redis, mbuf=mbuf, verbose=nc_verbose) def _setup(): - print 'setup(mbuf=%s, verbose=%s)' %(mbuf, nc_verbose) + print('setup(mbuf=%s, verbose=%s)' %(mbuf, nc_verbose)) for r in all_redis + [nc]: r.deploy() r.stop() @@ -60,7 +59,7 @@ def send_cmd(s, req, resp): @with_setup(_setup, _teardown) def test_reload_with_old_conf(): if nc.version() < '0.4.2': - print 'Ignore test_reload for version %s' % nc.version() + print('Ignore test_reload for version %s' % nc.version()) return pid = nc.pid() # print 'old pid:', pid @@ -100,7 +99,7 @@ def test_reload_with_old_conf(): @with_setup(_setup, _teardown) def test_new_port(): if nc.version() < '0.4.2': - print 'Ignore test_reload for version %s' % nc.version() + print('Ignore test_reload for version %s' % nc.version()) return r = redis.Redis(nc.host(), nc.port()) r.set('k', 'v') @@ -129,7 +128,7 @@ def test_new_port(): @with_setup(_setup, _teardown) def test_pool_add_del(): if nc.version() < '0.4.2': - print 'Ignore test_reload for version %s' % nc.version() + print('Ignore test_reload for version %s' % nc.version()) return r = redis.Redis(nc.host(), nc.port()) @@ -178,7 +177,7 @@ def test_pool_add_del(): nc.set_config(content) time.sleep(T_RELOAD_DELAY) pid = nc.pid() - print system('ls -l /proc/%s/fd/' % pid) + print(system('ls -l /proc/%s/fd/' % pid)) r3 = redis.Redis(nc.host(), 4102) diff --git a/travis.sh b/travis.sh old mode 100644 new mode 100755 index de00d8be..a0af46fc --- a/travis.sh +++ b/travis.sh @@ -1,28 +1,39 @@ -#!/bin/bash -#file : travis.sh -#author : ning -#date : 2014-05-10 16:54:43 +#!/usr/bin/env bash +# Main ci script for nutcracker tests +set -xeu -#install deps if we are in travis -if [ -n "$TRAVIS" ]; then - sudo apt-get install socat +function print_usage() { + echo "Usage: $0 [REDIS_VER]" 1>&2 + echo "e.g. $0 3.2.12" 1>&2 + exit 1 +} - #python libs - sudo pip install redis - sudo pip install nose +REDIS_VER=3.2.11 +if [[ "$#" > 1 ]]; then + echo "Too many arguments" 1>&2 + print_usage +elif [[ "$#" > 0 ]]; then + REDIS_VER="$1" +fi - sudo pip install git+https://github.com/andymccurdy/redis-py.git@2.10.3 - sudo pip install git+https://github.com/idning/python-memcached.git#egg=memcache -fi +PACKAGE_NAME="nutcrackerci" -#build twemproxy -CFLAGS="-ggdb3 -O0" autoreconf -fvi && ./configure --enable-debug=log && make +TAG=$( git describe --always ) +DOCKER_IMG_NAME=twemproxy-build-$PACKAGE_NAME-$REDIS_VER-$TAG -ln -s `pwd`/src/nutcracker tests/_binaries/ -cp `which redis-server` tests/_binaries/ -cp `which redis-cli` tests/_binaries/ -cp `which memcached` tests/_binaries/ +rm -rf twemproxy -#run test -cd tests/ && nosetests --nologcapture -x -v +DOCKER_TAG=twemproxy-$PACKAGE_NAME-$REDIS_VER:$TAG +docker build -f ci/Dockerfile \ + --tag $DOCKER_TAG \ + --build-arg=REDIS_VER=$REDIS_VER \ + . + +# Run nose tests +docker run \ + --rm \ + -e REDIS_VER=$REDIS_VER \ + --name=$DOCKER_IMG_NAME \ + $DOCKER_TAG \ + nosetests -v test_memcache test_system test_redis From 3140cda914633039753ea7f8e8733cd054d35dea Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Fri, 9 Apr 2021 15:23:50 -0400 Subject: [PATCH 10/69] Add nosetests_verbose.sh script This is useful if the tests hang due to a change. Otherwise, log capturing would prevent you from seeing the logs. --- tests/README.rst | 4 ++-- tests/nosetests_verbose.sh | 12 ++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) create mode 100755 tests/nosetests_verbose.sh diff --git a/tests/README.rst b/tests/README.rst index a414f912..3505f3ca 100644 --- a/tests/README.rst +++ b/tests/README.rst @@ -25,9 +25,9 @@ usage |-- redis-server |-- memcached -3. run:: +3. run with nosetests (or ./nosetests_verbose.sh):: - $ nosetests -v + $ python3 -m nose -v test_del.test_multi_delete_on_readonly ... ok test_mget.test_mget ... ok diff --git a/tests/nosetests_verbose.sh b/tests/nosetests_verbose.sh new file mode 100755 index 00000000..b2e022e5 --- /dev/null +++ b/tests/nosetests_verbose.sh @@ -0,0 +1,12 @@ +#!/bin/bash -xeu +# A simple utility script to run tests with extremely verbose output. + +if [[ $# == 0 ]]; then + echo "Usage: $0 test_a [test_b, ...]" 1>&2 + exit 1 +fi + +# Print test logging to stderr +export T_LOGFILE=- + +python3 -m nose -v --nologcapture --nocapture "$@" From 96a9fbdc69a121c66bd92f15e87d598a76883ef0 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Fri, 9 Apr 2021 15:33:47 -0400 Subject: [PATCH 11/69] Remove accidentally committed file --- ci/Dockerfile.nutredis | 77 ------------------------------------------ 1 file changed, 77 deletions(-) delete mode 100644 ci/Dockerfile.nutredis diff --git a/ci/Dockerfile.nutredis b/ci/Dockerfile.nutredis deleted file mode 100644 index af9a6f79..00000000 --- a/ci/Dockerfile.nutredis +++ /dev/null @@ -1,77 +0,0 @@ -# Dockerfile to build nutredis -# ARGS: none -# Also see travis.sh -FROM centos:7 - -ENV LAST_MODIFIED_DATE 2017-12-08 - -# socat Allow tests to open log files -# which (used below) -# python-setuptools for pip -RUN yum install -y \ - https://repo.ius.io/ius-release-el7.rpm \ - https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm - -RUN yum install -y \ - tar git gcc make tcl \ - autoconf automake libtool wget \ - socat \ - which \ - memcached \ - python36u python36u-pip \ - yum clean all - -# Install nosetest dependencies -RUN pip3.6 install nose && \ - pip3.6 install 'git+https://github.com/andymccurdy/redis-py.git@2.10.6' && \ - pip3.6 install 'git+https://github.com/linsomniac/python-memcached.git@1.58' - -# I can't install redis or redis-server in centos:7 (didn't add package), adding to centos 6 -# Install redis and redis sentinel, needed for unit tests -# RUN yum install -y redis redis-sentinel - -ARG REDIS_VER=3.2.12 -RUN wget https://github.com/antirez/redis/archive/$REDIS_VER.tar.gz && \ - tar zxvf $REDIS_VER.tar.gz && \ - pushd redis-$REDIS_VER && \ - make install && \ - popd && \ - rm -r redis-* - -# This will build and twemproxy 0.4.1 (with sflow) -# Annoyingly, can't add multiple directories at once. -ADD conf /usr/src/twemproxy/conf -ADD contrib /usr/src/twemproxy/contrib -ADD man /usr/src/twemproxy/man -ADD m4 /usr/src/twemproxy/m4 -ADD notes /usr/src/twemproxy/notes -ADD scripts /usr/src/twemproxy/scripts -ADD src /usr/src/twemproxy/src -ADD ChangeLog configure.ac Makefile.am LICENSE NOTICE README.md /usr/src/twemproxy/ - -WORKDIR /usr/src/twemproxy - - -ADD ci/build-nutredis.sh /usr/local/bin/build-nutredis.sh -RUN /usr/local/bin/build-nutredis.sh - -# Add the tests after adding source files, which makes it easy to quickly test changes to unit tests. -ADD tests /usr/src/twemproxy/tests - -# Not installing redis utilities, since we're not running those tests. -RUN mkdir tests/_binaries -p - -RUN ln -nsf $PWD/src/nutredis tests/_binaries/nutredis && \ - ln -nsf $PWD/src/nutredis tests/_binaries/nutcracker && \ - cp `which redis-server` tests/_binaries/redis-server && \ - cp `which redis-server` tests/_binaries/redis-sentinel && \ - cp `which memcached` tests/_binaries/memcached && \ - cp `which redis-cli` tests/_binaries/redis-cli - -WORKDIR /usr/src/twemproxy/tests - -# Allow tests to open log files -RUN chmod -R a+w log/ -RUN cat /etc/passwd -RUN chown -R daemon:daemon /usr/src/twemproxy -USER daemon From e25f23e18970c56054fa6a5dd6e99fafa7898a10 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Fri, 9 Apr 2021 16:02:21 -0400 Subject: [PATCH 12/69] Start using github workflow to build branches and PRs Run in multiple redis versions Update some unit tests and reorganize docker build steps --- .github/workflows/main.yml | 40 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 00000000..1b141dc3 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,40 @@ +# This is a basic workflow to help you get started with Actions + +name: CI + +# Controls when the action will run. +on: + # Triggers the workflow on push or pull request events but only for the master branch + push: + branches: [ master ] + pull_request: + branches: [ master ] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + build: + # The type of runner that the job will run on + runs-on: ubuntu-latest + + # See https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#using-environment-variables-in-a-matrix + strategy: + matrix: + include: + - REDIS_VER: 3.0.7 + - REDIS_VER: 3.2.13 + - REDIS_VER: 4.0.14 + - REDIS_VER: 5.0.12 + - REDIS_VER: 6.2.1 + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v2 + + # Runs a single command using the runners shell + - name: Build and test in docker + run: bash ./travis.sh ${{ matrix.REDIS_VER }} From d2241070247396a6f9e7521ccff3d5ebb995d35b Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Fri, 9 Apr 2021 16:54:37 -0400 Subject: [PATCH 13/69] Fix second check --- tests/test_redis/test_auth.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_redis/test_auth.py b/tests/test_redis/test_auth.py index 11273a5f..76bd7188 100644 --- a/tests/test_redis/test_auth.py +++ b/tests/test_redis/test_auth.py @@ -74,7 +74,7 @@ def test_auth_basic(): assert_equal(b'v', r.get('k')) # auth fail here, should we return ok or not => we will mark the conn state as not authed - assert_fail('invalid password', r.execute_command, 'AUTH', 'badpasswd') + assert_fail('invalid password|WRONGPASS', r.execute_command, 'AUTH', 'badpasswd') assert_fail('NOAUTH|operation not permitted', r.ping) assert_fail('NOAUTH|operation not permitted', r.get, 'k') From 8caa0a20afb67d59f4a06b0c1fb6b98224a67269 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Fri, 9 Apr 2021 17:19:51 -0400 Subject: [PATCH 14/69] Update test of auth for redis 6+ --- tests/test_redis/test_auth.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/tests/test_redis/test_auth.py b/tests/test_redis/test_auth.py index 76bd7188..3e4a33ee 100644 --- a/tests/test_redis/test_auth.py +++ b/tests/test_redis/test_auth.py @@ -75,9 +75,16 @@ def test_auth_basic(): # auth fail here, should we return ok or not => we will mark the conn state as not authed assert_fail('invalid password|WRONGPASS', r.execute_command, 'AUTH', 'badpasswd') - - assert_fail('NOAUTH|operation not permitted', r.ping) - assert_fail('NOAUTH|operation not permitted', r.get, 'k') + # https://redis.io/commands/auth changed in redis 6.0.0 and auth now appears to be additive for valid credentials? + # We can get the redis version by invoking a shell command, but not going to bother. Just assert that it if it throws, it's for the expected reason. + try: + r.ping() + except Exception as e: + assert re.search('NOAUTH|operation not permitted', str(e)) + try: + r.get('k') + except Exception as e: + assert re.search('NOAUTH|operation not permitted', str(e)) def test_nopass_on_proxy(): r = redis.Redis(nc_nopass.host(), nc_nopass.port()) From 0667d618d80248ef20dd32bd7e2af99b9ff6bbac Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Fri, 19 Mar 2021 16:23:55 -0400 Subject: [PATCH 15/69] Don't hang for dns error responding to fragmented requests If hostnames are used instead of ip addresses for all hosts within a pool, and dns lookup fails, then get/multiget will hang indefinitely **instead of** responding with an error such as `SERVER_ERROR Host is down`. (I expect a client would detect this and close the connection, but this is not ideal, the client timeout could be a second) - Both redis and memcache protocols are affected - If a server resolves but is down, then `get` does respond with `SERVER_ERROR Host is down`. I suspect that's because memcached get is implemented to coalesce responses from multiple backend servers, even when there's only one key, and this is likely a bug specific to handling coalescing when there's no attempt to send the request to a backend server Because connection attempts are async but dns lookup is asynchronous, there's a non-null server connection for a host that's unavailable but a null server connection for a host that has a dns lookup error, and these end up using different code paths. (e.g. the former will call server_close() which does adjust nfrag_sent) Fixes #596 --- src/nc_request.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/nc_request.c b/src/nc_request.c index 5fc4190a..9de12933 100644 --- a/src/nc_request.c +++ b/src/nc_request.c @@ -578,6 +578,21 @@ req_forward(struct context *ctx, struct conn *c_conn, struct msg *msg) s_conn = server_pool_conn(ctx, c_conn->owner, key, keylen); if (s_conn == NULL) { + /* + * Handle a failure to establish a new connection to a server, + * e.g. due to dns resolution errors. + * + * If this is a fragmented request sent to multiple servers such as + * a memcache get(multiget), + * mark the fragment for this request to the server as done. + * + * Normally, this would be done when the request was forwarded to the + * server, but due to failing to connect to the server this check is + * repeated here. + */ + if (msg->frag_owner != NULL) { + msg->frag_owner->nfrag_done++; + } req_forward_error(ctx, c_conn, msg); return; } From 05032cef107f6b128157cf69cf0f45d7a3ee1cd4 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Wed, 30 Jun 2021 09:32:20 -0400 Subject: [PATCH 16/69] Switch to GitHub actions for builds Travis CI builds have been queueing for hours for some builds. This a simple docker script. --- .travis.yml | 15 --------------- README.md | 2 +- 2 files changed, 1 insertion(+), 16 deletions(-) delete mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 793cd3e3..00000000 --- a/.travis.yml +++ /dev/null @@ -1,15 +0,0 @@ -services: - - docker - -# We test the latest patch commits of multiple redis versions because sentinel responses are different, -# and to verify that unit tests of redis pass in all of those versions. -env: - - REDIS_VER=3.0.7 - - REDIS_VER=3.2.13 - - REDIS_VER=4.0.14 - - REDIS_VER=5.0.12 - - REDIS_VER=6.2.1 - -script: ./travis.sh $REDIS_VER - -sudo: required diff --git a/README.md b/README.md index 21396a31..5022e59c 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# twemproxy (nutcracker) [![Build Status](https://secure.travis-ci.org/twitter/twemproxy.png)](http://travis-ci.org/twitter/twemproxy) +# twemproxy (nutcracker) [![Build Status](https://github.com/twitter/twemproxy/actions/workflows/main.yml/badge.svg?branch=master)](https://github.com/twitter/twemproxy/actions/workflows/main.yml?query=branch%3Amaster) **twemproxy** (pronounced "two-em-proxy"), aka **nutcracker** is a fast and lightweight proxy for [memcached](http://www.memcached.org/) and [redis](http://redis.io/) protocol. It was built primarily to reduce the number of connections to the caching servers on the backend. This, together with protocol pipelining and sharding enables you to horizontally scale your distributed caching architecture. From 8ebfd61114ea3e154d14522b5b8e3a6ad847df0d Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Wed, 24 Feb 2021 09:36:51 -0500 Subject: [PATCH 17/69] Use nservers instead of ncontinuum ncontinuum is `160 * the number of **non-ejected** hosts` for the ketama distribution, where 160 is the ketama consistent hashing points per server. However, the index returned by msg_backend_idx is a number between 0..nservers-1. - This is a waste of time zeroing out 160 times as much memory as needed - When there are 0 servers, this previously malloc()ed a pointer of size 0 bytes and nutcracker would write to invalid memory. Also, update redis nosetest expectation because newer redis versions changed the error message to mention replica instead. Fixes https://github.com/twitter/twemproxy/issues/563 for redis and memcached. See the discussion there for more details. --- src/nc_request.c | 2 +- src/proto/nc_memcache.c | 12 +++++++----- src/proto/nc_proto.h | 4 ++-- src/proto/nc_redis.c | 18 ++++++++++-------- 4 files changed, 20 insertions(+), 16 deletions(-) diff --git a/src/nc_request.c b/src/nc_request.c index 9de12933..5b7f859f 100644 --- a/src/nc_request.c +++ b/src/nc_request.c @@ -673,7 +673,7 @@ req_recv_done(struct context *ctx, struct conn *conn, struct msg *msg, /* do fragment */ pool = conn->owner; TAILQ_INIT(&frag_msgq); - status = msg->fragment(msg, pool->ncontinuum, &frag_msgq); + status = msg->fragment(msg, array_n(&pool->server), &frag_msgq); if (status != NC_OK) { if (!msg->noreply) { conn->enqueue_outq(ctx, conn, msg); diff --git a/src/proto/nc_memcache.c b/src/proto/nc_memcache.c index be3c5f54..22218bdf 100644 --- a/src/proto/nc_memcache.c +++ b/src/proto/nc_memcache.c @@ -1236,7 +1236,7 @@ memcache_append_key(struct msg *r, uint8_t *key, uint32_t keylen) * read the comment in proto/nc_redis.c */ static rstatus_t -memcache_fragment_retrieval(struct msg *r, uint32_t ncontinuum, +memcache_fragment_retrieval(struct msg *r, uint32_t nservers, struct msg_tqh *frag_msgq, uint32_t key_step) { @@ -1245,7 +1245,7 @@ memcache_fragment_retrieval(struct msg *r, uint32_t ncontinuum, uint32_t i; rstatus_t status; - sub_msgs = nc_zalloc(ncontinuum * sizeof(*sub_msgs)); + sub_msgs = nc_zalloc(nservers * sizeof(*sub_msgs)); if (sub_msgs == NULL) { return NC_ENOMEM; } @@ -1275,10 +1275,12 @@ memcache_fragment_retrieval(struct msg *r, uint32_t ncontinuum, r->nfrag = 0; r->frag_owner = r; + /** Build up the key1 key2 ... to be sent to a given server at index idx */ for (i = 0; i < array_n(r->keys); i++) { /* for each key */ struct msg *sub_msg; struct keypos *kpos = array_get(r->keys, i); uint32_t idx = msg_backend_idx(r, kpos->start, kpos->end - kpos->start); + ASSERT(idx < nservers); if (sub_msgs[idx] == NULL) { sub_msgs[idx] = msg_get(r->owner, r->request, r->redis); @@ -1297,7 +1299,7 @@ memcache_fragment_retrieval(struct msg *r, uint32_t ncontinuum, } } - for (i = 0; i < ncontinuum; i++) { /* prepend mget header, and forward it */ + for (i = 0; i < nservers; i++) { /* prepend mget header, and forward the get[s] key1 key2\r\n to the corresponding server(s) */ struct msg *sub_msg = sub_msgs[i]; if (sub_msg == NULL) { continue; @@ -1334,10 +1336,10 @@ memcache_fragment_retrieval(struct msg *r, uint32_t ncontinuum, } rstatus_t -memcache_fragment(struct msg *r, uint32_t ncontinuum, struct msg_tqh *frag_msgq) +memcache_fragment(struct msg *r, uint32_t nservers, struct msg_tqh *frag_msgq) { if (memcache_retrieval(r)) { - return memcache_fragment_retrieval(r, ncontinuum, frag_msgq, 1); + return memcache_fragment_retrieval(r, nservers, frag_msgq, 1); } return NC_OK; } diff --git a/src/proto/nc_proto.h b/src/proto/nc_proto.h index 62370290..97cac1fb 100644 --- a/src/proto/nc_proto.h +++ b/src/proto/nc_proto.h @@ -144,7 +144,7 @@ bool memcache_failure(struct msg *r); void memcache_pre_coalesce(struct msg *r); void memcache_post_coalesce(struct msg *r); rstatus_t memcache_add_auth(struct context *ctx, struct conn *c_conn, struct conn *s_conn); -rstatus_t memcache_fragment(struct msg *r, uint32_t ncontinuum, struct msg_tqh *frag_msgq); +rstatus_t memcache_fragment(struct msg *r, uint32_t nservers, struct msg_tqh *frag_msgq); rstatus_t memcache_reply(struct msg *r); void memcache_post_connect(struct context *ctx, struct conn *conn, struct server *server); void memcache_swallow_msg(struct conn *conn, struct msg *pmsg, struct msg *msg); @@ -155,7 +155,7 @@ bool redis_failure(struct msg *r); void redis_pre_coalesce(struct msg *r); void redis_post_coalesce(struct msg *r); rstatus_t redis_add_auth(struct context *ctx, struct conn *c_conn, struct conn *s_conn); -rstatus_t redis_fragment(struct msg *r, uint32_t ncontinuum, struct msg_tqh *frag_msgq); +rstatus_t redis_fragment(struct msg *r, uint32_t nservers, struct msg_tqh *frag_msgq); rstatus_t redis_reply(struct msg *r); void redis_post_connect(struct context *ctx, struct conn *conn, struct server *server); void redis_swallow_msg(struct conn *conn, struct msg *pmsg, struct msg *msg); diff --git a/src/proto/nc_redis.c b/src/proto/nc_redis.c index 7a91993d..d21a47b8 100644 --- a/src/proto/nc_redis.c +++ b/src/proto/nc_redis.c @@ -2489,9 +2489,9 @@ redis_append_key(struct msg *r, uint8_t *key, uint32_t keylen) /* * input a msg, return a msg chain. - * ncontinuum is the number of backend redis/memcache server + * nservers is the number of backend redis/memcache server * - * the original msg will be fragment into at most ncontinuum fragments. + * the original msg will be fragmented into at most nservers fragments. * all the keys map to the same backend will group into one fragment. * * frag_id: @@ -2540,7 +2540,7 @@ redis_append_key(struct msg *r, uint8_t *key, uint32_t keylen) * */ static rstatus_t -redis_fragment_argx(struct msg *r, uint32_t ncontinuum, struct msg_tqh *frag_msgq, +redis_fragment_argx(struct msg *r, uint32_t nservers, struct msg_tqh *frag_msgq, uint32_t key_step) { struct mbuf *mbuf; @@ -2550,7 +2550,7 @@ redis_fragment_argx(struct msg *r, uint32_t ncontinuum, struct msg_tqh *frag_msg ASSERT(array_n(r->keys) == (r->narg - 1) / key_step); - sub_msgs = nc_zalloc(ncontinuum * sizeof(*sub_msgs)); + sub_msgs = nc_zalloc(nservers * sizeof(*sub_msgs)); if (sub_msgs == NULL) { return NC_ENOMEM; } @@ -2582,10 +2582,12 @@ redis_fragment_argx(struct msg *r, uint32_t ncontinuum, struct msg_tqh *frag_msg r->nfrag = 0; r->frag_owner = r; + /** Build up the key1 key2 ... to be sent to a given server at index idx */ for (i = 0; i < array_n(r->keys); i++) { /* for each key */ struct msg *sub_msg; struct keypos *kpos = array_get(r->keys, i); uint32_t idx = msg_backend_idx(r, kpos->start, kpos->end - kpos->start); + ASSERT(idx < nservers); if (sub_msgs[idx] == NULL) { sub_msgs[idx] = msg_get(r->owner, r->request, r->redis); @@ -2622,7 +2624,7 @@ redis_fragment_argx(struct msg *r, uint32_t ncontinuum, struct msg_tqh *frag_msg } } - for (i = 0; i < ncontinuum; i++) { /* prepend mget header, and forward it */ + for (i = 0; i < nservers; i++) { /* prepend mget header, and forward the command (command type+key(s)+suffix) to the corresponding server(s) */ struct msg *sub_msg = sub_msgs[i]; if (sub_msg == NULL) { continue; @@ -2658,7 +2660,7 @@ redis_fragment_argx(struct msg *r, uint32_t ncontinuum, struct msg_tqh *frag_msg } rstatus_t -redis_fragment(struct msg *r, uint32_t ncontinuum, struct msg_tqh *frag_msgq) +redis_fragment(struct msg *r, uint32_t nservers, struct msg_tqh *frag_msgq) { if (1 == array_n(r->keys)){ return NC_OK; @@ -2667,10 +2669,10 @@ redis_fragment(struct msg *r, uint32_t ncontinuum, struct msg_tqh *frag_msgq) switch (r->type) { case MSG_REQ_REDIS_MGET: case MSG_REQ_REDIS_DEL: - return redis_fragment_argx(r, ncontinuum, frag_msgq, 1); + return redis_fragment_argx(r, nservers, frag_msgq, 1); case MSG_REQ_REDIS_MSET: - return redis_fragment_argx(r, ncontinuum, frag_msgq, 2); + return redis_fragment_argx(r, nservers, frag_msgq, 2); default: return NC_OK; From 3558a3901ac3e760aefe36102ef9f08ece232e5f Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Fri, 9 Apr 2021 13:54:20 -0400 Subject: [PATCH 18/69] Don't fragment memcache get commands with a single key Fragmentation would likely be slower. It would involve splitting up the request into multiple smaller requests (allocating and zeroing out an array) and concatenating strings to rebuild the original request. Fragmentation is also more likely to be prone to edge cases such as those mentioned in https://github.com/twitter/twemproxy/pull/597 and https://github.com/twitter/twemproxy/pull/595 --- src/proto/nc_memcache.c | 50 ++++++++++++++++++++++++++++++++++------- src/proto/nc_proto.h | 4 ++-- src/proto/nc_redis.c | 24 +++++++++++--------- 3 files changed, 58 insertions(+), 20 deletions(-) diff --git a/src/proto/nc_memcache.c b/src/proto/nc_memcache.c index 22218bdf..d50a4ce8 100644 --- a/src/proto/nc_memcache.c +++ b/src/proto/nc_memcache.c @@ -88,6 +88,37 @@ memcache_retrieval(struct msg *r) return false; } +/* + * Return true, if the memcache command should be fragmented, + * otherwise return false. + * + * The only supported memcache commands that can have multiple keys + * are get/gets. Both are multigets, and the latter returns CAS token with the + * value. + * + * Fragmented requests are assumed to be slower due to the fact that they need + * to allocate an array to track which key went to which server, + * so avoid them when possible. + */ +static bool +memcache_should_fragment(struct msg *r) +{ + switch (r->type) { + case MSG_REQ_MC_GET: + case MSG_REQ_MC_GETS: + /** + * A memcache get for a single key is only sent to one server. + * Fragmenting it would work but be less efficient. + */ + return array_n(r->keys) != 1; + + default: + break; + } + + return false; +} + /* * Return true, if the memcache command is a arithmetic command, otherwise * return false @@ -1236,7 +1267,7 @@ memcache_append_key(struct msg *r, uint8_t *key, uint32_t keylen) * read the comment in proto/nc_redis.c */ static rstatus_t -memcache_fragment_retrieval(struct msg *r, uint32_t nservers, +memcache_fragment_retrieval(struct msg *r, uint32_t nserver, struct msg_tqh *frag_msgq, uint32_t key_step) { @@ -1245,7 +1276,7 @@ memcache_fragment_retrieval(struct msg *r, uint32_t nservers, uint32_t i; rstatus_t status; - sub_msgs = nc_zalloc(nservers * sizeof(*sub_msgs)); + sub_msgs = nc_zalloc(nserver * sizeof(*sub_msgs)); if (sub_msgs == NULL) { return NC_ENOMEM; } @@ -1280,7 +1311,7 @@ memcache_fragment_retrieval(struct msg *r, uint32_t nservers, struct msg *sub_msg; struct keypos *kpos = array_get(r->keys, i); uint32_t idx = msg_backend_idx(r, kpos->start, kpos->end - kpos->start); - ASSERT(idx < nservers); + ASSERT(idx < nserver); if (sub_msgs[idx] == NULL) { sub_msgs[idx] = msg_get(r->owner, r->request, r->redis); @@ -1298,8 +1329,11 @@ memcache_fragment_retrieval(struct msg *r, uint32_t nservers, return status; } } - - for (i = 0; i < nservers; i++) { /* prepend mget header, and forward the get[s] key1 key2\r\n to the corresponding server(s) */ + /* + * prepend mget header, and forward the get[s] key1 key2\r\n + * to the corresponding server(s) + */ + for (i = 0; i < nserver; i++) { struct msg *sub_msg = sub_msgs[i]; if (sub_msg == NULL) { continue; @@ -1336,10 +1370,10 @@ memcache_fragment_retrieval(struct msg *r, uint32_t nservers, } rstatus_t -memcache_fragment(struct msg *r, uint32_t nservers, struct msg_tqh *frag_msgq) +memcache_fragment(struct msg *r, uint32_t nserver, struct msg_tqh *frag_msgq) { - if (memcache_retrieval(r)) { - return memcache_fragment_retrieval(r, nservers, frag_msgq, 1); + if (memcache_should_fragment(r)) { + return memcache_fragment_retrieval(r, nserver, frag_msgq, 1); } return NC_OK; } diff --git a/src/proto/nc_proto.h b/src/proto/nc_proto.h index 97cac1fb..aaf7063d 100644 --- a/src/proto/nc_proto.h +++ b/src/proto/nc_proto.h @@ -144,7 +144,7 @@ bool memcache_failure(struct msg *r); void memcache_pre_coalesce(struct msg *r); void memcache_post_coalesce(struct msg *r); rstatus_t memcache_add_auth(struct context *ctx, struct conn *c_conn, struct conn *s_conn); -rstatus_t memcache_fragment(struct msg *r, uint32_t nservers, struct msg_tqh *frag_msgq); +rstatus_t memcache_fragment(struct msg *r, uint32_t nserver, struct msg_tqh *frag_msgq); rstatus_t memcache_reply(struct msg *r); void memcache_post_connect(struct context *ctx, struct conn *conn, struct server *server); void memcache_swallow_msg(struct conn *conn, struct msg *pmsg, struct msg *msg); @@ -155,7 +155,7 @@ bool redis_failure(struct msg *r); void redis_pre_coalesce(struct msg *r); void redis_post_coalesce(struct msg *r); rstatus_t redis_add_auth(struct context *ctx, struct conn *c_conn, struct conn *s_conn); -rstatus_t redis_fragment(struct msg *r, uint32_t nservers, struct msg_tqh *frag_msgq); +rstatus_t redis_fragment(struct msg *r, uint32_t nserver, struct msg_tqh *frag_msgq); rstatus_t redis_reply(struct msg *r); void redis_post_connect(struct context *ctx, struct conn *conn, struct server *server); void redis_swallow_msg(struct conn *conn, struct msg *pmsg, struct msg *msg); diff --git a/src/proto/nc_redis.c b/src/proto/nc_redis.c index d21a47b8..bab08634 100644 --- a/src/proto/nc_redis.c +++ b/src/proto/nc_redis.c @@ -2489,9 +2489,9 @@ redis_append_key(struct msg *r, uint8_t *key, uint32_t keylen) /* * input a msg, return a msg chain. - * nservers is the number of backend redis/memcache server + * nserver is the number of backend redis/memcache server * - * the original msg will be fragmented into at most nservers fragments. + * the original msg will be fragmented into at most nserver fragments. * all the keys map to the same backend will group into one fragment. * * frag_id: @@ -2540,7 +2540,7 @@ redis_append_key(struct msg *r, uint8_t *key, uint32_t keylen) * */ static rstatus_t -redis_fragment_argx(struct msg *r, uint32_t nservers, struct msg_tqh *frag_msgq, +redis_fragment_argx(struct msg *r, uint32_t nserver, struct msg_tqh *frag_msgq, uint32_t key_step) { struct mbuf *mbuf; @@ -2550,7 +2550,7 @@ redis_fragment_argx(struct msg *r, uint32_t nservers, struct msg_tqh *frag_msgq, ASSERT(array_n(r->keys) == (r->narg - 1) / key_step); - sub_msgs = nc_zalloc(nservers * sizeof(*sub_msgs)); + sub_msgs = nc_zalloc(nserver * sizeof(*sub_msgs)); if (sub_msgs == NULL) { return NC_ENOMEM; } @@ -2582,12 +2582,12 @@ redis_fragment_argx(struct msg *r, uint32_t nservers, struct msg_tqh *frag_msgq, r->nfrag = 0; r->frag_owner = r; - /** Build up the key1 key2 ... to be sent to a given server at index idx */ + /* Build up the key1 key2 ... to be sent to a given server at index idx */ for (i = 0; i < array_n(r->keys); i++) { /* for each key */ struct msg *sub_msg; struct keypos *kpos = array_get(r->keys, i); uint32_t idx = msg_backend_idx(r, kpos->start, kpos->end - kpos->start); - ASSERT(idx < nservers); + ASSERT(idx < nserver); if (sub_msgs[idx] == NULL) { sub_msgs[idx] = msg_get(r->owner, r->request, r->redis); @@ -2624,7 +2624,11 @@ redis_fragment_argx(struct msg *r, uint32_t nservers, struct msg_tqh *frag_msgq, } } - for (i = 0; i < nservers; i++) { /* prepend mget header, and forward the command (command type+key(s)+suffix) to the corresponding server(s) */ + /** + * prepend mget header, and forward the command (command type+key(s)+suffix) + * to the corresponding server(s) + */ + for (i = 0; i < nserver; i++) { struct msg *sub_msg = sub_msgs[i]; if (sub_msg == NULL) { continue; @@ -2660,7 +2664,7 @@ redis_fragment_argx(struct msg *r, uint32_t nservers, struct msg_tqh *frag_msgq, } rstatus_t -redis_fragment(struct msg *r, uint32_t nservers, struct msg_tqh *frag_msgq) +redis_fragment(struct msg *r, uint32_t nserver, struct msg_tqh *frag_msgq) { if (1 == array_n(r->keys)){ return NC_OK; @@ -2669,10 +2673,10 @@ redis_fragment(struct msg *r, uint32_t nservers, struct msg_tqh *frag_msgq) switch (r->type) { case MSG_REQ_REDIS_MGET: case MSG_REQ_REDIS_DEL: - return redis_fragment_argx(r, nservers, frag_msgq, 1); + return redis_fragment_argx(r, nserver, frag_msgq, 1); case MSG_REQ_REDIS_MSET: - return redis_fragment_argx(r, nservers, frag_msgq, 2); + return redis_fragment_argx(r, nserver, frag_msgq, 2); default: return NC_OK; From 14bac4052bdf348db8727ff8dc8b4e28dd3abcee Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Wed, 30 Jun 2021 12:35:11 -0400 Subject: [PATCH 19/69] Follow c style guide --- src/proto/nc_memcache.c | 4 ++-- src/proto/nc_redis.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/proto/nc_memcache.c b/src/proto/nc_memcache.c index d50a4ce8..18bb0be2 100644 --- a/src/proto/nc_memcache.c +++ b/src/proto/nc_memcache.c @@ -106,7 +106,7 @@ memcache_should_fragment(struct msg *r) switch (r->type) { case MSG_REQ_MC_GET: case MSG_REQ_MC_GETS: - /** + /* * A memcache get for a single key is only sent to one server. * Fragmenting it would work but be less efficient. */ @@ -1306,7 +1306,7 @@ memcache_fragment_retrieval(struct msg *r, uint32_t nserver, r->nfrag = 0; r->frag_owner = r; - /** Build up the key1 key2 ... to be sent to a given server at index idx */ + /* Build up the key1 key2 ... to be sent to a given server at index idx */ for (i = 0; i < array_n(r->keys); i++) { /* for each key */ struct msg *sub_msg; struct keypos *kpos = array_get(r->keys, i); diff --git a/src/proto/nc_redis.c b/src/proto/nc_redis.c index bab08634..7d897e09 100644 --- a/src/proto/nc_redis.c +++ b/src/proto/nc_redis.c @@ -2624,7 +2624,7 @@ redis_fragment_argx(struct msg *r, uint32_t nserver, struct msg_tqh *frag_msgq, } } - /** + /* * prepend mget header, and forward the command (command type+key(s)+suffix) * to the corresponding server(s) */ From cb81d61ae3fa03a634fe331c546995ec7e3c0464 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=B9=BF=E5=8D=9A?= Date: Thu, 22 Nov 2018 11:27:00 +0800 Subject: [PATCH 20/69] FIX: increase the host length to 273 in ketama_update, check the hostlen and make sure hostlen is equal or less than KETAMA_MAX_HOSTLEN MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Amended version of https://github.com/twitter/twemproxy/pull/567 Amended to remove the trailing null byte when logging if this does truncate, which shouldn't happen in practice Co-Authored-By: Tyson Andre Co-Authored-By: 李广博 --- src/hashkit/nc_ketama.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/hashkit/nc_ketama.c b/src/hashkit/nc_ketama.c index 9d43f2b2..716c647a 100644 --- a/src/hashkit/nc_ketama.c +++ b/src/hashkit/nc_ketama.c @@ -25,7 +25,7 @@ #define KETAMA_CONTINUUM_ADDITION 10 /* # extra slots to build into continuum */ #define KETAMA_POINTS_PER_SERVER 160 /* 40 points per hash */ -#define KETAMA_MAX_HOSTLEN 86 +#define KETAMA_MAX_HOSTLEN 273 /* 273 is 255(domain or ip)+1(:)+5(port)+1(-)+10(uint32)+1(\0) */ static uint32_t ketama_hash(const char *key, size_t key_length, uint32_t alignment) @@ -178,6 +178,12 @@ ketama_update(struct server_pool *pool) hostlen = snprintf(host, KETAMA_MAX_HOSTLEN, "%.*s-%u", server->name.len, server->name.data, pointer_index - 1); + if (hostlen >= KETAMA_MAX_HOSTLEN) { + // > The generated string has a length of at most n-1, leaving space for the additional terminating null character. + // Not really important since this should never get hit in practice according to https://devblogs.microsoft.com/oldnewthing/20120412-00/?p=7873 + hostlen = KETAMA_MAX_HOSTLEN - 1; + log_error("Unexpectedly forced to truncate a hostname in ketama pool to %d characters for %.*s", KETAMA_MAX_HOSTLEN - 1, KETAMA_MAX_HOSTLEN - 1, host); + } for (x = 0; x < pointer_per_hash; x++) { value = ketama_hash(host, hostlen, x); From 25d540df70b23d6386b8870e49666d008b594651 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Wed, 30 Jun 2021 20:11:14 -0400 Subject: [PATCH 21/69] Add various unit tests and integration tests Add a `make check` script with standalone unit tests of the c functions. Source: https://github.com/ifwe/twemproxy/tree/build-nutredis This is the subset of the tests that currently pass in twitter/twemproxy --- src/Makefile.am | 30 +++- src/hashkit/nc_hashkit.h | 1 + src/hashkit/nc_ketama.c | 2 +- src/test_all.c | 241 +++++++++++++++++++++++++++++ tests/README.rst | 8 +- tests/_binaries/.gitignore | 1 + tests/conf/conf.py | 2 - tests/lib/server_modules.py | 36 ++--- tests/lib/utils.py | 6 +- tests/test_redis/common.py | 5 +- tests/test_redis/test_auth.py | 24 +-- tests/test_redis/test_basic.py | 6 +- tests/test_redis/test_commands.py | 9 +- tests/test_redis/test_mget_mset.py | 42 ++--- tests/test_redis/test_pipeline.py | 4 +- tests/test_redis/test_protocol.py | 4 - tests/test_system/test_reload.py | 8 +- travis.sh | 21 ++- 18 files changed, 375 insertions(+), 75 deletions(-) create mode 100644 src/test_all.c create mode 100644 tests/_binaries/.gitignore diff --git a/src/Makefile.am b/src/Makefile.am index 3d400c5e..8695cc60 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -9,7 +9,7 @@ AM_CPPFLAGS += -I $(top_srcdir)/src/proto AM_CPPFLAGS += -I $(top_srcdir)/src/event AM_CPPFLAGS += -I $(top_srcdir)/contrib/yaml-0.1.4/include -AM_CFLAGS = +AM_CFLAGS = # about -fno-strict-aliasing: https://github.com/twitter/twemproxy/issues/276 AM_CFLAGS += -fno-strict-aliasing AM_CFLAGS += -Wall -Wshadow @@ -58,3 +58,31 @@ nutcracker_LDADD = $(top_builddir)/src/hashkit/libhashkit.a nutcracker_LDADD += $(top_builddir)/src/proto/libproto.a nutcracker_LDADD += $(top_builddir)/src/event/libevent.a nutcracker_LDADD += $(top_builddir)/contrib/yaml-0.1.4/src/.libs/libyaml.a + +TESTS = test_all +bin_PROGRAMS = test_all + +test_all_SOURCES = test_all.c \ + nc_core.c nc_core.h \ + nc_connection.c nc_connection.h \ + nc_client.c nc_client.h \ + nc_server.c nc_server.h \ + nc_proxy.c nc_proxy.h \ + nc_message.c nc_message.h \ + nc_request.c \ + nc_response.c \ + nc_mbuf.c nc_mbuf.h \ + nc_conf.c nc_conf.h \ + nc_stats.c nc_stats.h \ + nc_signal.c nc_signal.h \ + nc_rbtree.c nc_rbtree.h \ + nc_log.c nc_log.h \ + nc_string.c nc_string.h \ + nc_array.c nc_array.h \ + nc_util.c nc_util.h \ + nc_queue.h + +test_all_LDADD = $(top_builddir)/src/hashkit/libhashkit.a +test_all_LDADD += $(top_builddir)/src/proto/libproto.a +test_all_LDADD += $(top_builddir)/src/event/libevent.a +test_all_LDADD += $(top_builddir)/contrib/yaml-0.1.4/src/.libs/libyaml.a diff --git a/src/hashkit/nc_hashkit.h b/src/hashkit/nc_hashkit.h index 544e38b5..48a59bfa 100644 --- a/src/hashkit/nc_hashkit.h +++ b/src/hashkit/nc_hashkit.h @@ -74,5 +74,6 @@ rstatus_t modula_update(struct server_pool *pool); uint32_t modula_dispatch(struct continuum *continuum, uint32_t ncontinuum, uint32_t hash); rstatus_t random_update(struct server_pool *pool); uint32_t random_dispatch(struct continuum *continuum, uint32_t ncontinuum, uint32_t hash); +uint32_t ketama_hash(const char *key, size_t key_length, uint32_t alignment); #endif diff --git a/src/hashkit/nc_ketama.c b/src/hashkit/nc_ketama.c index 716c647a..08913dea 100644 --- a/src/hashkit/nc_ketama.c +++ b/src/hashkit/nc_ketama.c @@ -27,7 +27,7 @@ #define KETAMA_POINTS_PER_SERVER 160 /* 40 points per hash */ #define KETAMA_MAX_HOSTLEN 273 /* 273 is 255(domain or ip)+1(:)+5(port)+1(-)+10(uint32)+1(\0) */ -static uint32_t +uint32_t ketama_hash(const char *key, size_t key_length, uint32_t alignment) { unsigned char results[16]; diff --git a/src/test_all.c b/src/test_all.c new file mode 100644 index 00000000..2ff2c44e --- /dev/null +++ b/src/test_all.c @@ -0,0 +1,241 @@ +#include +#include +#include +#include + +static int failures = 0; +static int successes = 0; + +static void expect_same_uint32_t(uint32_t expected, uint32_t actual, const char* message) { + if (expected != actual) { + printf("FAIL Expected %u, got %u (%s)\n", (unsigned int) expected, (unsigned int) actual, message); + failures++; + } else { + /* printf("PASS (%s)\n", message); */ + successes++; + } +} + +static void expect_same_ptr(void *expected, void *actual, const char* message) { + if (expected != actual) { + printf("FAIL Expected %p, got %p (%s)\n", expected, actual, message); + failures++; + } else { + /* printf("PASS (%s)\n", message); */ + successes++; + } +} + +static void test_hash_algorithms(void) { + /* refer to libmemcached tests/hash_results.h */ + expect_same_uint32_t(2297466611U, hash_one_at_a_time("apple", 5), "should have expected one_at_a_time hash for key \"apple\""); + expect_same_uint32_t(3195025439U, hash_md5("apple", 5), "should have expected md5 hash for key \"apple\""); + expect_same_uint32_t(3853726576U, ketama_hash("server1-8", strlen("server1-8"), 0), "should have expected ketama_hash for server1-8 index 0"); + expect_same_uint32_t(2667054752U, ketama_hash("server1-8", strlen("server1-8"), 3), "should have expected ketama_hash for server1-8 index 3"); +} + +static void test_config_parsing(void) { + char* conf_file = "../conf/nutcracker.yml"; + struct conf * conf = conf_create(conf_file); + if (conf == NULL) { + printf("FAIL could not parse %s (this test should be run within src/ folder)\n", conf_file); + failures++; + } else { + printf("PASS parsed %s\n", conf_file); + + conf_destroy(conf); + successes++; + } +} + +static void test_redis_parse_req_success_case(char* data, int expected_type) { + struct conn fake_client = {0}; + struct mbuf *m = mbuf_get(); + const int SW_START = 0; /* Same as SW_START in redis_parse_req */ + + struct msg *req = msg_get(&fake_client, 1, 1); + req->state = SW_START; + req->token = NULL; + const size_t datalen = (int)strlen(data); + + /* Copy data into the message */ + mbuf_copy(m, (uint8_t*)data, datalen); + /* Insert a single buffer into the message mbuf header */ + STAILQ_INIT(&req->mhdr); + ASSERT(STAILQ_EMPTY(&req->mhdr)); + mbuf_insert(&req->mhdr, m); + req->pos = m->start; + + redis_parse_req(req); + expect_same_ptr(m->last, req->pos, "redis_parse_req: expected req->pos to be m->last"); + expect_same_uint32_t(SW_START, req->state, "redis_parse_req: expected full buffer to be parsed"); + expect_same_uint32_t(expected_type, req->type, "redis_parse_req: expected request type to be parsed"); + expect_same_uint32_t(0, fake_client.err, "redis_parse_req: expected no connection error"); + + msg_put(req); + /* mbuf_put(m); */ +} + +/* Test support for https://redis.io/topics/protocol */ +static void test_redis_parse_req_success(void) { + /* Redis requests from clients are serialized as arrays before sending them (* is array length, $ is string length) */ + test_redis_parse_req_success_case("*2\r\n$3\r\nGET\r\n$3\r\nkey\r\n", MSG_REQ_REDIS_GET); + test_redis_parse_req_success_case("*2\r\n$4\r\nMGET\r\n$1\r\nx\r\n", MSG_REQ_REDIS_MGET); + test_redis_parse_req_success_case("*3\r\n$4\r\nMGET\r\n$1\r\nx\r\n$10\r\nabcdefghij\r\n", MSG_REQ_REDIS_MGET); + + test_redis_parse_req_success_case("*3\r\n$3\r\nSET\r\n$10\r\nkey4567890\r\n$5\r\nVALUE\r\n", MSG_REQ_REDIS_SET); + test_redis_parse_req_success_case("*2\r\n$4\r\nLLEN\r\n$6\r\nmylist\r\n", MSG_REQ_REDIS_LLEN); /* LLEN command */ + test_redis_parse_req_success_case("*1\r\n$4\r\nPING\r\n", MSG_REQ_REDIS_PING); +} + +static void test_redis_parse_rsp_success_case(char* data) { + int original_failures = failures; + struct conn fake_client = {0}; + struct mbuf *m = mbuf_get(); + const int SW_START = 0; /* Same as SW_START in redis_parse_rsp */ + + struct msg *rsp = msg_get(&fake_client, 0, 1); + rsp->state = SW_START; + rsp->token = NULL; + const size_t datalen = (int)strlen(data); + + /* Copy data into the message */ + mbuf_copy(m, (uint8_t*)data, datalen); + /* Insert a single buffer into the message mbuf header */ + STAILQ_INIT(&rsp->mhdr); + ASSERT(STAILQ_EMPTY(&rsp->mhdr)); + mbuf_insert(&rsp->mhdr, m); + rsp->pos = m->start; + + redis_parse_rsp(rsp); + expect_same_ptr(m->last, rsp->pos, "redis_parse_rsp: expected rsp->pos to be m->last"); + expect_same_uint32_t(SW_START, rsp->state, "redis_parse_rsp: expected full buffer to be parsed"); + expect_same_uint32_t(1, rsp->rnarg ? rsp->rnarg : 1, "expected remaining args to be 0 or 1"); + + msg_put(rsp); + /* mbuf_put(m); */ + if (failures > original_failures) { + fprintf(stderr, "test_redis_parse_rsp_success_case failed for %s", data); + } +} + +/* Test support for https://redis.io/topics/protocol */ +static void test_redis_parse_rsp_success(void) { + test_redis_parse_rsp_success_case("-Error message\r\n"); /* Error message */ + test_redis_parse_rsp_success_case("+OK\r\n"); /* Error message without a space */ + + test_redis_parse_rsp_success_case("$6\r\nfoobar\r\n"); /* bulk string */ + test_redis_parse_rsp_success_case("$0\r\n\r\n"); /* empty bulk string */ + test_redis_parse_rsp_success_case("$-1\r\n"); /* null value */ + test_redis_parse_rsp_success_case("*0\r\n"); /* empty array */ + test_redis_parse_rsp_success_case("*2\r\n$3\r\nfoo\r\n$3\r\nbar\r\n"); /* array with 2 bulk strings */ + test_redis_parse_rsp_success_case("*3\r\n:1\r\n:2\r\n:3\r\n"); /* array with 3 integers */ + test_redis_parse_rsp_success_case("*-1\r\n"); /* null array for BLPOP */ +} + +static void test_memcache_parse_rsp_success_case(char* data, int expected) { + struct conn fake_client = {0}; + struct mbuf *m = mbuf_get(); + const int SW_START = 0; /* Same as SW_START in memcache_parse_rsp */ + + struct msg *rsp = msg_get(&fake_client, 0, 0); + rsp->state = SW_START; + rsp->token = NULL; + const size_t datalen = (int)strlen(data); + + /* Copy data into the message */ + mbuf_copy(m, (uint8_t*)data, datalen); + /* Insert a single buffer into the message mbuf header */ + STAILQ_INIT(&rsp->mhdr); + ASSERT(STAILQ_EMPTY(&rsp->mhdr)); + mbuf_insert(&rsp->mhdr, m); + rsp->pos = m->start; + + memcache_parse_rsp(rsp); + expect_same_ptr(m->last, rsp->pos, "memcache_parse_rsp: expected rsp->pos to be m->last"); + expect_same_uint32_t(SW_START, rsp->state, "memcache_parse_rsp: expected state to be SW_START after parsing full buffer"); + expect_same_uint32_t(expected, rsp->type, "memcache_parse_rsp: expected response type to be parsed"); + expect_same_uint32_t(0, fake_client.err, "redis_parse_req: expected no connection error"); + + msg_put(rsp); + /* mbuf_put(m); */ +} + +static void test_memcache_parse_rsp_success(void) { + test_memcache_parse_rsp_success_case("END\r\n", MSG_RSP_MC_END); + test_memcache_parse_rsp_success_case("DELETED\r\n", MSG_RSP_MC_DELETED); + test_memcache_parse_rsp_success_case("TOUCHED\r\n", MSG_RSP_MC_TOUCHED); + test_memcache_parse_rsp_success_case("STORED\r\n", MSG_RSP_MC_STORED); + test_memcache_parse_rsp_success_case("EXISTS\r\n", MSG_RSP_MC_EXISTS); + test_memcache_parse_rsp_success_case("ERROR\r\n", MSG_RSP_MC_ERROR); + test_memcache_parse_rsp_success_case("NOT_FOUND\r\n", MSG_RSP_MC_NOT_FOUND); + test_memcache_parse_rsp_success_case("VALUE key 0 2\r\nab\r\nEND\r\n", MSG_RSP_MC_END); + test_memcache_parse_rsp_success_case("VALUE key 0 2\r\nab\r\nVALUE key2 0 2\r\ncd\r\nEND\r\n", MSG_RSP_MC_END); +} + +static void test_memcache_parse_req_success_case(char* data, int expected) { + struct conn fake_client = {0}; + struct mbuf *m = mbuf_get(); + const int SW_START = 0; /* Same as SW_START in memcache_parse_req */ + + struct msg *req = msg_get(&fake_client, 1, 0); + req->state = SW_START; + req->token = NULL; + const size_t datalen = (int)strlen(data); + + /* Copy data into the message */ + mbuf_copy(m, (uint8_t*)data, datalen); + /* Insert a single buffer into the message mbuf header */ + STAILQ_INIT(&req->mhdr); + ASSERT(STAILQ_EMPTY(&req->mhdr)); + mbuf_insert(&req->mhdr, m); + req->pos = m->start; + + memcache_parse_req(req); + expect_same_ptr(m->last, req->pos, "memcache_parse_req: expected req->pos to be m->last"); + expect_same_uint32_t(SW_START, req->state, "memcache_parse_req: expected state to be SW_START after parsing full buffer"); + expect_same_uint32_t(expected, req->type, "memcache_parse_req: expected response type to be parsed"); + expect_same_uint32_t(0, fake_client.err, "redis_parse_req: expected no connection error"); + + msg_put(req); + /* mbuf_put(m); */ +} + +static void test_memcache_parse_req_success(void) { + test_memcache_parse_req_success_case("get key\r\n", MSG_REQ_MC_GET); + test_memcache_parse_req_success_case("gets u\r\n", MSG_REQ_MC_GETS); + test_memcache_parse_req_success_case("get a b xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\n", MSG_REQ_MC_GET); + test_memcache_parse_req_success_case("set key 0 600 5\r\nvalue\r\n", MSG_REQ_MC_SET); + test_memcache_parse_req_success_case("set key 0 5 10 noreply\r\nvalue12345\r\n", MSG_REQ_MC_SET); + test_memcache_parse_req_success_case("add key 0 600 5\r\nvalue\r\n", MSG_REQ_MC_ADD); + test_memcache_parse_req_success_case("replace key 0 600 5\r\nvalue\r\n", MSG_REQ_MC_REPLACE); + test_memcache_parse_req_success_case("append key 0 600 5\r\nvalue\r\n", MSG_REQ_MC_APPEND); + test_memcache_parse_req_success_case("prepend key 0 600 5\r\nvalue\r\n", MSG_REQ_MC_PREPEND); + test_memcache_parse_req_success_case("cas key 0 600 5 123456\r\nvalue\r\n", MSG_REQ_MC_CAS); + test_memcache_parse_req_success_case("delete key\r\n", MSG_REQ_MC_DELETE); + test_memcache_parse_req_success_case("incr key 1\r\n", MSG_REQ_MC_INCR); + test_memcache_parse_req_success_case("quit\r\n", MSG_REQ_MC_QUIT); + test_memcache_parse_req_success_case("touch key 12345\r\n", MSG_REQ_MC_TOUCH); +} + +int main(int argc, char **argv) { + struct instance nci = {0}; + nci.mbuf_chunk_size = MBUF_SIZE; + mbuf_init(&nci); + msg_init(); + log_init(7, NULL); + + test_hash_algorithms(); + test_config_parsing(); + test_redis_parse_rsp_success(); + test_redis_parse_req_success(); + test_memcache_parse_rsp_success(); + test_memcache_parse_req_success(); + printf("%d successes, %d failures\n", successes, failures); + + msg_deinit(); + mbuf_deinit(); + log_deinit(); + + return failures > 0 ? 1 : 0; +} diff --git a/tests/README.rst b/tests/README.rst index 3505f3ca..5a4c924c 100644 --- a/tests/README.rst +++ b/tests/README.rst @@ -7,10 +7,10 @@ see https://github.com/idning/twemproxy/blob/travis-ci/travis.sh usage ===== -1. install dependency:: +1. install dependency (redis-py must be 3.0 or newer):: pip install nose - pip install git+https://github.com/andymccurdy/redis-py.git@2.10.6 + pip install git+https://github.com/andymccurdy/redis-py.git@3.5.3 pip install git+https://github.com/linsomniac/python-memcached.git#egg=memcache 2. copy binaries to _binaries/:: @@ -69,6 +69,6 @@ T_LOGFILE: notes ===== -- After all the tests. you may got a core because we have a case in test_signal which will send SEGV to nutcracker - +- After all the tests. you get a core dump because we have a case in test_signal which will send SEGV to nutcracker +- If tests are failing, you may have to `pkill` redis-server, redis-sentinel, or nutcracker diff --git a/tests/_binaries/.gitignore b/tests/_binaries/.gitignore new file mode 100644 index 00000000..72e8ffc0 --- /dev/null +++ b/tests/_binaries/.gitignore @@ -0,0 +1 @@ +* diff --git a/tests/conf/conf.py b/tests/conf/conf.py index c02f72e3..003247c1 100644 --- a/tests/conf/conf.py +++ b/tests/conf/conf.py @@ -1,5 +1,3 @@ -#coding: utf-8 - import os import sys diff --git a/tests/lib/server_modules.py b/tests/lib/server_modules.py index 758903a8..bd867abb 100644 --- a/tests/lib/server_modules.py +++ b/tests/lib/server_modules.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python3 +#!/usr/bin/env python #coding: utf-8 #file : server_modules.py #author : ning @@ -44,7 +44,7 @@ def deploy(self): mkdir -p $path/conf && \ mkdir -p $path/log && \ mkdir -p $path/data', - self.args)) + self.args)) self._pre_deploy() self._gen_control_script() @@ -62,7 +62,7 @@ def _gen_control_script(self): def start(self): if self._alive(): - logging.warn('%s already running' %(self) ) + logging.warning('%s already running' % (self)) return logging.debug('starting %s' % self) @@ -77,15 +77,15 @@ def start(self): if sleeptime < 5: sleeptime *= 2 else: - sleeptime = 5 - logging.warn('%s still not alive' % self) + sleeptime = 5.0 + logging.warning('%s still not alive' % self) t2 = time.time() - logging.info('%s start ok in %.2f seconds' %(self, t2-t1) ) + logging.info('%s start ok in %.2f seconds' %(self, t2-t1)) def stop(self): if not self._alive(): - logging.warn('%s already stop' %(self) ) + logging.warning('%s already stop' %(self)) return cmd = TT("cd $path && ./${name}_control stop", self.args) @@ -95,21 +95,21 @@ def stop(self): while self._alive(): lets_sleep() t2 = time.time() - logging.info('%s stop ok in %.2f seconds' %(self, t2-t1) ) + logging.info('%s stop ok in %.2f seconds' %(self, t2-t1)) def pid(self): cmd = TT("pgrep -f '^$runcmd'", self.args) return self._run(cmd) def status(self): - logging.warn("status: not implement") + logging.warning("status: not implement") def _alive(self): - logging.warn("_alive: not implement") + logging.warning("_alive: not implement") - def _run(self, raw_cmd, allow_failure = False): - ret = system(raw_cmd, logging.debug, allow_failure = allow_failure) - logging.debug('return : [%d] [%s] ' % (len(ret), shorten(ret)) ) + def _run(self, raw_cmd): + ret = system(raw_cmd, logging.debug) + logging.debug('return : [%d] [%s] ' % (len(ret), shorten(ret))) return ret def clean(self): @@ -127,7 +127,7 @@ def __init__(self, host, port, path, cluster_name, server_name, auth = None): Base.__init__(self, 'redis', host, port, path) self.args['startcmd'] = TT('bin/redis-server conf/redis.conf', self.args) - self.args['runcmd'] = TT('redis-server \*:$port', self.args) + self.args['runcmd'] = TT('redis-server \\*:$port', self.args) self.args['conf'] = TT('$path/conf/redis.conf', self.args) self.args['pidfile'] = TT('$path/log/redis.pid', self.args) self.args['logfile'] = TT('$path/log/redis.log', self.args) @@ -153,7 +153,7 @@ def _ping(self): cmd = TT('$REDIS_CLI -h $host -p $port PING', self.args) if self.args['auth']: cmd = TT('$REDIS_CLI -h $host -p $port -a $auth PING', self.args) - return self._run(cmd, allow_failure = True) + return self._run(cmd) def _alive(self): return strstr(self._ping(), 'PONG') @@ -207,7 +207,7 @@ def __init__(self, host, port, path, cluster_name, server_name, masters, quorum, self.down_time = down_time self.args['startcmd'] = TT('bin/redis-sentinel conf/sentinel.conf', self.args) - self.args['runcmd'] = TT('redis-sentinel \*:$port', self.args) + self.args['runcmd'] = TT('redis-sentinel \\*:$port', self.args) self.args['conf'] = TT('$path/conf/sentinel.conf', self.args) self.args['pidfile'] = TT('$path/log/sentinel.pid', self.args) self.args['logfile'] = TT('$path/log/sentinel.log', self.args) @@ -253,12 +253,12 @@ def __init__(self, host, port, path, cluster_name, server_name): def _alive(self): cmd = TT('echo "stats" | socat - TCP:$host:$port', self.args) - ret = self._run(cmd, allow_failure = True) + ret = self._run(cmd) return strstr(ret, 'END') def _pre_deploy(self): self.args['BINS'] = conf.BINARYS['MEMCACHED_BINS'] - self._run(TT('cp $BINS $path/bin/', self.args), allow_failure = True) + self._run(TT('cp $BINS $path/bin/', self.args)) class NutCracker(Base): def __init__(self, host, port, path, cluster_name, masters, mbuf=512, diff --git a/tests/lib/utils.py b/tests/lib/utils.py index 64e01b93..b27dd2e3 100644 --- a/tests/lib/utils.py +++ b/tests/lib/utils.py @@ -83,11 +83,9 @@ def json_decode(j): return json.loads(j) #commands does not work on windows.. -def system(cmd, log_fun=logging.info, allow_failure = False): +def system(cmd, log_fun=logging.info): if log_fun: log_fun(cmd) - exitcode, r = subprocess.getstatusoutput(cmd) - if exitcode and not allow_failure: - raise Exception("'{0}' failed with exit code {1}: {2}".format(cmd, exitcode, r)) + r = subprocess.getoutput(cmd) return r def shorten(s, l=80): diff --git a/tests/test_redis/common.py b/tests/test_redis/common.py index edea4d6e..6583dd51 100644 --- a/tests/test_redis/common.py +++ b/tests/test_redis/common.py @@ -37,9 +37,12 @@ def setup(): r.start() def teardown(): + all_alive = True for r in all_redis + [nc]: - assert(r._alive()) + if not r._alive(): + all_alive = False r.stop() + assert(all_alive) default_kv = {b'kkk-%d' % i : b'vvv-%d' % i for i in range(10)} diff --git a/tests/test_redis/test_auth.py b/tests/test_redis/test_auth.py index 3e4a33ee..c3f188a9 100644 --- a/tests/test_redis/test_auth.py +++ b/tests/test_redis/test_auth.py @@ -60,9 +60,9 @@ def test_auth_basic(): ] for r in conns: - assert_fail('NOAUTH|operation not permitted', r.ping) - assert_fail('NOAUTH|operation not permitted', r.set, 'k', 'v') - assert_fail('NOAUTH|operation not permitted', r.get, 'k') + assert_fail('Authentication required', r.ping) + assert_fail('Authentication required', r.set, 'k', 'v') + assert_fail('Authentication required', r.get, 'k') # bad passwd assert_fail('invalid password|WRONGPASS', r.execute_command, 'AUTH', 'badpasswd') @@ -80,11 +80,11 @@ def test_auth_basic(): try: r.ping() except Exception as e: - assert re.search('NOAUTH|operation not permitted', str(e)) + assert re.search('Authentication required', str(e)) try: r.get('k') except Exception as e: - assert re.search('NOAUTH|operation not permitted', str(e)) + assert re.search('Authentication required', str(e)) def test_nopass_on_proxy(): r = redis.Redis(nc_nopass.host(), nc_nopass.port()) @@ -92,8 +92,8 @@ def test_nopass_on_proxy(): # if you config pass on redis but not on twemproxy, # twemproxy will reply ok for ping, but once you do get/set, you will get errmsg from redis assert(r.ping() == True) - assert_fail('NOAUTH|operation not permitted', r.set, 'k', 'v') - assert_fail('NOAUTH|operation not permitted', r.get, 'k') + assert_fail('Authentication required', r.set, 'k', 'v') + assert_fail('Authentication required', r.get, 'k') # proxy has no pass, when we try to auth assert_fail('Client sent AUTH, but no password is set', r.execute_command, 'AUTH', 'anypasswd') @@ -102,16 +102,16 @@ def test_nopass_on_proxy(): def test_badpass_on_proxy(): r = redis.Redis(nc_badpass.host(), nc_badpass.port()) - assert_fail('NOAUTH|operation not permitted', r.ping) - assert_fail('NOAUTH|operation not permitted', r.set, 'k', 'v') - assert_fail('NOAUTH|operation not permitted', r.get, 'k') + assert_fail('Authentication required', r.ping) + assert_fail('Authentication required', r.set, 'k', 'v') + assert_fail('Authentication required', r.get, 'k') # we can auth with bad pass (twemproxy will say ok for this) r.execute_command('AUTH', 'badpasswd') # after that, we still got NOAUTH for get/set (return from redis-server) assert(r.ping() == True) - assert_fail('NOAUTH|operation not permitted', r.set, 'k', 'v') - assert_fail('NOAUTH|operation not permitted', r.get, 'k') + assert_fail('Authentication required', r.set, 'k', 'v') + assert_fail('Authentication required', r.get, 'k') def setup_and_wait(): time.sleep(60*60) diff --git a/tests/test_redis/test_basic.py b/tests/test_redis/test_basic.py index 1e483e44..e46216bd 100644 --- a/tests/test_redis/test_basic.py +++ b/tests/test_redis/test_basic.py @@ -15,9 +15,9 @@ def test_msetnx(): r = getconn() # https://redis.io/commands/msetnx - # MSETNX not supported when sharded? + # MSETNX is not supported because the keys can get sent to different backends, which is not supported. normalized_kv = {str(key, encoding='utf-8'): val for key, val in default_kv.items()} - assert_fail('Socket closed|Connection closed', r.msetnx,**normalized_kv) + assert_fail('Socket closed|Connection closed', r.msetnx, normalized_kv) def test_null_key(): r = getconn() @@ -28,7 +28,7 @@ def test_null_key(): assert_equal(b'', r.get('')) kv = {'' : 'val', 'k': 'v'} - ret = r.mset(**kv) + ret = r.mset(kv) assert_equal(b'val', r.get('')) def test_ping_quit(): diff --git a/tests/test_redis/test_commands.py b/tests/test_redis/test_commands.py index b48930fb..f4ed3a73 100644 --- a/tests/test_redis/test_commands.py +++ b/tests/test_redis/test_commands.py @@ -13,6 +13,13 @@ def test_linsert(): rst = r.lrange('mylist', 0, -1) assert_equal([b'Hello', b'There', b'World'], rst) +def test_exists(): + r = getconn() + + r.set('exists1', 'foo') + assert_equal(1, r.exists('exists1')) + assert_equal(0, r.exists('doesnotexist')) + def test_lpush_lrange(): r = getconn() @@ -71,7 +78,7 @@ def test_hscan_large(): def test_zscan(): r = getconn() - r.zadd('a', 'a', 1, 'b', 2, 'c', 3) + r.zadd('a', {'a': 1, 'b': 2, 'c': 3}) cursor, pairs = r.zscan('a') assert_equal(0, cursor) diff --git a/tests/test_redis/test_mget_mset.py b/tests/test_redis/test_mget_mset.py index 7ffb2774..0b6c33c9 100644 --- a/tests/test_redis/test_mget_mset.py +++ b/tests/test_redis/test_mget_mset.py @@ -205,28 +205,34 @@ def test_multi_delete_on_readonly(): assert_fail('Invalid argument', r.delete, *keys) # got "Invalid argument" def test_multi_delete_on_backend_down(): - #one backend down - all_redis[0].stop() r = redis.Redis(nc.host(), nc.port()) - - assert_fail('Connection refused|reset by peer|Broken pipe', r.delete, 'key-1') assert_equal(None, r.get('key-2')) - keys = ['key-1', 'key-2', 'kkk-3'] - assert_fail('Connection refused|reset by peer|Broken pipe', r.delete, *keys) - - #all backend down - all_redis[1].stop() - r = redis.Redis(nc.host(), nc.port()) - - assert_fail('Connection refused|reset by peer|Broken pipe', r.delete, 'key-1') - assert_fail('Connection refused|reset by peer|Broken pipe', r.delete, 'key-2') - - keys = ['key-1', 'key-2', 'kkk-3'] - assert_fail('Connection refused|reset by peer|Broken pipe', r.delete, *keys) + # one backend down + all_redis[0].stop() - for r in all_redis: - r.start() + try: + # Saw this fail in redis 6.2.2 spuriously in GitHub actions with a timeout. + # Continue to assert that subsequent commands will recover. + assert_fail('Connection refused|reset by peer|Broken pipe|Connection timed out', r.delete, 'key-1') + assert_equal(None, r.get('key-2')) + + keys = ['key-1', 'key-2', 'kkk-3'] + assert_fail('Connection refused|reset by peer|Broken pipe', r.delete, *keys) + + #all backend down + all_redis[1].stop() + r = redis.Redis(nc.host(), nc.port()) + + assert_fail('Connection refused|reset by peer|Broken pipe', r.delete, 'key-1') + assert_fail('Connection refused|reset by peer|Broken pipe', r.delete, 'key-2') + + keys = ['key-1', 'key-2', 'kkk-3'] + assert_fail('Connection refused|reset by peer|Broken pipe', r.delete, *keys) + finally: + # Start is idempotent. + for r in all_redis: + r.start() def test_multi_delete_20140525(): diff --git a/tests/test_redis/test_pipeline.py b/tests/test_redis/test_pipeline.py index 498855a8..8982934f 100644 --- a/tests/test_redis/test_pipeline.py +++ b/tests/test_redis/test_pipeline.py @@ -7,8 +7,8 @@ def test_pipeline(): pipe = r.pipeline(transaction = False) - pipe.set('a', 'a1').get('a').zadd('z', z1=1).zadd('z', z2=4) - pipe.zincrby('z', 'z1').zrange('z', 0, 5, withscores=True) + pipe.set('a', 'a1').get('a').zadd('z', {'z1': 1}).zadd('z', {'z2': 4}) + pipe.zincrby('z', 1, 'z1').zrange('z', 0, 5, withscores=True) assert_equal( [ diff --git a/tests/test_redis/test_protocol.py b/tests/test_redis/test_protocol.py index 2b79c3cb..b5aa44e0 100644 --- a/tests/test_redis/test_protocol.py +++ b/tests/test_redis/test_protocol.py @@ -42,8 +42,6 @@ def test_pingpong(): # twemproxy for redis doesn't appear to have any code to send +OK\r\n, it just disconnects. def test_quit(): - if nc.version() < '0.4.2': - return req = b'*1\r\n$4\r\nQUIT\r\n' # NOTE: Nutcracker doesn't appear to have any code to send +OK\r\n, it just disconnects. # +OK\r\n would also be valid. @@ -53,8 +51,6 @@ def test_quit(): # twemproxy for redis doesn't appear to have any code to send +OK\r\n, it just disconnects. # If it doesn't try to send anything, there's no client_err. def test_quit_without_recv(): - if nc.version() < '0.4.2': - return req = b'*1\r\n$4\r\nQUIT\r\n' resp = b'+OK\r\n' s = get_conn() diff --git a/tests/test_system/test_reload.py b/tests/test_system/test_reload.py index 076926d9..072f0b8c 100644 --- a/tests/test_system/test_reload.py +++ b/tests/test_system/test_reload.py @@ -18,6 +18,8 @@ from utils import * from nose import with_setup +# Reload support with SIGUSR1 was at one planned to be added in 0.4.2 of twitter/twemproxy but has not actually been added. +VERSION_SUPPORTING_RELOAD = '99.99.99' CLUSTER_NAME = 'ntest' nc_verbose = int(getenv('T_VERBOSE', 5)) mbuf = int(getenv('T_MBUF', 512)) @@ -58,7 +60,7 @@ def send_cmd(s, req, resp): @with_setup(_setup, _teardown) def test_reload_with_old_conf(): - if nc.version() < '0.4.2': + if nc.version() < VERSION_SUPPORTING_RELOAD: print('Ignore test_reload for version %s' % nc.version()) return pid = nc.pid() @@ -98,7 +100,7 @@ def test_reload_with_old_conf(): @with_setup(_setup, _teardown) def test_new_port(): - if nc.version() < '0.4.2': + if nc.version() < VERSION_SUPPORTING_RELOAD: print('Ignore test_reload for version %s' % nc.version()) return r = redis.Redis(nc.host(), nc.port()) @@ -127,7 +129,7 @@ def test_new_port(): @with_setup(_setup, _teardown) def test_pool_add_del(): - if nc.version() < '0.4.2': + if nc.version() < VERSION_SUPPORTING_RELOAD: print('Ignore test_reload for version %s' % nc.version()) return diff --git a/travis.sh b/travis.sh index a0af46fc..e9ec214f 100755 --- a/travis.sh +++ b/travis.sh @@ -30,10 +30,29 @@ docker build -f ci/Dockerfile \ --build-arg=REDIS_VER=$REDIS_VER \ . +# Run c unit tests +UNIT_TEST_FAIL=no +if ! docker run \ + --rm \ + -e REDIS_VER=$REDIS_VER \ + --workdir=/usr/src/twemproxy/src \ + --name=$DOCKER_IMG_NAME \ + --entrypoint=/bin/sh \ + $DOCKER_TAG \ + -c 'make test_all && ./test_all'; then + + UNIT_TEST_FAIL=yes +fi + # Run nose tests docker run \ --rm \ -e REDIS_VER=$REDIS_VER \ --name=$DOCKER_IMG_NAME \ $DOCKER_TAG \ - nosetests -v test_memcache test_system test_redis + nosetests -v test_redis test_memcache test_system + +if [ $UNIT_TEST_FAIL = yes ]; then + echo "See earlier output, unit tests failed" 1>&2 + exit 1 +fi From 0b98d99fa0e771f412d79fe3e70060bf0f8ad1ff Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Wed, 30 Jun 2021 20:26:08 -0400 Subject: [PATCH 22/69] Sync changes to Dockerfile, install redis-py 3.5.3 --- ci/Dockerfile | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/ci/Dockerfile b/ci/Dockerfile index 6e9fa5ed..05b3f1d4 100644 --- a/ci/Dockerfile +++ b/ci/Dockerfile @@ -5,13 +5,13 @@ FROM centos:7 ENV LAST_MODIFIED_DATE 2021-04-09 -# socat Allow tests to open log files -# which (used below) -# python-setuptools for pip RUN yum install -y \ https://repo.ius.io/ius-release-el7.rpm \ https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm +# socat Allow tests to open log files +# which (used below) +# python-setuptools for pip RUN yum install -y \ tar git gcc make tcl \ autoconf automake libtool wget \ @@ -23,8 +23,19 @@ RUN yum install -y \ # Install nosetest dependencies RUN pip3.6 install nose && \ - pip3.6 install 'git+https://github.com/andymccurdy/redis-py.git@2.10.6' && \ + pip3.6 install 'git+https://github.com/andymccurdy/redis-py.git@3.5.3' && \ pip3.6 install 'git+https://github.com/linsomniac/python-memcached.git@1.58' +# I can't install redis or redis-server in centos:7 (didn't add package), adding to centos 6 +# Install redis and redis sentinel, needed for unit tests +# RUN yum install -y redis redis-sentinel + +ARG REDIS_VER=3.2.11 +RUN wget https://github.com/antirez/redis/archive/$REDIS_VER.tar.gz && \ + tar zxvf $REDIS_VER.tar.gz && \ + pushd redis-$REDIS_VER && \ + make install && \ + popd && \ + rm -r redis-* # This will build and twemproxy 0.4.1 (with sflow) # Annoyingly, can't add multiple directories at once. @@ -49,18 +60,6 @@ ADD tests /usr/src/twemproxy/tests # Not installing redis utilities, since we're not running those tests. RUN mkdir tests/_binaries -p -# I can't install redis or redis-server in centos:7 (didn't add package), adding to centos 6 -# Install redis and redis sentinel, needed for unit tests -# RUN yum install -y redis redis-sentinel - -ARG REDIS_VER=3.2.13 -RUN wget https://github.com/antirez/redis/archive/$REDIS_VER.tar.gz && \ - tar zxvf $REDIS_VER.tar.gz && \ - pushd redis-$REDIS_VER && \ - make install && \ - popd && \ - rm -r redis-* - RUN ln -nsf $PWD/src/nutcracker tests/_binaries/nutcracker && \ cp `which redis-server` tests/_binaries/redis-server && \ cp `which redis-server` tests/_binaries/redis-sentinel && \ From b97f720c035d586aa75c079ed04c8af6aa0c3bf0 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Sat, 1 May 2021 16:48:37 -0400 Subject: [PATCH 23/69] Fix parsing of error message without space And add unit tests of redis messages being parsed successfully --- src/proto/nc_redis.c | 11 ++++++++--- src/test_all.c | 4 +++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/proto/nc_redis.c b/src/proto/nc_redis.c index 7d897e09..fdbb79be 100644 --- a/src/proto/nc_redis.c +++ b/src/proto/nc_redis.c @@ -1920,7 +1920,12 @@ redis_parse_rsp(struct msg *r) break; } - state = SW_RUNTO_CRLF; + if (ch == '\r') { + state = SW_ALMOST_DONE; + } else { + /* Read remaining characters until '\r' */ + state = SW_RUNTO_CRLF; + } } break; @@ -2101,9 +2106,9 @@ redis_parse_rsp(struct msg *r) * there is a special case for sscan/hscan/zscan, these command * replay a nested multi-bulk with a number and a multi bulk like this: * - * - mulit-bulk + * - multi-bulk * - cursor - * - mulit-bulk + * - multi-bulk * - val1 * - val2 * - val3 diff --git a/src/test_all.c b/src/test_all.c index 2ff2c44e..85ab1c05 100644 --- a/src/test_all.c +++ b/src/test_all.c @@ -2,6 +2,7 @@ #include #include #include +#include static int failures = 0; static int successes = 0; @@ -16,7 +17,7 @@ static void expect_same_uint32_t(uint32_t expected, uint32_t actual, const char* } } -static void expect_same_ptr(void *expected, void *actual, const char* message) { +static void expect_same_ptr(const void *expected, const void *actual, const char* message) { if (expected != actual) { printf("FAIL Expected %p, got %p (%s)\n", expected, actual, message); failures++; @@ -121,6 +122,7 @@ static void test_redis_parse_rsp_success_case(char* data) { /* Test support for https://redis.io/topics/protocol */ static void test_redis_parse_rsp_success(void) { + test_redis_parse_rsp_success_case("-CUSTOMERR\r\n"); /* Error message without a space */ test_redis_parse_rsp_success_case("-Error message\r\n"); /* Error message */ test_redis_parse_rsp_success_case("+OK\r\n"); /* Error message without a space */ From 7a4e7ada05b648c7ce096bc12654e257a86c8e91 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Wed, 30 Jun 2021 20:42:05 -0400 Subject: [PATCH 24/69] Update changelog entries --- ChangeLog | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/ChangeLog b/ChangeLog index 439b9b91..5da6dd3f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,24 @@ + 2021-??-?? Tyson Andre + * twemproxy: version 0.4.2 release (dev) + Fix parsing of redis error response for error type with no space, + add tests (tyson, tom dalton) + Update integration tests, add C unit test suite for 'make check' (tyson) + Increase the maximum host length+port+identifier to 273 + in ketama_update (李广博) + Always initialize file permissions field when listening on a unix domain + socket (tyson) + Use number of servers instead of number of points on the continuum when + sharding requests to backend services to improve sharding performance + and fix potential invalid memory access when all hosts were ejected + from a pool. (tyson) + Don't fragment memcache/redis get commands when they only have a single + key (improves performance and error handling of single key case) (tyson) + Don't let requests hang when there is a dns error when processing a + fragmented request (e.g. multiget with multiple keys) (tyson) + Allow extra parameters for redis spop (charsyam) + Update documentation and README (various) + Fix memory leak bug for redis mset (deep011) + 2015-22-06 Manju Rajashekhar * twemproxy: version 0.4.1 release backend server hostnames are resolved lazily From 77f033a4f2e29411ef2892808cad7bc807380bf6 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Thu, 15 Apr 2021 09:28:09 -0400 Subject: [PATCH 25/69] Support various commands from newer redis versions If this is approved, documentation should also be added to notes/redis.md Some commands such as EXISTS have been changed to support multiple arguments. Copied from https://github.com/ifwe/twemproxy/pull/32/files which also updates unit tests (depends on changes to the test framework) - That PR has the script used to extract updated argument counts from redis-doc's commands.json file - See https://github.com/twitter/twemproxy/pull/598 for fixing tests Related to https://github.com/twitter/twemproxy/pull/589/files --- src/nc_message.h | 44 ++++++- src/proto/nc_proto.h | 4 + src/proto/nc_redis.c | 271 ++++++++++++++++++++++++++++++++++++++++--- 3 files changed, 300 insertions(+), 19 deletions(-) diff --git a/src/nc_message.h b/src/nc_message.h index 2844c824..86b9dead 100644 --- a/src/nc_message.h +++ b/src/nc_message.h @@ -61,25 +61,33 @@ typedef enum msg_parse_result { ACTION( RSP_MC_ERROR ) /* memcache error responses */ \ ACTION( RSP_MC_CLIENT_ERROR ) \ ACTION( RSP_MC_SERVER_ERROR ) \ - ACTION( REQ_REDIS_DEL ) /* redis commands - keys */ \ + ACTION( REQ_REDIS_COPY ) /* redis commands - keys */ \ + ACTION( REQ_REDIS_DEL ) \ ACTION( REQ_REDIS_EXISTS ) \ ACTION( REQ_REDIS_EXPIRE ) \ ACTION( REQ_REDIS_EXPIREAT ) \ + ACTION( REQ_REDIS_MOVE ) \ ACTION( REQ_REDIS_PEXPIRE ) \ ACTION( REQ_REDIS_PEXPIREAT ) \ ACTION( REQ_REDIS_PERSIST ) \ ACTION( REQ_REDIS_PTTL ) \ ACTION( REQ_REDIS_SORT ) \ + ACTION( REQ_REDIS_TOUCH ) \ ACTION( REQ_REDIS_TTL ) \ ACTION( REQ_REDIS_TYPE ) \ + ACTION( REQ_REDIS_UNLINK ) \ ACTION( REQ_REDIS_APPEND ) /* redis requests - string */ \ ACTION( REQ_REDIS_BITCOUNT ) \ - ACTION( REQ_REDIS_BITPOS ) \ + ACTION( REQ_REDIS_BITFIELD ) \ + ACTION( REQ_REDIS_BITOP ) \ + ACTION( REQ_REDIS_BITPOS ) \ ACTION( REQ_REDIS_DECR ) \ ACTION( REQ_REDIS_DECRBY ) \ ACTION( REQ_REDIS_DUMP ) \ ACTION( REQ_REDIS_GET ) \ ACTION( REQ_REDIS_GETBIT ) \ + ACTION( REQ_REDIS_GETDEL ) \ + ACTION( REQ_REDIS_GETEX ) \ ACTION( REQ_REDIS_GETRANGE ) \ ACTION( REQ_REDIS_GETSET ) \ ACTION( REQ_REDIS_INCR ) \ @@ -105,14 +113,21 @@ typedef enum msg_parse_result { ACTION( REQ_REDIS_HLEN ) \ ACTION( REQ_REDIS_HMGET ) \ ACTION( REQ_REDIS_HMSET ) \ + ACTION( REQ_REDIS_HRANDFIELD ) \ ACTION( REQ_REDIS_HSET ) \ ACTION( REQ_REDIS_HSETNX ) \ ACTION( REQ_REDIS_HSCAN) \ + ACTION( REQ_REDIS_HSTRLEN) \ ACTION( REQ_REDIS_HVALS ) \ + ACTION( REQ_REDIS_BLPOP ) /* redis requests - lists (blocking) */ \ + ACTION( REQ_REDIS_BRPOP ) \ + ACTION( REQ_REDIS_BRPOPLPUSH ) \ ACTION( REQ_REDIS_LINDEX ) /* redis requests - lists */ \ ACTION( REQ_REDIS_LINSERT ) \ ACTION( REQ_REDIS_LLEN ) \ + ACTION( REQ_REDIS_LMOVE ) \ ACTION( REQ_REDIS_LPOP ) \ + ACTION( REQ_REDIS_LPOS ) \ ACTION( REQ_REDIS_LPUSH ) \ ACTION( REQ_REDIS_LPUSHX ) \ ACTION( REQ_REDIS_LRANGE ) \ @@ -133,6 +148,7 @@ typedef enum msg_parse_result { ACTION( REQ_REDIS_SINTER ) \ ACTION( REQ_REDIS_SINTERSTORE ) \ ACTION( REQ_REDIS_SISMEMBER ) \ + ACTION( REQ_REDIS_SMISMEMBER ) \ ACTION( REQ_REDIS_SMEMBERS ) \ ACTION( REQ_REDIS_SMOVE ) \ ACTION( REQ_REDIS_SPOP ) \ @@ -141,26 +157,46 @@ typedef enum msg_parse_result { ACTION( REQ_REDIS_SUNION ) \ ACTION( REQ_REDIS_SUNIONSTORE ) \ ACTION( REQ_REDIS_SSCAN) \ + ACTION( REQ_REDIS_BZPOPMIN ) /* redis requests - sorted sets (blocking) */ \ + ACTION( REQ_REDIS_BZPOPMAX ) \ ACTION( REQ_REDIS_ZADD ) /* redis requests - sorted sets */ \ ACTION( REQ_REDIS_ZCARD ) \ ACTION( REQ_REDIS_ZCOUNT ) \ + ACTION( REQ_REDIS_ZDIFF ) \ + ACTION( REQ_REDIS_ZDIFFSTORE ) \ ACTION( REQ_REDIS_ZINCRBY ) \ + ACTION( REQ_REDIS_ZINTER ) \ ACTION( REQ_REDIS_ZINTERSTORE ) \ ACTION( REQ_REDIS_ZLEXCOUNT ) \ + ACTION( REQ_REDIS_ZMSCORE ) \ + ACTION( REQ_REDIS_ZPOPMIN ) \ + ACTION( REQ_REDIS_ZPOPMAX ) \ + ACTION( REQ_REDIS_ZRANDMEMBER ) \ ACTION( REQ_REDIS_ZRANGE ) \ ACTION( REQ_REDIS_ZRANGEBYLEX ) \ ACTION( REQ_REDIS_ZRANGEBYSCORE ) \ + ACTION( REQ_REDIS_ZRANGESTORE ) \ ACTION( REQ_REDIS_ZRANK ) \ ACTION( REQ_REDIS_ZREM ) \ ACTION( REQ_REDIS_ZREMRANGEBYRANK ) \ ACTION( REQ_REDIS_ZREMRANGEBYLEX ) \ ACTION( REQ_REDIS_ZREMRANGEBYSCORE ) \ ACTION( REQ_REDIS_ZREVRANGE ) \ + ACTION( REQ_REDIS_ZREVRANGEBYLEX ) \ ACTION( REQ_REDIS_ZREVRANGEBYSCORE ) \ ACTION( REQ_REDIS_ZREVRANK ) \ + ACTION( REQ_REDIS_ZUNION ) \ + ACTION( REQ_REDIS_ZSCAN ) \ ACTION( REQ_REDIS_ZSCORE ) \ ACTION( REQ_REDIS_ZUNIONSTORE ) \ - ACTION( REQ_REDIS_ZSCAN) \ + ACTION( REQ_REDIS_GEOADD ) /* redis requests - geo */ \ + ACTION( REQ_REDIS_GEODIST ) \ + ACTION( REQ_REDIS_GEOHASH ) \ + ACTION( REQ_REDIS_GEORADIUS ) \ + ACTION( REQ_REDIS_GEORADIUSBYMEMBER ) \ + ACTION( REQ_REDIS_GEOPOS ) \ + ACTION( REQ_REDIS_GEOSEARCH) \ + ACTION( REQ_REDIS_GEOSEARCHSTORE) \ ACTION( REQ_REDIS_EVAL ) /* redis requests - eval */ \ ACTION( REQ_REDIS_EVALSHA ) \ ACTION( REQ_REDIS_PING ) /* redis requests - ping/quit */ \ @@ -276,6 +312,7 @@ void msg_put(struct msg *msg); struct msg *msg_get_error(bool redis, err_t err); void msg_dump(struct msg *msg, int level); bool msg_empty(struct msg *msg); +void msg_read_line(struct msg* msg, struct mbuf *line_buf, int line_num); rstatus_t msg_recv(struct context *ctx, struct conn *conn); rstatus_t msg_send(struct context *ctx, struct conn *conn); uint64_t msg_gen_frag_id(void); @@ -298,6 +335,7 @@ void req_client_dequeue_omsgq(struct context *ctx, struct conn *conn, struct msg void req_server_dequeue_omsgq(struct context *ctx, struct conn *conn, struct msg *msg); struct msg *req_recv_next(struct context *ctx, struct conn *conn, bool alloc); void req_recv_done(struct context *ctx, struct conn *conn, struct msg *msg, struct msg *nmsg); +struct msg *req_fake(struct context *ctx, struct conn *conn); struct msg *req_send_next(struct context *ctx, struct conn *conn); void req_send_done(struct context *ctx, struct conn *conn, struct msg *msg); diff --git a/src/proto/nc_proto.h b/src/proto/nc_proto.h index aaf7063d..7290fd0e 100644 --- a/src/proto/nc_proto.h +++ b/src/proto/nc_proto.h @@ -138,6 +138,10 @@ (str15icmp(m, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14) && \ (m[15] == c15 || m[15] == (c15 ^ 0x20))) +#define str17icmp(m, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16) \ + (str16icmp(m, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15) && \ + (m[16] == c16 || m[16] == (c16 ^ 0x20))) + void memcache_parse_req(struct msg *r); void memcache_parse_rsp(struct msg *r); bool memcache_failure(struct msg *r); diff --git a/src/proto/nc_redis.c b/src/proto/nc_redis.c index fdbb79be..33e48698 100644 --- a/src/proto/nc_redis.c +++ b/src/proto/nc_redis.c @@ -62,7 +62,6 @@ static bool redis_arg0(struct msg *r) { switch (r->type) { - case MSG_REQ_REDIS_EXISTS: case MSG_REQ_REDIS_PERSIST: case MSG_REQ_REDIS_PTTL: case MSG_REQ_REDIS_TTL: @@ -71,6 +70,7 @@ redis_arg0(struct msg *r) case MSG_REQ_REDIS_DECR: case MSG_REQ_REDIS_GET: + case MSG_REQ_REDIS_GETDEL: case MSG_REQ_REDIS_INCR: case MSG_REQ_REDIS_STRLEN: @@ -80,14 +80,12 @@ redis_arg0(struct msg *r) case MSG_REQ_REDIS_HVALS: case MSG_REQ_REDIS_LLEN: - case MSG_REQ_REDIS_LPOP: - case MSG_REQ_REDIS_RPOP: case MSG_REQ_REDIS_SCARD: case MSG_REQ_REDIS_SMEMBERS: case MSG_REQ_REDIS_ZCARD: - case MSG_REQ_REDIS_PFCOUNT: + /* TODO: Support emulating 2-arg username+password auth by just checking password? */ case MSG_REQ_REDIS_AUTH: return true; @@ -110,6 +108,7 @@ redis_arg1(struct msg *r) case MSG_REQ_REDIS_EXPIREAT: case MSG_REQ_REDIS_PEXPIRE: case MSG_REQ_REDIS_PEXPIREAT: + case MSG_REQ_REDIS_MOVE: case MSG_REQ_REDIS_APPEND: case MSG_REQ_REDIS_DECRBY: @@ -121,11 +120,10 @@ redis_arg1(struct msg *r) case MSG_REQ_REDIS_HEXISTS: case MSG_REQ_REDIS_HGET: + case MSG_REQ_REDIS_HSTRLEN: case MSG_REQ_REDIS_LINDEX: - case MSG_REQ_REDIS_LPUSHX: case MSG_REQ_REDIS_RPOPLPUSH: - case MSG_REQ_REDIS_RPUSHX: case MSG_REQ_REDIS_SISMEMBER: @@ -157,7 +155,6 @@ redis_arg2(struct msg *r) case MSG_REQ_REDIS_HINCRBY: case MSG_REQ_REDIS_HINCRBYFLOAT: - case MSG_REQ_REDIS_HSET: case MSG_REQ_REDIS_HSETNX: case MSG_REQ_REDIS_LRANGE: @@ -166,6 +163,7 @@ redis_arg2(struct msg *r) case MSG_REQ_REDIS_LTRIM: case MSG_REQ_REDIS_SMOVE: + case MSG_REQ_REDIS_BRPOPLPUSH: case MSG_REQ_REDIS_ZCOUNT: case MSG_REQ_REDIS_ZLEXCOUNT: @@ -173,8 +171,6 @@ redis_arg2(struct msg *r) case MSG_REQ_REDIS_ZREMRANGEBYLEX: case MSG_REQ_REDIS_ZREMRANGEBYRANK: case MSG_REQ_REDIS_ZREMRANGEBYSCORE: - - case MSG_REQ_REDIS_RESTORE: return true; default: @@ -193,6 +189,7 @@ redis_arg3(struct msg *r) { switch (r->type) { case MSG_REQ_REDIS_LINSERT: + case MSG_REQ_REDIS_LMOVE: return true; default: @@ -203,7 +200,7 @@ redis_arg3(struct msg *r) } /* - * Return true, if the redis command accepts 0 or more arguments, otherwise + * Return true, if the redis command operates on one key and accepts 0 or more arguments, otherwise * return false */ static bool @@ -211,18 +208,33 @@ redis_argn(struct msg *r) { switch (r->type) { case MSG_REQ_REDIS_SORT: + case MSG_REQ_REDIS_COPY: case MSG_REQ_REDIS_BITCOUNT: case MSG_REQ_REDIS_BITPOS: + case MSG_REQ_REDIS_BITFIELD: + case MSG_REQ_REDIS_BITOP: + case MSG_REQ_REDIS_EXISTS: + case MSG_REQ_REDIS_GETEX: case MSG_REQ_REDIS_SET: + case MSG_REQ_REDIS_HDEL: case MSG_REQ_REDIS_HMGET: case MSG_REQ_REDIS_HMSET: case MSG_REQ_REDIS_HSCAN: + case MSG_REQ_REDIS_HSET: + case MSG_REQ_REDIS_HRANDFIELD: + case MSG_REQ_REDIS_BLPOP: + case MSG_REQ_REDIS_BRPOP: case MSG_REQ_REDIS_LPUSH: + case MSG_REQ_REDIS_LPUSHX: case MSG_REQ_REDIS_RPUSH: + case MSG_REQ_REDIS_RPUSHX: + case MSG_REQ_REDIS_LPOP: + case MSG_REQ_REDIS_RPOP: + case MSG_REQ_REDIS_LPOS: case MSG_REQ_REDIS_SADD: case MSG_REQ_REDIS_SDIFF: @@ -235,20 +247,46 @@ redis_argn(struct msg *r) case MSG_REQ_REDIS_SRANDMEMBER: case MSG_REQ_REDIS_SSCAN: case MSG_REQ_REDIS_SPOP: + case MSG_REQ_REDIS_SMISMEMBER: case MSG_REQ_REDIS_PFADD: case MSG_REQ_REDIS_PFMERGE: + case MSG_REQ_REDIS_PFCOUNT: + + case MSG_REQ_REDIS_BZPOPMAX: + case MSG_REQ_REDIS_BZPOPMIN: case MSG_REQ_REDIS_ZADD: + case MSG_REQ_REDIS_ZDIFF: + case MSG_REQ_REDIS_ZDIFFSTORE: + case MSG_REQ_REDIS_ZINTER: case MSG_REQ_REDIS_ZINTERSTORE: + case MSG_REQ_REDIS_ZMSCORE: + case MSG_REQ_REDIS_ZPOPMAX: + case MSG_REQ_REDIS_ZPOPMIN: + case MSG_REQ_REDIS_ZRANDMEMBER: case MSG_REQ_REDIS_ZRANGE: + case MSG_REQ_REDIS_ZRANGEBYLEX: case MSG_REQ_REDIS_ZRANGEBYSCORE: + case MSG_REQ_REDIS_ZRANGESTORE: case MSG_REQ_REDIS_ZREM: case MSG_REQ_REDIS_ZREVRANGE: - case MSG_REQ_REDIS_ZRANGEBYLEX: + case MSG_REQ_REDIS_ZREVRANGEBYLEX: case MSG_REQ_REDIS_ZREVRANGEBYSCORE: - case MSG_REQ_REDIS_ZUNIONSTORE: case MSG_REQ_REDIS_ZSCAN: + case MSG_REQ_REDIS_ZUNION: + case MSG_REQ_REDIS_ZUNIONSTORE: + + case MSG_REQ_REDIS_GEODIST: + case MSG_REQ_REDIS_GEOPOS: + case MSG_REQ_REDIS_GEOHASH: + case MSG_REQ_REDIS_GEOADD: + case MSG_REQ_REDIS_GEORADIUS: + case MSG_REQ_REDIS_GEORADIUSBYMEMBER: + case MSG_REQ_REDIS_GEOSEARCH: + case MSG_REQ_REDIS_GEOSEARCHSTORE: + + case MSG_REQ_REDIS_RESTORE: return true; default: @@ -268,6 +306,8 @@ redis_argx(struct msg *r) switch (r->type) { case MSG_REQ_REDIS_MGET: case MSG_REQ_REDIS_DEL: + case MSG_REQ_REDIS_UNLINK: + case MSG_REQ_REDIS_TOUCH: return true; default: @@ -596,6 +636,11 @@ redis_parse_req(struct msg *r) break; } + if (str4icmp(m, 'l', 'p', 'o', 's')) { + r->type = MSG_REQ_REDIS_LPOS; + break; + } + if (str4icmp(m, 'l', 'r', 'e', 'm')) { r->type = MSG_REQ_REDIS_LREM; break; @@ -678,6 +723,17 @@ redis_parse_req(struct msg *r) break; } + if (str4icmp(m, 'm', 'o', 'v', 'e')) { + r->type = MSG_REQ_REDIS_MOVE; + r->noforward = 1; + break; + } + + if (str4icmp(m, 'c', 'o', 'p', 'y')) { + r->type = MSG_REQ_REDIS_COPY; + break; + } + break; case 5: @@ -756,6 +812,11 @@ redis_parse_req(struct msg *r) break; } + if (str5icmp(m, 'z', 'd', 'i', 'f', 'f')) { + r->type = MSG_REQ_REDIS_ZDIFF; + break; + } + if (str5icmp(m, 'z', 'r', 'a', 'n', 'k')) { r->type = MSG_REQ_REDIS_ZRANK; break; @@ -771,6 +832,36 @@ redis_parse_req(struct msg *r) break; } + if (str5icmp(m, 'g', 'e', 't', 'e', 'x')) { + r->type = MSG_REQ_REDIS_GETEX; + break; + } + + if (str5icmp(m, 'b', 'i', 't', 'o', 'p')) { + r->type = MSG_REQ_REDIS_BITOP; + break; + } + + if (str5icmp(m, 't', 'o', 'u', 'c', 'h')) { + r->type = MSG_REQ_REDIS_TOUCH; + break; + } + + if (str5icmp(m, 'l', 'm', 'o', 'v', 'e')) { + r->type = MSG_REQ_REDIS_LMOVE; + break; + } + + if (str5icmp(m, 'b', 'l', 'p', 'o', 'p')) { + r->type = MSG_REQ_REDIS_BLPOP; + break; + } + + if (str5icmp(m, 'b', 'r', 'p', 'o', 'p')) { + r->type = MSG_REQ_REDIS_BRPOP; + break; + } + break; case 6: @@ -879,6 +970,36 @@ redis_parse_req(struct msg *r) break; } + if (str6icmp(m, 'g', 'e', 'o', 'p', 'o', 's')) { + r->type = MSG_REQ_REDIS_GEOPOS; + break; + } + + if (str6icmp(m, 'g', 'e', 'o', 'a', 'd', 'd')) { + r->type = MSG_REQ_REDIS_GEOADD; + break; + } + + if (str6icmp(m, 'g', 'e', 't', 'd', 'e', 'l')) { + r->type = MSG_REQ_REDIS_GETDEL; + break; + } + + if (str6icmp(m, 'z', 'u', 'n', 'i', 'o', 'n')) { + r->type = MSG_REQ_REDIS_ZUNION; + break; + } + + if (str6icmp(m, 'z', 'i', 'n', 't', 'e', 'r')) { + r->type = MSG_REQ_REDIS_ZINTER; + break; + } + + if (str6icmp(m, 'u', 'n', 'l', 'i', 'n', 'k')) { + r->type = MSG_REQ_REDIS_UNLINK; + break; + } + break; case 7: @@ -937,6 +1058,36 @@ redis_parse_req(struct msg *r) break; } + if (str7icmp(m, 'z', 'm', 's', 'c', 'o', 'r', 'e')) { + r->type = MSG_REQ_REDIS_ZMSCORE; + break; + } + + if (str7icmp(m, 'z', 'p', 'o', 'p', 'm', 'i', 'n')) { + r->type = MSG_REQ_REDIS_ZPOPMIN; + break; + } + + if (str7icmp(m, 'z', 'p', 'o', 'p', 'm', 'a', 'x')) { + r->type = MSG_REQ_REDIS_ZPOPMAX; + break; + } + + if (str7icmp(m, 'g', 'e', 'o', 'd', 'i', 's', 't')) { + r->type = MSG_REQ_REDIS_GEODIST; + break; + } + + if (str7icmp(m, 'g', 'e', 'o', 'h', 'a', 's', 'h')) { + r->type = MSG_REQ_REDIS_GEOHASH; + break; + } + + if (str7icmp(m, 'h', 's', 't', 'r', 'l', 'e', 'n')) { + r->type = MSG_REQ_REDIS_HSTRLEN; + break; + } + break; case 8: @@ -970,6 +1121,21 @@ redis_parse_req(struct msg *r) break; } + if (str8icmp(m, 'b', 'i', 't', 'f', 'i', 'e', 'l', 'd')) { + r->type = MSG_REQ_REDIS_BITFIELD; + break; + } + + if (str8icmp(m, 'b', 'z', 'p', 'o', 'p', 'm', 'i', 'n')) { + r->type = MSG_REQ_REDIS_BZPOPMIN; + break; + } + + if (str8icmp(m, 'b', 'z', 'p', 'o', 'p', 'm', 'a', 'x')) { + r->type = MSG_REQ_REDIS_BZPOPMAX; + break; + } + break; case 9: @@ -998,6 +1164,16 @@ redis_parse_req(struct msg *r) break; } + if (str9icmp(m, 'g', 'e', 'o', 's', 'e', 'a', 'r', 'c', 'h')) { + r->type = MSG_REQ_REDIS_GEOSEARCH; + break; + } + + if (str9icmp(m, 'g', 'e', 'o', 'r', 'a', 'd', 'i', 'u', 's')) { + r->type = MSG_REQ_REDIS_GEORADIUS; + break; + } + break; case 10: @@ -1006,6 +1182,28 @@ redis_parse_req(struct msg *r) break; } + if (str10icmp(m, 'h', 'r', 'a', 'n', 'd', 'f', 'i', 'e', 'l', 'd')) { + r->type = MSG_REQ_REDIS_HRANDFIELD; + break; + } + + if (str10icmp(m, 's', 'm', 'i', 's', 'm', 'e', 'm', 'b', 'e', 'r')) { + r->type = MSG_REQ_REDIS_SMISMEMBER; + break; + } + + if (str10icmp(m, 'z', 'd', 'i', 'f', 'f', 's', 't', 'o', 'r', 'e')) { + r->type = MSG_REQ_REDIS_ZDIFFSTORE; + break; + } + + if (str10icmp(m, 'b', 'r', 'p', 'o', 'p', 'l', 'p', 'u', 's', 'h')) { + r->type = MSG_REQ_REDIS_BRPOPLPUSH; + break; + } + + break; + case 11: if (str11icmp(m, 'i', 'n', 'c', 'r', 'b', 'y', 'f', 'l', 'o', 'a', 't')) { r->type = MSG_REQ_REDIS_INCRBYFLOAT; @@ -1042,6 +1240,21 @@ redis_parse_req(struct msg *r) break; } + if (str11icmp(m, 'z', 'r', 'a', 'n', 'd', 'm', 'e', 'm', 'b', 'e', 'r')) { + r->type = MSG_REQ_REDIS_ZRANGEBYLEX; + break; + } + + if (str11icmp(m, 'z', 'r', 'a', 'n', 'g', 'e', 's', 't', 'o', 'r', 'e')) { + r->type = MSG_REQ_REDIS_ZRANGESTORE; + break; + } + + if (str11icmp(m, 'z', 'r', 'a', 'n', 'd', 'm', 'e', 'm', 'b', 'e', 'r')) { + r->type = MSG_REQ_REDIS_ZRANDMEMBER; + break; + } + break; case 12: @@ -1067,6 +1280,16 @@ redis_parse_req(struct msg *r) break; } + if (str14icmp(m, 'z', 'r', 'e', 'v', 'r', 'a', 'n', 'g', 'e', 'b', 'y', 'l', 'e', 'x')) { + r->type = MSG_REQ_REDIS_ZREVRANGEBYLEX; + break; + } + if (str14icmp(m, 'g', 'e', 'o', 's', 'e', 'a', 'r', 'c', 'h', 's', 't', 'o', 'r', 'e')) { + r->type = MSG_REQ_REDIS_GEOSEARCHSTORE; + break; + } + + break; case 15: @@ -1087,9 +1310,14 @@ redis_parse_req(struct msg *r) r->type = MSG_REQ_REDIS_ZREVRANGEBYSCORE; break; } - break; + case 17: + if (str17icmp(m, 'g', 'e', 'o', 'r', 'a', 'd', 'i', 'u', 's', 'b', 'y', 'm', 'e', 'm', 'b', 'e', 'r')) { + r->type = MSG_REQ_REDIS_GEORADIUSBYMEMBER; + break; + } + default: break; } @@ -2386,7 +2614,7 @@ redis_pre_coalesce(struct msg *r) switch (r->type) { case MSG_RSP_REDIS_INTEGER: /* only redis 'del' fragmented request sends back integer reply */ - ASSERT(pr->type == MSG_REQ_REDIS_DEL); + ASSERT(pr->type == MSG_REQ_REDIS_DEL || pr->type == MSG_REQ_REDIS_TOUCH || pr->type == MSG_REQ_REDIS_UNLINK); mbuf = STAILQ_FIRST(&r->mhdr); /* @@ -2648,6 +2876,12 @@ redis_fragment_argx(struct msg *r, uint32_t nserver, struct msg_tqh *frag_msgq, } else if (r->type == MSG_REQ_REDIS_MSET) { status = msg_prepend_format(sub_msg, "*%d\r\n$4\r\nmset\r\n", sub_msg->narg + 1); + } else if (r->type == MSG_REQ_REDIS_TOUCH) { + status = msg_prepend_format(sub_msg, "*%d\r\n$5\r\ntouch\r\n", + sub_msg->narg + 1); + } else if (r->type == MSG_REQ_REDIS_UNLINK) { + status = msg_prepend_format(sub_msg, "*%d\r\n$6\r\nunlink\r\n", + sub_msg->narg + 1); } else { NOT_REACHED(); } @@ -2678,8 +2912,11 @@ redis_fragment(struct msg *r, uint32_t nserver, struct msg_tqh *frag_msgq) switch (r->type) { case MSG_REQ_REDIS_MGET: case MSG_REQ_REDIS_DEL: + case MSG_REQ_REDIS_TOUCH: + case MSG_REQ_REDIS_UNLINK: return redis_fragment_argx(r, nserver, frag_msgq, 1); + /* TODO: MSETNX - instead of responding with OK, respond with 1 if all fragments respond with 1 */ case MSG_REQ_REDIS_MSET: return redis_fragment_argx(r, nserver, frag_msgq, 2); @@ -2729,7 +2966,7 @@ redis_post_coalesce_mset(struct msg *request) } void -redis_post_coalesce_del(struct msg *request) +redis_post_coalesce_del_or_touch(struct msg *request) { struct msg *response = request->peer; rstatus_t status; @@ -2796,7 +3033,9 @@ redis_post_coalesce(struct msg *r) return redis_post_coalesce_mget(r); case MSG_REQ_REDIS_DEL: - return redis_post_coalesce_del(r); + case MSG_REQ_REDIS_TOUCH: + case MSG_REQ_REDIS_UNLINK: + return redis_post_coalesce_del_or_touch(r); case MSG_REQ_REDIS_MSET: return redis_post_coalesce_mset(r); From 4b81d66ce66803a696547830a7aab18e3984da75 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Thu, 15 Apr 2021 20:29:42 -0400 Subject: [PATCH 26/69] Remove BITOP operation destkey key ..., add missing command parser nutredis currently only supports keys for sharding in the first position. That can be fixed but using `operation` is wrong Leave more complicated implementations for subsequent PRs --- src/nc_message.h | 1 - src/proto/nc_redis.c | 9 ++------- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/src/nc_message.h b/src/nc_message.h index 86b9dead..af424ad8 100644 --- a/src/nc_message.h +++ b/src/nc_message.h @@ -79,7 +79,6 @@ typedef enum msg_parse_result { ACTION( REQ_REDIS_APPEND ) /* redis requests - string */ \ ACTION( REQ_REDIS_BITCOUNT ) \ ACTION( REQ_REDIS_BITFIELD ) \ - ACTION( REQ_REDIS_BITOP ) \ ACTION( REQ_REDIS_BITPOS ) \ ACTION( REQ_REDIS_DECR ) \ ACTION( REQ_REDIS_DECRBY ) \ diff --git a/src/proto/nc_redis.c b/src/proto/nc_redis.c index 33e48698..af746bfc 100644 --- a/src/proto/nc_redis.c +++ b/src/proto/nc_redis.c @@ -213,7 +213,7 @@ redis_argn(struct msg *r) case MSG_REQ_REDIS_BITCOUNT: case MSG_REQ_REDIS_BITPOS: case MSG_REQ_REDIS_BITFIELD: - case MSG_REQ_REDIS_BITOP: + /* TODO: Support REDIS_BITOP operation destkey key ... and add tests - this requires handling key in a position other than the first one */ case MSG_REQ_REDIS_EXISTS: case MSG_REQ_REDIS_GETEX: @@ -837,11 +837,6 @@ redis_parse_req(struct msg *r) break; } - if (str5icmp(m, 'b', 'i', 't', 'o', 'p')) { - r->type = MSG_REQ_REDIS_BITOP; - break; - } - if (str5icmp(m, 't', 'o', 'u', 'c', 'h')) { r->type = MSG_REQ_REDIS_TOUCH; break; @@ -1241,7 +1236,7 @@ redis_parse_req(struct msg *r) } if (str11icmp(m, 'z', 'r', 'a', 'n', 'd', 'm', 'e', 'm', 'b', 'e', 'r')) { - r->type = MSG_REQ_REDIS_ZRANGEBYLEX; + r->type = MSG_REQ_REDIS_ZRANDMEMBER; break; } From c71cb037332a644f056571b3bf8ac6fb18abf13e Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Fri, 16 Apr 2021 09:00:47 -0400 Subject: [PATCH 27/69] Update docs --- notes/redis.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/notes/redis.md b/notes/redis.md index 1f5fefea..a1f2d529 100644 --- a/notes/redis.md +++ b/notes/redis.md @@ -81,7 +81,7 @@ +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ | MGET | Yes | MGET key [key ...] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | MSET | Yes* | MSET key value [key value ...] | + | MSET | Yes* | MSET key value [key value ...] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ | MSETNX | No | MSETNX key value [key value ...] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ @@ -100,7 +100,7 @@ | STRLEN | Yes | STRLEN key | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ -* MSET support is not Atomic +* MSET support is not Atomic ### Hashes @@ -222,7 +222,7 @@ +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ | Command | Supported? | Format | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | ZADD | Yes | ZADD key score member [score] [member] | + | ZADD | Yes | ZADD key [NX|XX] [GT|LT] [CH] [INCR] score member [score member ...] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ | ZCARD | Yes | ZCARD key | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ @@ -399,7 +399,7 @@ ## Note - redis commands are not case sensitive -- only vectored commands 'MGET key [key ...]', 'MSET key value [key value ...]', 'DEL key [key ...]' needs to be fragmented +- only vectored commands 'MGET key [key ...]', 'MSET key value [key value ...]', 'DEL key [key ...]', 'UNLINK key [key ...]', 'EXISTS key [key ...]' needs to be fragmented ## Performance @@ -458,6 +458,6 @@ + notice: + *MUST* set all redis with a same passwd, and all twemproxy with the same passwd - + Length of password should less than 256 + + Length of password should be less than 256 From f08bcfc6c192b0e2c93b72da663d88fe9caaf842 Mon Sep 17 00:00:00 2001 From: qingping209 Date: Sat, 1 May 2021 17:05:26 -0400 Subject: [PATCH 28/69] Make twemproxy able to parse nested multibulks i.e. the response of georadiuswithcoord. This is achieved by introducing a small stack in struct msg, this stack remembers the number of arguments to be parsed of current multibulk and all nesting multibulks. Co-Authored-By: qingping209 Co-Authored-By: Tyson Andre This is a subset of https://github.com/twitter/twemproxy/pull/565 (only the multibulk implementation changes by qingping209) --- src/nc_message.c | 2 ++ src/nc_message.h | 4 ++++ src/proto/nc_redis.c | 51 +++++++++++++++++++++++++++++++++++++++----- 3 files changed, 52 insertions(+), 5 deletions(-) diff --git a/src/nc_message.c b/src/nc_message.c index abfe8bc5..4f29a046 100644 --- a/src/nc_message.c +++ b/src/nc_message.c @@ -255,6 +255,8 @@ _msg_get(void) msg->narg_end = NULL; msg->narg = 0; msg->rnarg = 0; + memset(msg->stack, 0, sizeof(msg->stack)); + msg->nested_depth = 0; msg->rlen = 0; msg->integer = 0; diff --git a/src/nc_message.h b/src/nc_message.h index af424ad8..7b040945 100644 --- a/src/nc_message.h +++ b/src/nc_message.h @@ -20,6 +20,8 @@ #include +#define MAXDEPTH 4 + typedef void (*msg_parse_t)(struct msg *); typedef rstatus_t (*msg_add_auth_t)(struct context *ctx, struct conn *c_conn, struct conn *s_conn); typedef rstatus_t (*msg_fragment_t)(struct msg *, uint32_t, struct msg_tqh *); @@ -275,6 +277,8 @@ struct msg { uint8_t *narg_end; /* narg end (redis) */ uint32_t narg; /* # arguments (redis) */ uint32_t rnarg; /* running # arg used by parsing fsa (redis) */ + uint32_t stack[MAXDEPTH]; /* stack to save rnarg of nesting multibulks */ + uint8_t nested_depth; /* the depth of the current nested multibulk */ uint32_t rlen; /* running length in parsing fsa (redis) */ uint32_t integer; /* integer reply value (redis) */ diff --git a/src/proto/nc_redis.c b/src/proto/nc_redis.c index af746bfc..21fe3825 100644 --- a/src/proto/nc_redis.c +++ b/src/proto/nc_redis.c @@ -1943,6 +1943,7 @@ redis_parse_rsp(struct msg *r) struct mbuf *b; uint8_t *p, *m; uint8_t ch; + int depth; enum { SW_START, @@ -2161,8 +2162,9 @@ redis_parse_rsp(struct msg *r) case SW_SIMPLE: if (ch == CR) { - state = SW_MULTIBULK_ARGN_LF; - r->rnarg--; + r->rnarg--; + r->stack[r->nested_depth-1]--; + state = SW_MULTIBULK_ARGN_LF; } break; @@ -2279,8 +2281,18 @@ redis_parse_rsp(struct msg *r) /* rsp_start <- p */ r->narg_start = p; r->rnarg = 0; + r->nested_depth++; + + if (r->nested_depth > MAXDEPTH) { + log_debug(LOG_ERR, "only support %d levels of multibulk", MAXDEPTH); + goto error; + } } else if (ch == '-') { - state = SW_RUNTO_CRLF; + p = p-1; + r->token = NULL; + r->rnarg = 1; + r->stack[r->nested_depth-1] = r->rnarg; + state = SW_MULTIBULK_ARGN_LEN; } else if (isdigit(ch)) { r->rnarg = r->rnarg * 10 + (uint32_t)(ch - '0'); } else if (ch == CR) { @@ -2291,6 +2303,8 @@ redis_parse_rsp(struct msg *r) r->narg = r->rnarg; r->narg_end = p; r->token = NULL; + + r->stack[r->nested_depth-1] = r->narg; state = SW_MULTIBULK_NARG_LF; } else { goto error; @@ -2303,7 +2317,17 @@ redis_parse_rsp(struct msg *r) case LF: if (r->rnarg == 0) { /* response is '*0\r\n' */ - goto done; + if (r->nested_depth == 1) { + goto done; + } else { + log_debug(LOG_VVVERB, + "multibulk support@end of a nested empty bulk %d %d %s", + r->nested_depth, r->stack[r->nested_depth-1], p); + + p = p - 1; + state = SW_MULTIBULK_ARGN_LF; + break; + } } state = SW_MULTIBULK_ARGN_LEN; @@ -2377,6 +2401,7 @@ redis_parse_rsp(struct msg *r) } r->rnarg--; r->token = NULL; + r->stack[r->nested_depth-1]--; } else { goto error; } @@ -2418,7 +2443,23 @@ redis_parse_rsp(struct msg *r) case SW_MULTIBULK_ARGN_LF: switch (ch) { case LF: - if (r->rnarg == 0) { + log_debug(LOG_VVVERB, + "multibulk support@the end of the bulk: %d %d %s", + r->nested_depth, r->stack[r->nested_depth-1], p); + + depth = r->nested_depth; + while (depth > 1 && r->stack[depth-1] == 0) { + depth--; + r->stack[depth-1]--; + r->nested_depth = depth; + r->rnarg = r->stack[depth-1]; + + log_debug(LOG_VVVERB, + "multibulk support@the end of a nested multibulk: %d %d %s", + r->nested_depth, r->stack[r->nested_depth-1], p); + } + + if (r->stack[0] == 0) { goto done; } From f3876579518eae632fddf17cc247836cf7f4144b Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Sat, 1 May 2021 17:08:08 -0400 Subject: [PATCH 29/69] Add c unit test of multi-bulk result parsing --- src/test_all.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/test_all.c b/src/test_all.c index 85ab1c05..9d2836be 100644 --- a/src/test_all.c +++ b/src/test_all.c @@ -133,6 +133,18 @@ static void test_redis_parse_rsp_success(void) { test_redis_parse_rsp_success_case("*2\r\n$3\r\nfoo\r\n$3\r\nbar\r\n"); /* array with 2 bulk strings */ test_redis_parse_rsp_success_case("*3\r\n:1\r\n:2\r\n:3\r\n"); /* array with 3 integers */ test_redis_parse_rsp_success_case("*-1\r\n"); /* null array for BLPOP */ + /* + * Test support for parsing arrays of arrays. + * They can be returned by COMMAND, EVAL, etc. + */ + test_redis_parse_rsp_success_case("*2\r\n" + "*3\r\n" + ":1\r\n" + ":2\r\n" + ":3\r\n" + "*2\r\n" + "+Foo\r\n" + "-Bar\r\n"); /* array of 2 arrays */ } static void test_memcache_parse_rsp_success_case(char* data, int expected) { From 621e7d6eff9878bab4e2db45874821c78d44c579 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Wed, 30 Jun 2021 21:33:03 -0400 Subject: [PATCH 30/69] Support arbitrarily nested redis multibulks This amends the approach originally proposed in https://github.com/twitter/twemproxy/pull/565 We don't need to keep a stack, we only need to keep track of how many more remaining elements need to be parsed from the redis response, decreasing it when an element is processed, and increasing it when a new redis array is seen based on the array length --- src/nc_message.c | 6 +- src/nc_message.h | 5 +- src/proto/nc_redis.c | 123 ++++++++++++++++----------------- tests/test_redis/test_basic.py | 3 + 4 files changed, 70 insertions(+), 67 deletions(-) diff --git a/src/nc_message.c b/src/nc_message.c index 4f29a046..62fd0b72 100644 --- a/src/nc_message.c +++ b/src/nc_message.c @@ -255,9 +255,11 @@ _msg_get(void) msg->narg_end = NULL; msg->narg = 0; msg->rnarg = 0; - memset(msg->stack, 0, sizeof(msg->stack)); - msg->nested_depth = 0; msg->rlen = 0; + /* + * This is used for both parsing redis responses + * and as a counter for coalescing responses such as DEL + */ msg->integer = 0; msg->err = 0; diff --git a/src/nc_message.h b/src/nc_message.h index 7b040945..598c98ba 100644 --- a/src/nc_message.h +++ b/src/nc_message.h @@ -275,12 +275,11 @@ struct msg { uint8_t *narg_start; /* narg start (redis) */ uint8_t *narg_end; /* narg end (redis) */ - uint32_t narg; /* # arguments (redis) */ + uint32_t narg; /* # arguments (redis, memcache) */ uint32_t rnarg; /* running # arg used by parsing fsa (redis) */ - uint32_t stack[MAXDEPTH]; /* stack to save rnarg of nesting multibulks */ - uint8_t nested_depth; /* the depth of the current nested multibulk */ uint32_t rlen; /* running length in parsing fsa (redis) */ uint32_t integer; /* integer reply value (redis) */ + uint32_t is_top_level; /* is this top level (redis) */ struct msg *frag_owner; /* owner of fragment message */ uint32_t nfrag; /* # fragment */ diff --git a/src/proto/nc_redis.c b/src/proto/nc_redis.c index 21fe3825..5c7a907a 100644 --- a/src/proto/nc_redis.c +++ b/src/proto/nc_redis.c @@ -466,17 +466,23 @@ redis_parse_req(struct msg *r) switch (state) { case SW_START: + ASSERT(r->token == NULL); + if (ch != '*') { + /* redis commands are always arrays */ + goto error; + } + r->token = p; + /* req_start <- p */ + r->narg_start = p; + r->rnarg = 0; + state = SW_NARG; + + break; + case SW_NARG: - if (r->token == NULL) { - if (ch != '*') { - goto error; - } - r->token = p; - /* req_start <- p */ - r->narg_start = p; - r->rnarg = 0; - state = SW_NARG; - } else if (isdigit(ch)) { + /* SW_NARG: The number of arguments in the redis command array */ + ASSERT(r->token != NULL); + if (isdigit(ch)) { r->rnarg = r->rnarg * 10 + (uint32_t)(ch - '0'); } else if (ch == CR) { if (r->rnarg == 0) { @@ -1318,11 +1324,11 @@ redis_parse_req(struct msg *r) } if (r->type == MSG_UNKNOWN) { - log_error("parsed unsupported command '%.*s'", p - m, m); + log_error("parsed unsupported command '%.*s'", (int)(p - m), m); goto error; } - log_debug(LOG_VERB, "parsed command '%.*s'", p - m, m); + log_debug(LOG_VERB, "parsed command '%.*s'", (int)(p - m), m); state = SW_REQ_TYPE_LF; break; @@ -1331,6 +1337,10 @@ redis_parse_req(struct msg *r) switch (ch) { case LF: if (redis_argz(r)) { + if (r->narg != 1) { + /* It's an error to provide more than one argument. */ + goto error; + } goto done; } else if (r->narg == 1) { goto error; @@ -1360,7 +1370,7 @@ redis_parse_req(struct msg *r) if (r->rlen >= mbuf_data_size()) { log_error("parsed bad req %"PRIu64" of type %d with key " "length %d that greater than or equal to maximum" - " redis key length of %d", r->id, r->type, + " redis key length of %zu", r->id, r->type, r->rlen, mbuf_data_size()); goto error; } @@ -1874,7 +1884,7 @@ redis_parse_req(struct msg *r) log_hexdump(LOG_VERB, b->pos, mbuf_length(b), "parsed req %"PRIu64" res %d " "type %d state %d rpos %d of %d", r->id, r->result, r->type, - r->state, r->pos - b->pos, b->last - b->pos); + r->state, (int)(r->pos - b->pos), (int)(b->last - b->pos)); return; done: @@ -1887,7 +1897,7 @@ redis_parse_req(struct msg *r) log_hexdump(LOG_VERB, b->pos, mbuf_length(b), "parsed req %"PRIu64" res %d " "type %d state %d rpos %d of %d", r->id, r->result, r->type, - r->state, r->pos - b->pos, b->last - b->pos); + r->state, (int)(r->pos - b->pos), (int)(b->last - b->pos)); return; enomem: @@ -1943,7 +1953,6 @@ redis_parse_rsp(struct msg *r) struct mbuf *b; uint8_t *p, *m; uint8_t ch; - int depth; enum { SW_START, @@ -1985,6 +1994,9 @@ redis_parse_rsp(struct msg *r) switch (state) { case SW_START: r->type = MSG_UNKNOWN; + r->rnarg = 1; + r->is_top_level = 1; + switch (ch) { case '+': p = p - 1; /* go back by 1 byte */ @@ -2162,8 +2174,8 @@ redis_parse_rsp(struct msg *r) case SW_SIMPLE: if (ch == CR) { + ASSERT(r->rnarg > 0); r->rnarg--; - r->stack[r->nested_depth-1]--; state = SW_MULTIBULK_ARGN_LF; } break; @@ -2205,6 +2217,11 @@ redis_parse_rsp(struct msg *r) break; case SW_BULK: + /* + * SW_BULK is used for top-level bulk string replies. + * Within an array, SW_MULTIBULK_ARG... helpers are used + * to parse bulk strings instead. + */ if (r->token == NULL) { if (ch != '$') { goto error; @@ -2277,34 +2294,42 @@ redis_parse_rsp(struct msg *r) if (ch != '*') { goto error; } + r->vlen = 0; r->token = p; /* rsp_start <- p */ - r->narg_start = p; - r->rnarg = 0; - r->nested_depth++; - - if (r->nested_depth > MAXDEPTH) { - log_debug(LOG_ERR, "only support %d levels of multibulk", MAXDEPTH); - goto error; + if (r->is_top_level) { + r->narg_start = p; } } else if (ch == '-') { p = p-1; r->token = NULL; - r->rnarg = 1; - r->stack[r->nested_depth-1] = r->rnarg; + /* + * This is a null array (e.g. from BLPOP). Don't increment rnarg + * https://redis.io/topics/protocol + */ + r->vlen = 1; state = SW_MULTIBULK_ARGN_LEN; } else if (isdigit(ch)) { - r->rnarg = r->rnarg * 10 + (uint32_t)(ch - '0'); + r->vlen = r->vlen * 10 + (uint32_t)(ch - '0'); } else if (ch == CR) { if ((p - r->token) <= 1) { goto error; } - r->narg = r->rnarg; - r->narg_end = p; + if (r->is_top_level) { + /* For multiget responses, we may need to know the number of responses to combine them. */ + r->narg = r->vlen; + r->narg_end = p; + } + r->is_top_level = 0; + ASSERT(r->rnarg > 0); + r->rnarg += r->vlen - 1; r->token = NULL; - r->stack[r->nested_depth-1] = r->narg; + /* + * The stack is always initialized before transitioning + * to another state. + */ state = SW_MULTIBULK_NARG_LF; } else { goto error; @@ -2317,17 +2342,7 @@ redis_parse_rsp(struct msg *r) case LF: if (r->rnarg == 0) { /* response is '*0\r\n' */ - if (r->nested_depth == 1) { - goto done; - } else { - log_debug(LOG_VVVERB, - "multibulk support@end of a nested empty bulk %d %d %s", - r->nested_depth, r->stack[r->nested_depth-1], p); - - p = p - 1; - state = SW_MULTIBULK_ARGN_LF; - break; - } + goto done; } state = SW_MULTIBULK_ARGN_LEN; @@ -2399,9 +2414,9 @@ redis_parse_rsp(struct msg *r) } else { state = SW_MULTIBULK_ARGN_LEN_LF; } + ASSERT(r->rnarg > 0); r->rnarg--; r->token = NULL; - r->stack[r->nested_depth-1]--; } else { goto error; } @@ -2443,23 +2458,7 @@ redis_parse_rsp(struct msg *r) case SW_MULTIBULK_ARGN_LF: switch (ch) { case LF: - log_debug(LOG_VVVERB, - "multibulk support@the end of the bulk: %d %d %s", - r->nested_depth, r->stack[r->nested_depth-1], p); - - depth = r->nested_depth; - while (depth > 1 && r->stack[depth-1] == 0) { - depth--; - r->stack[depth-1]--; - r->nested_depth = depth; - r->rnarg = r->stack[depth-1]; - - log_debug(LOG_VVVERB, - "multibulk support@the end of a nested multibulk: %d %d %s", - r->nested_depth, r->stack[r->nested_depth-1], p); - } - - if (r->stack[0] == 0) { + if (r->rnarg == 0) { goto done; } @@ -2493,7 +2492,7 @@ redis_parse_rsp(struct msg *r) log_hexdump(LOG_VERB, b->pos, mbuf_length(b), "parsed rsp %"PRIu64" res %d " "type %d state %d rpos %d of %d", r->id, r->result, r->type, - r->state, r->pos - b->pos, b->last - b->pos); + r->state, (int)(r->pos - b->pos), (int)(b->last - b->pos)); return; done: @@ -2506,7 +2505,7 @@ redis_parse_rsp(struct msg *r) log_hexdump(LOG_VERB, b->pos, mbuf_length(b), "parsed rsp %"PRIu64" res %d " "type %d state %d rpos %d of %d", r->id, r->result, r->type, - r->state, r->pos - b->pos, b->last - b->pos); + r->state, (int)(r->pos - b->pos), (int)(b->last - b->pos)); return; error: @@ -2677,7 +2676,7 @@ redis_pre_coalesce(struct msg *r) /* * Muti-bulk reply can span over multiple mbufs and in each reply * we should skip over the narg token. Our response parser - * guarantees thaat the narg token and the immediately following + * guarantees that the narg token and the immediately following * '\r\n' will exist in a contiguous region in the first mbuf */ ASSERT(r->narg_start == mbuf->pos); diff --git a/tests/test_redis/test_basic.py b/tests/test_redis/test_basic.py index e46216bd..632dfd6d 100644 --- a/tests/test_redis/test_basic.py +++ b/tests/test_redis/test_basic.py @@ -140,6 +140,9 @@ def test_issue_323(): c = getconn() assert_equal([1, b'OK'], c.eval("return {1, redis.call('set', 'x', '1')}", 1, 'tmp')) + # Test processing deeply nested multibulk responses + assert_equal([[[[[[[[[[[[[[[[[[[[b'value']]]]]]]]]]]]]]]]]]], b'other'], c.eval("return {{{{{{{{{{{{{{{{{{{{'value'}}}}}}}}}}}}}}}}}}}, 'other'}", 1, 'tmp')) + def setup_and_wait(): time.sleep(60*60) From 523348f69111a220f4dc2bb4fef87ff130ba2b88 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Wed, 30 Jun 2021 21:48:39 -0400 Subject: [PATCH 31/69] Update the changelog --- ChangeLog | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ChangeLog b/ChangeLog index 5da6dd3f..8acb6147 100644 --- a/ChangeLog +++ b/ChangeLog @@ -18,6 +18,8 @@ Allow extra parameters for redis spop (charsyam) Update documentation and README (various) Fix memory leak bug for redis mset (deep011) + Support arbitrarily deep nested redis multi-bulk + responses (nested arrays) (qingping209, tyson) 2015-22-06 Manju Rajashekhar * twemproxy: version 0.4.1 release From 7e131f825e6d8605f7ce27e702079429592d8f04 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Wed, 30 Jun 2021 22:31:06 -0400 Subject: [PATCH 32/69] Followup for new redis commands and multibulk support Revert the addition of blocking commands - making them a compilation option is probably a poor way to distribute it. Support `COMMAND` (used by redis-cli) and a placeholder no-argument command forwarded to a random server. --- src/nc_message.h | 16 +++---- src/proto/nc_redis.c | 101 ++++++++++++++++++++++++++----------------- 2 files changed, 69 insertions(+), 48 deletions(-) diff --git a/src/nc_message.h b/src/nc_message.h index 598c98ba..ffb39004 100644 --- a/src/nc_message.h +++ b/src/nc_message.h @@ -19,8 +19,7 @@ #define _NC_MESSAGE_H_ #include - -#define MAXDEPTH 4 +#include typedef void (*msg_parse_t)(struct msg *); typedef rstatus_t (*msg_add_auth_t)(struct context *ctx, struct conn *c_conn, struct conn *s_conn); @@ -120,9 +119,6 @@ typedef enum msg_parse_result { ACTION( REQ_REDIS_HSCAN) \ ACTION( REQ_REDIS_HSTRLEN) \ ACTION( REQ_REDIS_HVALS ) \ - ACTION( REQ_REDIS_BLPOP ) /* redis requests - lists (blocking) */ \ - ACTION( REQ_REDIS_BRPOP ) \ - ACTION( REQ_REDIS_BRPOPLPUSH ) \ ACTION( REQ_REDIS_LINDEX ) /* redis requests - lists */ \ ACTION( REQ_REDIS_LINSERT ) \ ACTION( REQ_REDIS_LLEN ) \ @@ -158,8 +154,6 @@ typedef enum msg_parse_result { ACTION( REQ_REDIS_SUNION ) \ ACTION( REQ_REDIS_SUNIONSTORE ) \ ACTION( REQ_REDIS_SSCAN) \ - ACTION( REQ_REDIS_BZPOPMIN ) /* redis requests - sorted sets (blocking) */ \ - ACTION( REQ_REDIS_BZPOPMAX ) \ ACTION( REQ_REDIS_ZADD ) /* redis requests - sorted sets */ \ ACTION( REQ_REDIS_ZCARD ) \ ACTION( REQ_REDIS_ZCOUNT ) \ @@ -204,6 +198,8 @@ typedef enum msg_parse_result { ACTION( REQ_REDIS_QUIT) \ ACTION( REQ_REDIS_AUTH) \ ACTION( REQ_REDIS_SELECT) /* only during init */ \ + ACTION( REQ_REDIS_COMMAND) /* Sent to random server for redis-cli completions*/ \ + ACTION( REQ_REDIS_LOLWUT) /* Vitally important */ \ ACTION( RSP_REDIS_STATUS ) /* redis response */ \ ACTION( RSP_REDIS_ERROR ) \ ACTION( RSP_REDIS_ERROR_ERR ) \ @@ -236,6 +232,10 @@ struct keypos { uint8_t *end; /* key end pos */ }; +/* + * This represents a message with a list of mbufs + * that can be a redis/memcache request/response/error response. + */ struct msg { TAILQ_ENTRY(msg) c_tqe; /* link in client q */ TAILQ_ENTRY(msg) s_tqe; /* link in server q */ @@ -279,7 +279,7 @@ struct msg { uint32_t rnarg; /* running # arg used by parsing fsa (redis) */ uint32_t rlen; /* running length in parsing fsa (redis) */ uint32_t integer; /* integer reply value (redis) */ - uint32_t is_top_level; /* is this top level (redis) */ + uint8_t is_top_level; /* is this top level (redis) */ struct msg *frag_owner; /* owner of fragment message */ uint32_t nfrag; /* # fragment */ diff --git a/src/proto/nc_redis.c b/src/proto/nc_redis.c index 5c7a907a..85c9858e 100644 --- a/src/proto/nc_redis.c +++ b/src/proto/nc_redis.c @@ -43,8 +43,10 @@ static bool redis_argz(struct msg *r) { switch (r->type) { + /* TODO: PING has an optional argument, emulate that? */ case MSG_REQ_REDIS_PING: case MSG_REQ_REDIS_QUIT: + case MSG_REQ_REDIS_COMMAND: return true; default: @@ -163,7 +165,6 @@ redis_arg2(struct msg *r) case MSG_REQ_REDIS_LTRIM: case MSG_REQ_REDIS_SMOVE: - case MSG_REQ_REDIS_BRPOPLPUSH: case MSG_REQ_REDIS_ZCOUNT: case MSG_REQ_REDIS_ZLEXCOUNT: @@ -226,8 +227,6 @@ redis_argn(struct msg *r) case MSG_REQ_REDIS_HSET: case MSG_REQ_REDIS_HRANDFIELD: - case MSG_REQ_REDIS_BLPOP: - case MSG_REQ_REDIS_BRPOP: case MSG_REQ_REDIS_LPUSH: case MSG_REQ_REDIS_LPUSHX: case MSG_REQ_REDIS_RPUSH: @@ -253,9 +252,6 @@ redis_argn(struct msg *r) case MSG_REQ_REDIS_PFMERGE: case MSG_REQ_REDIS_PFCOUNT: - case MSG_REQ_REDIS_BZPOPMAX: - case MSG_REQ_REDIS_BZPOPMIN: - case MSG_REQ_REDIS_ZADD: case MSG_REQ_REDIS_ZDIFF: case MSG_REQ_REDIS_ZDIFFSTORE: @@ -356,6 +352,20 @@ redis_argeval(struct msg *r) return false; } +static bool +redis_nokey(struct msg *r) +{ + switch (r->type) { + case MSG_REQ_REDIS_LOLWUT: + return true; + + default: + break; + } + + return false; +} + /* * Return true, if the redis response is an error response i.e. a simple * string whose first character is '-', otherwise return false. @@ -387,6 +397,24 @@ redis_error(struct msg *r) return false; } +/* + * Set a placeholder key for a command with no key that is forwarded to an + * arbitrary backend. + */ +static bool +set_placeholder_key(struct msg *r) +{ + struct keypos *kpos; + ASSERT(array_n(r->keys) == 0); + kpos = array_push(r->keys); + if (kpos == NULL) { + return false; + } + kpos->start = (uint8_t *)"placeholder"; + kpos->end = kpos->start + sizeof("placeholder") - 1; + return true; +} + /* * Reference: http://redis.io/topics/protocol * @@ -853,16 +881,6 @@ redis_parse_req(struct msg *r) break; } - if (str5icmp(m, 'b', 'l', 'p', 'o', 'p')) { - r->type = MSG_REQ_REDIS_BLPOP; - break; - } - - if (str5icmp(m, 'b', 'r', 'p', 'o', 'p')) { - r->type = MSG_REQ_REDIS_BRPOP; - break; - } - break; case 6: @@ -1001,6 +1019,14 @@ redis_parse_req(struct msg *r) break; } + if (str6icmp(m, 'l', 'o', 'l', 'w', 'u', 't')) { + r->type = MSG_REQ_REDIS_LOLWUT; + if (!set_placeholder_key(r)) { + goto enomem; + } + break; + } + break; case 7: @@ -1089,6 +1115,14 @@ redis_parse_req(struct msg *r) break; } + if (str7icmp(m, 'c', 'o', 'm', 'm', 'a', 'n', 'd')) { + r->type = MSG_REQ_REDIS_COMMAND; + if (!set_placeholder_key(r)) { + goto enomem; + } + break; + } + break; case 8: @@ -1127,16 +1161,6 @@ redis_parse_req(struct msg *r) break; } - if (str8icmp(m, 'b', 'z', 'p', 'o', 'p', 'm', 'i', 'n')) { - r->type = MSG_REQ_REDIS_BZPOPMIN; - break; - } - - if (str8icmp(m, 'b', 'z', 'p', 'o', 'p', 'm', 'a', 'x')) { - r->type = MSG_REQ_REDIS_BZPOPMAX; - break; - } - break; case 9: @@ -1198,10 +1222,6 @@ redis_parse_req(struct msg *r) break; } - if (str10icmp(m, 'b', 'r', 'p', 'o', 'p', 'l', 'p', 'u', 's', 'h')) { - r->type = MSG_REQ_REDIS_BRPOPLPUSH; - break; - } break; @@ -1251,11 +1271,6 @@ redis_parse_req(struct msg *r) break; } - if (str11icmp(m, 'z', 'r', 'a', 'n', 'd', 'm', 'e', 'm', 'b', 'e', 'r')) { - r->type = MSG_REQ_REDIS_ZRANDMEMBER; - break; - } - break; case 12: @@ -1342,6 +1357,11 @@ redis_parse_req(struct msg *r) goto error; } goto done; + } else if (redis_nokey(r)) { + if (r->narg == 1) { + goto done; + } + state = SW_ARGN_LEN; } else if (r->narg == 1) { goto error; } else if (redis_argeval(r)) { @@ -1846,7 +1866,7 @@ redis_parse_req(struct msg *r) case SW_ARGN_LF: switch (ch) { case LF: - if (redis_argn(r) || redis_argeval(r)) { + if (redis_argn(r) || redis_argeval(r) || redis_nokey(r)) { if (r->rnarg == 0) { goto done; } @@ -2815,8 +2835,9 @@ redis_fragment_argx(struct msg *r, uint32_t nserver, struct msg_tqh *frag_msgq, struct msg **sub_msgs; uint32_t i; rstatus_t status; + struct array *keys = r->keys; - ASSERT(array_n(r->keys) == (r->narg - 1) / key_step); + ASSERT(array_n(keys) == (r->narg - 1) / key_step); sub_msgs = nc_zalloc(nserver * sizeof(*sub_msgs)); if (sub_msgs == NULL) { @@ -2824,7 +2845,7 @@ redis_fragment_argx(struct msg *r, uint32_t nserver, struct msg_tqh *frag_msgq, } ASSERT(r->frag_seq == NULL); - r->frag_seq = nc_alloc(array_n(r->keys) * sizeof(*r->frag_seq)); + r->frag_seq = nc_alloc(array_n(keys) * sizeof(*r->frag_seq)); if (r->frag_seq == NULL) { nc_free(sub_msgs); return NC_ENOMEM; @@ -2851,9 +2872,9 @@ redis_fragment_argx(struct msg *r, uint32_t nserver, struct msg_tqh *frag_msgq, r->frag_owner = r; /* Build up the key1 key2 ... to be sent to a given server at index idx */ - for (i = 0; i < array_n(r->keys); i++) { /* for each key */ + for (i = 0; i < array_n(keys); i++) { /* for each key */ struct msg *sub_msg; - struct keypos *kpos = array_get(r->keys, i); + struct keypos *kpos = array_get(keys, i); uint32_t idx = msg_backend_idx(r, kpos->start, kpos->end - kpos->start); ASSERT(idx < nserver); From 3f7cc0c7a934a7c69c23885d597637357d8aef79 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Thu, 1 Jul 2021 09:40:04 -0400 Subject: [PATCH 33/69] Update libyaml to 0.2.5, strictly check compiler warnings in CI --- .dockerignore | 2 +- .gitignore | 2 +- NOTICE | 2 +- ci/build-nutcracker.sh | 5 ++++- configure.ac | 8 +++---- contrib/Makefile.am | 8 +++++-- contrib/yaml-0.1.4.tar.gz | Bin 901099 -> 0 bytes contrib/yaml-0.2.5.tar.gz | Bin 0 -> 609454 bytes contrib/{yaml-0.1.4 => yaml-0.2.5}/.gitignore | 0 notes/debug.txt | 2 +- src/Makefile.am | 6 ++--- src/nc_conf.c | 3 --- src/nc_queue.h | 10 ++++++++- src/nc_request.c | 21 ++++++++---------- src/test_all.c | 2 +- 15 files changed, 40 insertions(+), 31 deletions(-) delete mode 100644 contrib/yaml-0.1.4.tar.gz create mode 100644 contrib/yaml-0.2.5.tar.gz rename contrib/{yaml-0.1.4 => yaml-0.2.5}/.gitignore (100%) diff --git a/.dockerignore b/.dockerignore index b925dd86..2b1a09f5 100644 --- a/.dockerignore +++ b/.dockerignore @@ -44,7 +44,7 @@ core* nutcracker # extracted yaml -!/contrib/yaml-0.1.4.tar.gz +!/contrib/yaml-0.2.5.tar.gz # Autotools .deps diff --git a/.gitignore b/.gitignore index f482cc55..97d9e44e 100644 --- a/.gitignore +++ b/.gitignore @@ -36,7 +36,7 @@ core* nutcracker # extracted yaml -!/contrib/yaml-0.1.4.tar.gz +!/contrib/yaml-0.2.5.tar.gz # Autotools .deps diff --git a/NOTICE b/NOTICE index efe6905d..257983f4 100644 --- a/NOTICE +++ b/NOTICE @@ -101,7 +101,7 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -The source also includes libyaml (yaml-0.1.4) in contrib/ directory +The source also includes libyaml (yaml-0.2.5) in contrib/ directory Copyright (c) 2006 Kirill Simonov diff --git a/ci/build-nutcracker.sh b/ci/build-nutcracker.sh index 6d45e431..cef0e719 100755 --- a/ci/build-nutcracker.sh +++ b/ci/build-nutcracker.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash + set -xeu function cleanup { rm -f *.gz @@ -9,9 +10,11 @@ trap cleanup INT cleanup export CFLAGS="-O3 -fno-strict-aliasing -I/usr/lib/x86_64-redhat-linux6E/include -B /usr/lib/x86_64-redhat-linux6E/lib64" +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53119 +CFLAGS+=" -Werror -Wall -Wno-pointer-sign -Wno-sign-conversion -Wno-missing-braces -Wno-unused-value -Wno-builtin-declaration-mismatch" export LDFLAGS="-lc_nonshared" cd /usr/src/twemproxy autoreconf -fvi -./configure --enable-debug=log --prefix=/usr/src/twemproxy/work/usr +./configure --enable-debug=yes --prefix=/usr/src/twemproxy/work/usr make -j5 make install diff --git a/configure.ac b/configure.ac index c311355a..131f03a8 100644 --- a/configure.ac +++ b/configure.ac @@ -196,11 +196,11 @@ AS_IF([test "x$disable_stats" = xyes], [AC_DEFINE([HAVE_STATS], [1], [Define to 1 if stats is not disabled])]) AC_MSG_RESULT($disable_stats) -# Untar the yaml-0.1.4 in contrib/ before config.status is rerun -AC_CONFIG_COMMANDS_PRE([tar xvfz contrib/yaml-0.1.4.tar.gz -C contrib]) +# Untar the yaml-0.2.5 in contrib/ before config.status is rerun +AC_CONFIG_COMMANDS_PRE([tar xvfz contrib/yaml-0.2.5.tar.gz -C contrib]) -# Call yaml-0.1.4 ./configure recursively -AC_CONFIG_SUBDIRS([contrib/yaml-0.1.4]) +# Call yaml-0.2.5 ./configure recursively +AC_CONFIG_SUBDIRS([contrib/yaml-0.2.5]) # Define Makefiles AC_CONFIG_FILES([Makefile diff --git a/contrib/Makefile.am b/contrib/Makefile.am index a5c85a3a..98b88883 100644 --- a/contrib/Makefile.am +++ b/contrib/Makefile.am @@ -1,3 +1,7 @@ -SUBDIRS = yaml-0.1.4 +SUBDIRS = yaml-0.2.5 -EXTRA_DIST = yaml-0.1.4.tar.gz +EXTRA_DIST = yaml-0.2.5.tar.gz + +AM_CFLAGS = +AM_CFLAGS += -Wno-maybe-uninitialized +AM_CFLAGS += -Wno-pointer-sign -Wno-sign-conversion -Wno-unused-value -Wno-builtin-declaration-mismatch diff --git a/contrib/yaml-0.1.4.tar.gz b/contrib/yaml-0.1.4.tar.gz deleted file mode 100644 index 87a7b8f773337c2bd6b8170cab9fdc29de6f88f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 901099 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

eM!dnbM3Yu5r7_ z=(&TprX2!}ofe)bHf#dvISu`bzL>mTotch`*C7G`HzynK>=J|VDIG{*3fN-|NExz$ zz#}QXgXm+Y{)3OK*&hKZ8JVEt6o$_g7={r+=#bHdd) z#=sH}#+{zx!pqrgvc0i!b#>K595$Z9?Z|zm8yAy7^Kv#E)Y)f=J$qSyk0gquK3;T& z7$af*Z#JP&XY>xpHw<}}Brvuo{d3fo4#wkY-TX98XISCcu6eMvx%r^6`88t0SI4`A zHq>1OL5aw>z-tBl1RA?XPw^XjFi*$tkqO{1)dPyACkLWI$y{;p%2A-y1m-N8g+Gl3 zQwqlafgQXOcUVpy&Q!joF(!ayC|kN0)9qNm;ReirqO8MVoS zqh?28U4P;hd>0^T3A??l`@ThSCCW%os2x!O6_dURaA}t?SQDOeFQmD36yLV+ZA3;I z{K)pOq|}P$IQ6lW(YgjW(30PPJ_;fWvKLLqhVte}Keic^f#QAU{e%(FQTC!&89Gqb zSqF*d#9nu{HQ<`zb~o{$P$n)$hr}E6?!)rvpknBAK0w}&K62svF;ypx-#`Dx5Q`fA zh(%4uP6e(1M_z4Pc|OW?EgR$d6``x=$>i;iKmww}V}x*xN=h!)d@ZtD6$;F+&8b7F z0(#z|udHwP<6v{8=3}!4cjk|#f=IayAKQao%@(xl3T5;83Lo6xVX=ySZVP@03L);& zLipJgDxqAEt}<9~vXcHDJ~X7mzsSY@16-u&19r6gY{#-ZrI)*Vf8Bk$zaxc9f7?Gg zhI@5~2YGVvZ2$OV_u0#xa=A3=bl(B8X-|{)eUdY5HsOxm!t42`1TOITbd-1wP{8^qU9#c4EO-xoZ3$hU;NZQe)ZGwiTaZh#GkUi@;ETQJw?)Y zog~g^(oY50kmb=M>oM@t!SnX<&pRI`7Y|XqMf=Uq(0>QcDWyIsJ$|)&xVL+}zq4se z=_4uk?61eTmauKl50A}g4iiOf>^5b#5U+I-oxbl3=4^G3r0i)m_bGL6WvwFR8q)nhh`fiVG2Y4^F6g-LM*DBk#TCEB--jXMe41MxSx60Cjzap-MJ*nZn#Tw`R zvPd$ixe@N#-s6|MCqI|y2MF|!dw?st6ZBudrSJQDKfl;1qa;@!JU!ZnG8^-BN`aX! z;07>_eR=yN_w5sToAXlM9Ku1^DGx@bk;)Sc3cOQBbgB=~KNg;#a$Fz%4Zgp3gFSk- zQzjjZd_UfQ4Bf$r-k?R`PSd2Pukl*h0pzy#;`x(;W)LuBr9w~2rINTT z?3B~Gq@k+U%O&-w*x@`M8~BXECXKpnsnG`f(6*izEGl95lM!N>DO_W~5_QR5530(| z!A;m|h|2s%gN#l1LMV5nRk!K3mV(=cve3+h@YL!+E>V;MVbDk9##y)5yj=FZp4okg z(X5?rB864*BYWe?4}XlMRku4f#jkmSH2L{? zAC-ySYcg)=jp+u#oJkjCE;uI1A98lOgDI)iG}?h

BGQGH~zDt_|mUEQYhSTInNE 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�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

*itV2_3=BrTo9Ul}tW9+J? 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

!Cs_|AkaOO)ch$F33gAmhGk0pl|F>sGo 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�Ny?XFsztD%>91Y6<#nB7-4eaDw(>;QpqhPhP?25#6TY!;-vnumfQB3!(~VVV8r`vjY#< zjjcB*?ScbN6#^C*63BrUYzdG!zd1yM;%o1&P4BLp1?mWU8U|;uYMdith=_R5_j2OW zM6;GWI|Uc}J2@=28K*(;D9Gvu1A?Ra+8i~<7lPc$_c#%_Z9 zdF4dxF4^AKA>v0LMfK!P86X=hrj~(Ghui;vUhoV4|6u+f;{HSHf7mUMFmgc< zwJ}oB{{@#(bTf-8sQx0WDyYeSu>22pi>$8nvvbBIn!XrPBF3jEji{Vrp8bR;C^ z4FL{g1RRzuPMhons6TwqIbSW&SZCjtJ%$$mBA#V72_L&P7ntG?r>NrV+85j2cyOV9 z6QPBoDcTaUme}1tUk65Qbk&18?rJGWkkv*~l>{72S${Z~gh$yF;mq+2WFqnafE>dR zdM&8c@d2O`AcDig$WJfGp$dXT2^CHtCgp(fDyi$x#a6`}dyfY?2ygT6S`={84dQR(NRk>M48Xj5v50Pq9ay5-+9L_&u?v$NVBGzTVvs}!P)K+WD324Z(W4f^ z{#M=yCyS#OLEZ@ss#Algf~N>GN}vz&8mcQYVoi9d`MM0O;uZ5}^ObwV5u$9qD1Zc@ zfahx)3xl2o;z3H#OAw)sM!Ay{LJ0VwBTz`m11Yq!PTHO}-6b=ijW})+_h(fio4^U- z4pWHa-wd#q)JPGnoo0rfuph0KqPz+C4UB^Kicu7?6R*N^=;7r|jMz0wrKsWBOVcab zNE%SGkvuCQF<{3d0&A__wjycMC zB-t0JKuESpCYxu5@kR(|<_GKx2cXcOS2XcS04P|utJo({Ov9jlQS}|2UuH^Z&~zW= zAmT~)q2#fFoiaco#LW|*O$!1V_6y?9hwM!vCQpzJw~S;!NkP5DOvrv%6Cy?iTKcj& zYc3_1@s3&`mL!)8f;a%F#7c3L+S!s05p49=75V2W8y$9C9J8FkT8y;WzZazl*NOm%Uw=u){!)6Nk*_4q}oqb+6aBRJ--%S zO_Bv8U`lk#CEr&3*HLM0lvm1(Y}LEC5latN9V1{~bp;zL|H?-G?sh#>P3hCET=*V% zL>=oV7~+7wZ0AQ90dK!&ix3&Cs$lm9jj%q1`NC&!*sTL|(ONDJcZ{bq6h z*EyuHfJ7Icfwp+y%OHBuxzzg&Dm+zAf*yHJH=|wEU+t$E>YS!25|zBxH+NJq+8ket z!tw0>mNniB1a)t5^v0Nb!UTRVg}E5MHWj-)E}EUT~6nkUR6TB3;rXeo?(F4Q;7ydd897C~rx{{s_c`Fp!f-NJc0FAeE<9qRqKJ z-RH8bOV?)N4HB;=4duXXR=idvnV#7nA}wJ>VM;Kdu=Fwt_<5ExnFwuzAVdDSb5}=| zdO5cI9RH2c7Nuh3N^(7O(p)c^FOjaiVrhy22878T_z1BUNREV`$}R&#DXwaKT|Rdk zOA9M@?F)7c?eVhYZEZM7A#da+oQw^-n!puunP+FZKR$Dbg9*?|cws@Lo2i==gh*pM z#k%~2eybJTe|}c^pYHfVRlGmtq`KxdJ2IV0BmtOs(&f&|M<^2IdbWLt@FEubfoWIVGovX0 z4IqRNBcS_{6W=Gt-@HYp%K7@bJUzFV$?5Uv7zL|dEq)V%XvcNj^)n@BvcQt`rO3=; z)^A2`Fd6m{OA~Q;qx7Q#6T1My5uz0X5+N!l_g4&h+{NzbeSTgBM{27!Kg-ofgV7>V z|H*O*;P}&O1~Nc_QV)N>4$&^ZED?3+HiE@XyU-t=A!1 zJ2aiXm=y5B*nl#mlw4LkaGSMCJZ-D0}rL2xFiM*w?Y`yi^3yh`JUV>}21V7+sU zJyPnyjHO>oXWjulc8a5)pYxcxU)sz8F;rj>nV@W1o^yoUe+iDdh7$GDqP1b=3OaOX0HgK#+oq*;7AeLL|br!XClKX_wN?wW_` z8=CKB5Kt5%_({h*^HCwhhZTh@st;b= zoXwnfSdW*KknCZ^dZ8416oT3nN`e$IB()=ex|9?NA zL(6ll({YCzleG8W7wI6q4dEM(;xB3UZb(K@MQ;MYX#9KyiZ*@Zhx5pT?TR5B@LwX| zFQ35~vn|_mamWcyyUZork_-_Rg5)E;X7rGXc)&=j4*`=S+w(<)P@l}gKu$504}P=e$zkpNkDBrVJ|P)AG#Fs*X*;&qFD-FXh9-n2ja6}Qb#!T&~#&620aK6-MD z2Zn5hMwi$&pxf%!RR5031fNIKcJ0qM)#wHd^}4DBi6ewEhX>_WU^4pSA@+uCCij;* zx4DP0s<~W{(lB=Wlu<5Z418pMZRm*pt~oRb*9LKCIE0_UyWI5g%6sKR*FOqGwzD64 zJn^3o6bn$=P0J9x(nJlAU22&WcrKaZ9`mT&?sPxM$Z_4RMO`c)%3XbE>#fLjWKAv= zMn4&F8U~6ktE}LngZYaC!{sX*cjFTlql?qw_m@qtNoy8F8n{a6347I)s*@G)-YZ_A ziAA=V$;(5xb1}>jX|P4(8Ixl%XNl+S5*I_Je7lXaL!*D4IR+;Rh!0b;OqB8l33}RsL(p znhiIK?(G=ZPF-TU(F-rb+l+<5!#LC%qKLqlFl>P&^`OnkgbyQRqAuCN4MHF*kPQ`7 z-*W6_9T_sO=z`Y7bU;4H9Rf6Z78pk%rOR@U%&cg#YrTV~ktBCGz5^-9M zGiCgB$R-OC4ul}edl(0STS8qVP=#F@H-g{L^w3b!@ZPaj_x`edg?E69Nl}h^Vwlef z6^qvVa|`8vc3k?khUEx5Z-g2}LVSzN*GJ3`K$#m!A9YaXU}wy*ENADY{HB8RNAQp- zh(PU|%#fR~JWNQqY%zY>n!4!#C(EdDRlqIBWx?I|FDrxup&`l$I*8!VjnSyNxYANB zlfidFfhu=qa3Y^eiVX15Aw3)+(mZ`Q0QhQbou#=X5;l<4is|Yq(1@u)u}n}^hncw{+WT8#5V%Ry6)9oibRlH z^SFpj7C_a)RxGIxA%{W5BHEq0G~%E@@?dqx>VM_M>B#Ta6#H=so7YkjPZB0jMAC5bBK{~BE<7o63e!YY^47{7Q{{Xc}k2@l>OUX?@UjBB1 zOrzCV*y{9vxE?OKSef%u3ZTJq+l4(C^tzQj#AwGrcIjpO&g*&Q_*hXs`p2+WfIpZ zk#hoYOycUdv*^Ef((3mV*`|W82G7zk&1?qg%63jzTw@!pn0I%kpg{(~mpXqO_Q|5y zrdBNb_ZM4t1q|0HxTXvjFZ~U*2}t@?q!~Jx|$TFF7&TlagiVi0vnjSy{Y3GOw&9Mj6EfjRa0o|lg=^Vt2(xc2I)=?)lu_(;efiiM4v{wuL{OurB zsjbFV`LDfyHg#zuF1vlXljbPyoHtzOQoChnd2RZLgO9`i27u3|uN$ZTyHo#Q0=l`i zQ{3rZ&g|sAQ5mju+w6Qja#)r#n?Z!O{D=atQdx*nBzBy2(RT-F_;DvsxuGiqzR!+U z?N*L1yseU>DyzY&ts<7-w-}LuPLZnC#cuz%|8eZffZO>i|B< z5vtR#P2%eg`fN>aYqjcB%F$7$ChK?Y$9K{@@mg7;Sv#m7=+8k7x5cprhn>>c#FaP8 zag793X|Y#HzpC%ZvOUgaB>jV3tJ=y6*%4V_lU}vnXG`T+9GU2|f{$_CU86yFG?7}_ zkcGvRmB|>UW|SS-@lD`1Q?Ax9wmf6R zY{3?7%AuPX8_|J|y;0hL9d|~}WvlECR=hBrL)NBP!#c@yv{E=GoZg_6f0Lre^Hu+A z5u-E(6q;Lr>Hv$JglFSs32Ru%TAeFQ5<8=wT9GvrR?!>IsnV>6r|%=hIL5#g+Pt7I=^ilK~ zH)Fc6R*uoNW}@lBQlk@{3b!3s9;&1r?*zO17=*jjC%+WZSps_9 z@5NAmXA^2l%=1Q$UD6g~%uJTRu9Py<;ur(D-?>${GqG9R7GrcLS=w-W%a{REO2Wgg zn)hRLvm?DBzIDazMG|aU+g7)&ylC_2^3h@F>b9Uc_73{mioS(~L(Cdt!``58B6&`v zkf{h}m^xWwr@^4O<4G}@A|)+;jAds~(pqD;vM^`tBL8T7m}A-&E3(Tf4O_^w))aSQ z-CAv`hT3i_QPZ!ix^U>!ob}hgS#XNDLiv1-yI`=}24Y`)+0<`+sgR!etlMSu2%b9KLbH#%XeT1t30cFahdKazU zn6A)e{t2WVoN9mSKlvy?PEieQ4DwWk-HpwDGBfOHK;TOH7bU&NG?2V*Qh8E0L4gGJ z^dQg625JM?Q?FjSAG`O4K0?C>6L@dJO9BVd(GQwma@Ra~ ze}Y;8XIHr_;M(Pjxyww#R8bJz2nRK3xBs4 zyV!Wy@fPmjZP;yAwDMxm-McLgCJzUdzM_l=XO4}xOd2jmEKqc){Zuf}#&(*03v`6dJF9*4>3T;J?j%T zrRPRzvhmQ}N|4C6%yaVYC8zgCkN4+jZRw}meUBo;!_MbtZ%J;Z^B}RY(f4g;dOAms z=jHq4My*y)f);ptDN6ddou2_CH@oZgZI!C=SxnFAX{pxCmqK0Mo8#ljSmFJcLW_Rr z)}yz_b~y3v1y)}_f%tgiT|+iWK7L&Cn&Ry;+_^;*uba<@HJiGKl3n45qF9pASHgYx zM>CDiw-gTR*z4}=MvYF+u+1cf7OgNiNjaixMh&$%!?P!yF|Wt5&usXHNsp@?J(l#Q z(VNC(`!i|!WIPm|%1CYKd&i-heVGNd(Y*|OxI6_)fIcO~pD?FdieW&aq)Nbq{Tk1$~>Bj3_eE z=XRV`IMY`Ng$hN_D#(H9`1Pf~1l&+(%ln0^>!U4ccq2P)Z~T~XyS#WgfR`-Vp!5Zs z*1I$8BTxqVQt7kfKTE?uW^M=4Ulc5jQQC{Ya>sN-r2AEV&yIs5RZHWTmx@DKl6uRk zJUtz41dYF=lpr#1TbGpFs38Lug{{(nr>n6JZ40D3So^k*CQ7dgY8$3&^?AH!Qu$q> zZwu!LclW2jR}Iznxy9E=g=!P*-Vvv;F_5@Tk)=A}hu6|zW2+xW|2QvQa+Cp*TxpJ) z;DHt?$(}hixCc-6-NJ&BP=nS1Ci=zcn7QDH+r0XRW#{YkpipF}SjP*g?Q zD{s!6RLSP~a>fs`@#7T{s3YPeI+CplMvA3ZF;tHVF=*twJ1v!#M#~(85ak&vf&}~_ zbRs|cCqQv@W9mZ!$=G7g+Y#rKKf5-%dZ|8h!=-WbPV;itC?u3N`C5}!Y+6ArL!Ma> ze!vi42>iGX=m7|?{qTwi!qg`6``*lFcsEeTnw=ddO9fahTTDaUOM3G%?MqmSk$kDh znbEdVsC+Atz>WS7^ZAx5O|@9-DVeIns+mQrZ*9l>)CK3bhTs*>wU$tGxpnsVl_T%h zQ-np{@P5r%+sR~$aE;u1*!#%4kZhPZqvwfam_r-m6+cI;fF;*G5tgUMH&t}~VvH{} zPBTK2C2XXkOgOQncq;PJYm+B`#tkPgXGplumquYVopduI4GY7z|c5}e2!2Yrf z`8w+D(Y#Xa;{@`+(usYNK{=>L{EWWjf1cs(^ZjqyFE?VuG3*wbkoyB|Pb0eQn~*oN z=HJC;PRvNQpoSgaXtj?2tsEm3#ew;N$r}!&y3R0im)15C7sk8|gW^g7W7cB71lPdb zgne1C5Z3_YxP4mi0OtVYgneu9f~1G?uCNJve?MaO-k=Hl4Rw}V_8zebI}x| zzzKU^O?Ess?k{rCub*i%ZPa1HcEYyqR3_XL+$QEjMmo){g|os8GhPN&>{vLNED zL=-WLBza75VnPaOzykWbfMAK)RfIcpPu}lt-O<(i374Nj*;koi^_!oM`KOo4Z$2P@ zug~2dyS=CMj~^Bcm)2(o2q-Tg0e`u-^^x|e_4j76IjmR_9095IH4@u!#)*2&z< zrI?Ay-7mY16IiVjU*0mPCK<9bpt`>0ClNt><9cy-e)5DY3H%r$@+rN93fxQ$qhj4! zQtBt8guvOCr3pyD5(RPbK>_lqn{mo6 z`AKo&9TVOI;inB#o`ar6+X}!3!mnQ)7?7NCn@Hc#O=$^8iimOQX|HLshyp7~34(;_ zveq#K3L#ACU~;2)-Qh4Of_!Nc7}x}NT*j0#;;tFbmrcbj&$7Y|&z75)gHP;}s;(E! zAG_M7m6jJ@#C(@&tTw#Mbbts4e1mVj| z7CxJc#0hO{ulJ0nM${<=2KmN?u>Gr&i)5cz^wz%14iw{Tp@+Rua%$X2;sFPHZfu!B zWC~+Ku;3BHxxd){LBVM3dS&pV@=890)<$q-2O#Drk? zH2A2op~$1^r>yt}^5P&+B7y@wiJqauFYYn}7RY$0#02?oMTNc8AXJ~3Z>ItvKm#*|>udGfpX zm_oyd3i#Lpy##q!F@6IDy|rOr-*CCYBK%)u19S4~B7y~o_SC4sz}0Z*>%0=wAwggi=9Fjxg!vQG*-aQj9f=-rS(c`53 z0YXEBF8E-?Ne0Tz5rPN&#pC!%5XB$a#(bj-1d}v zjycWWdi!7QsAYOWcN{40fYo8zrTC$erSap+*{L%kNCy;@E>uy11N=WRFur#(&EPJd z6kr}qq~>ncHgkTxQ&=B2WSeK@mZz4v7EDds6MX#!pm)?8?Pwhf^;9W=;W<7v3Y^iz z^iEIyn4K*Bumg+8UGpI_J|=&WBr_t==bE{i0iwP`&S~(QjQh{+^LjY`gv;mGUec8( z`OCj?qw+wPP0|-~GL?Oj8GVFO6_CAw13=U0kW*7pQC$*JfAX-Vf7OtJ0qrhCy-`o{ z4WL|3PX1_crh|dDSAPP?r&U`2tVmNlRtxIAzznYZnSX8cL;qTQS^?{DCi#KywQO!X z|4Ds)i99=B%ZspW{<%oy?l3bmk*Uou<-2<*VWxfOMjR5RJ@RpgM z`vVMkZx(B53K)fP3}N(P2u#03QU9*)|Eo&m^rg z{V6dya+^=}i3frA4)vqdG#zbM0G#QIP&hWTAj?-<+y0&LV{-2I6$)IVw*kiU{f8R+ z1@Z^_A93#&_s6dJNcZn%%xndS9;( zHfB zw^Or0Qy6EHHxu6N)by;(Xy}=88v53k`Jg|cQyomZf%)vxGcfVw;>?%=AqQjl;SnVG zVajn4gGvl2P(Wfs`@SH0o-o1>}AKX|Z_1U9pkKY;>9d>TJSyQ8^JzTFc? zT_P_lpqCRR0ImE=LN-*7?cnbkWAD(9nL>S)XaHz6OUg=H#}HWbE{yjakGw0>>Paok z@@|D*UhBit6+s!u!arfdxTv5jp+2CMi_EP+=TU(nfiLNAkI#9~Z8^)~kJV4Yq_%R# z+r1(T9Bq`>S!)lDi(xT7Kjzo+*Xk)wj)waLN3Hp8Y@s2VQ)oeFf2pxEnWxoTi90w_ z^ygl<-%4a>zfT@U$aIiQsNUmbt_1B?&_7~aBq_zm5{v*;S3F9RzoyE;-Ma)C2fNmH z%S~+PmnD*yTL?FYhm(kkZyquz8{l}objIGxrZc(rr`p$vGJ})-vi)Q;$DkkFDU8Lm z(6P%5p*8l=x|Ws+g)aJ`S^&xcHH2t%q`kz#W$sFX#7I8~8!`f>Pmvj3>-sONdp)FO zVIEIZJ-LvJ_80n1vI;Qr^93lt_VZ_oL=KkaasCSWulH9~_f`vE#j_wGjwRNr3~&Pr4bPpIst%jV<=A2Np?C!U!DS*i;r*l zO5&V`hexi(g^9a`d8C`{kN=s}(Ad%diKtMiu*j_K)UUi~fW-c@8lM)HkkHZ7av~XG z-nVwu(XUp@)%g##MOJ~4rj|8wfP@W?bFOwKH$85_Ohb|!LspB*O-~r-oF8izsQ)c~ z5BPV!G=R-jMA8IptWydJ=6I7jpiX(&6T&kMlMC-$wkrN}W6!!+5Bh%TwUm=X13w26 z*4ZlHd9?nDdKhgmzKbVuuESGw#~o)BC^ddN2%Md_MvA`GJT1w2>bl>se-RvxP!u8N zTe~1o$J5J}wb(2`t~2?CPj=hr?LuWG4Pk31558tS8P7HJG8CnWt5vc0%f(Bcm3UX# z_ivWw@!qep<7G&|AD(O1(0z&VkynivID8;IkLwBbo7*Tm`uY+uc;>%s6EoIl2oHw_KPbjsU+QAyH_w(&oY+(L~mqlBiW{&ZLGSv40qSHpgT?urY|92eWwo6 zgr=b%Wn^P1s&=ZbEbN=h+K$a9z8rzb!2LovXoE`C#!uKPAx}m1XUAVA2gGoy^++z& z{4gd;bs*`;AtxO@z3f`)ti#xSExOG5SA(3MYHYj&$%5@At!5KA31JV56k_ZnlEIi=}M^0IQsUl(o72Q<%W zo;dBTNLW+D6A;{qk+MsD=-X#xGOj72ZfXkHAST_DH~g!Ls)7?}UZfBn)^_ zSIrRTOlwtz9!oPRzjVeOOkHCxs^>J(u5z5Sg8IkSGSsyA$H^+4b48&b^!zj36%YPc z^8EbR9d8RMqFyY}?h0s3cOR$ptZ?=`6o80}ck0xvH8Q zqH-N?XWRQM+l_tYo}pSuaQtjF$BJ!joNXPK=BQv;S?x6@*IPw{h0pmG%`Lc=2RtvqL*;4ciOR}@TDQ6Z+4CZYh*i*8 zh7aNI#cuJ-TK5`5A{o>0Bd())o26@wv5DP6#R1j?WHhr1rH!(@qsiJ;;ZUIo8GuG9+t@a&MTd7-xl~4^Bo{}7UvoQj0xlX?=HE@+ zEqKnIe*@HdThxs z$6JviV5JLFORS~3!7MppPe)c0T=%EN`YoIrKmb~kbN;&|G%U~IG}JKl5$*0eE29qD z`^{%V7gxueQj-m=;oMb(1q2)N^YfC0{;YiWgLk&nj%$*M+vG}1-V%ROMybiV1Io>t zo<(_h?|j(v`Yy|(4A2r&=_Z$H@ZWfMkcM2mz%Wu6do~GHXtxBj?8so1{4>JbE`4cw zF-jWeI-)iiP~_|6#P&UE9Au%*!`oPTMQNSR?(O42Hi(=*XBxr)tto+NuU^y&9ay$! zl`TQG94;G7!;AK99Ri7>v7m65u)*d2)!1~LRGjT$ZptgGsR)A@-{Wx^!Ln$#4k_vP zPp48MM_e^l7RIh7H#k?_8fdxcuA4nYKFJW~lo@VhH-o|J+EcWmeo$to>INRnF0^FM zhIPedZJRPk*HHg0wh+u4Hfx~Z#qm$F;+0z!>Byy0ZO306G5xAkjb%Bxst-X5yxixn z8tSc{9V)dUw02fs;XYvIh$h-LzmR6;U*`RL%Pq67E3Y{D94%1*w+*R=JV4~4_K)LC z`q=G4`NBE8_FH6rv3p*0*~=jNB2VDl*h+a*rNeFi>DwnEJ~;=lhDzyqho&Bz9veNV z+l&F5v(L~PJNAz&CIiOhK@>EfC*F<{ZGPItw$IOc+0Xd2e)k-g6dE^YO)iS@aC}^* zHB~c(AbD*A0eC)hZu*tErp3G-4#D-9SvE8Z&ooh`ymC-7phi zaI@+9d}of&xFCOQbvnoQoe={;I5*EyjK|}CRMF_4hJbJ*0<}c^lPXT*ZZW>URStz{ zRaH575!kBqH+zL?dc4W+kpa^MZp2)Bx^0)$BLvQWbk9@wpdrSF3VFapyZY+l72MNQ z>|bqfk`@Kizf6T{a943MSc59g`_Mxbe{!Cs!A(d4dm)}Obwp*_(&}_cNjyImPTaQQ zk-JMU(FGJPZbz%=HJuj-HGIF5-2p2PDBY5EPDO)1HZSxtf0)OM07@K?U;VHbgW(3UYmH7^mU5nxTVg^)L4e6KND{#R zPB+26yWF?1YL8fTM=QE|$#ioKSMV|}i>1`+LA>VKMQI+}K6BM{B#1C&u5j^=h^AZN z`N~)F2@202-oFun(FikN;}~p<=qA@Vbe|rx63-$9b!7+T}0@dcxAvQ zV}htH==6@yohMLtZk=DnQ&Ap_LE8%a?CLo;a@X>IE;idjrcbyh69~Pz7x&VxC1w^t ztK0z?Y_(m8TGWu6WjV|7Et0CAE$e>VU8x5jfyk>9nGicKINon&-J|Cd-_8 zgD$0NQ)3vBxbi?FtPQfv>PLJMx*Hl=Y% z%BJTjz244pL&EFbD7lfafj%Tl58+F0Cz2_ds8_IxQhfw*!oF4z(-ZXpgwq zb5(x8|OX=G}I3W$BQJ~eUDvDgRsy?VuYkCx$2?d)p= zkLm&FgrCR7{%a0k;w#)5PD`5IuCYla?vnL$r4(Z8gjeAp#J%+1XTe;+5NAOtm$Pjk z3hPY*aQ4~@>kU%MZAA;3s7(*;`li9e*;(Pyh&%7}9&dx25QW*^-twFHm+Sdo(17$0 z4S$Ox^E62#2VwPRsFr@PN+zDCEhsV?NgFT08~Lg=gW|8^JY&nrcF87B?6NHP6t?|b?`DN1cLc2@m{iX^ zQ=?P1))WVw2>2(hnt~DNwR!PP3sEdlp=uW}TJHxXHL6+6*QOP}rK)THN&5l2wlLE@ z=_`^n4r#mpTP-|-o_;EFVAzt^@imk`T130*u#g*#2(3N=FZV78Nte7YZoSl(nJbm{HnnUu_6+e=($D^|LH05r^{b zRZV@iv1)8lOJVk|fvI$a-Y!*!8EVY+L)2!*< zJV*bvNq1c(gag)Hc8^&-A-%MfZjaTII|R8tVN8vtpTC_5XbVkS4!s` z?pgXXv&#%Hp{l~xPcjKMUoe@RfyC8S3JApX`lZV=b<5wxjW}q_C78q#N$0vFcg@tS zeIy6hL4deKQQngBF0n#5-cDGmD!~hd9632C2~|lVss9uSh|*96sTx9gRzD!qN$=(2 z=E7&IYm0|R$nDD3?&acTy6q(AhvQ}Y!krE;3n>X__==Oe7W!uo}l zm-Ayw&3FI1@#iZ?Zp-6cXoPP2>21_P&g;9AiO=Pd$W8BYcjWr7++H}A zE$;yn8PDgDZ}(f5+t&(# z$3cf{_QwvM@19GGUY76a9G&mQTq17g)1#ip70U-+>-UhI?@v5*j`#7{zL}oumiJHH zkIKxBerosgm{!imc&VM&F{&BwZLVF<3HZsT=g@iM&r5P>F70L3&*#~S*U8NHCtWVP z&-X@)?_T-9k(|$&-gM{ntljrq;tbErD){#E+||3M9!O`7$KG7#&d=by1BA2;3Ho{LyMhxaG3oSkaD&a2+Zbf#2X z+MjW@Sibujy-tt46r~(qj9lmS$Uj>?aK0neKM&O>JwLA}+ni2g@s+k-$FJjfo6w71 z=hnC1W{xMH&flxB*Wqu#Go2rI2c_KZA7^6UhgB`!lVU5WbeB61=~A_CTTfB99X<2+ zd_&0uq`sz%4}1{d)o*yBh#AMe!*`NnKUwEL!*98EzPDz+fZMLB4}2|qOs0;d+4p-! zFFyNAsoM7sZaMF&L3kbqnLGE_dUQISCx>r49Vg$pKBuU`J-km`wLhisS)5KM(Y`;4 zJzudm(_T+4avvR`H=N&Dp{#HBw~C%7**_}P(^&{n*Y~j)0##3+bP*+AdPeRtA3Y@} zzA~QOB|LhC=oUS#GBZCJIX_EJ919OU?R;ii)4#VbP4&|s=f%)A9^Yy|)#}K<7ml+} z$`)6jS>zw9&)>VT3Xk=JfgF21RZ1@dHUp$<~&Mo2gKo8jf2( zhZOnt#5A4k$w7)#>V5-pP-EDQP{q=^;HzC(SS|a3wITHrqwH7Z)@j9~ZD9(NK$syR z4Ei}B9#73V?xo3t^X4%)bDT&K2eU|pi1BE^a-d=M@sj)9?kM2Gz)BVL{|KO@@qtKT zg#bd3UsqrU3x(8Qc33UmiUCU^5J2}w1inG+Eqbd^KuqC?!HC7)jnG0ERWvz3h5XZ@ z!UMq%;&u^+&)L$W#l;(o2#y!}GxV0X2JqFqW2sL4h@Q=HK=TUX*bx#akr^jhR>BO7 z(Ak10;-mg~)b_BTM*1HT&?}1uD2~%V_f`*KDix!f`XNdXIZ~~Tt1tmP&Q|sy9AgBp zYRJ^@LfI=QBMt+nQ$|P6s(~r^a)VsY#RJE%!mUOiiejuHQBaiWMu8_ynQl!p6zC`U z`2v^A=h1f-Jy=rliXR2&1^ z4>1X&5TS*__y==#MH+p4(GPo>GXnx$T3;GlAKrAyfdHEUu#B#lkY*}Q6!=|1*q;a; zk)Cak0Y_q&9n>q2{m50kupUr7B@RsAq&LN14#2laJ_$4*Mm(+J8q2wFF1gPO5ew2H zJQ#AHo|T#e8D+^^CE8(A9@SAhhfQIIIA35d=BB8HfKV3#8ppOLu% zuqDG^kEF@Wj@myD2WRYTKlE%E;o|dm8BoPZk_?2X@H>>9#OA3-zx~^Yy4K>$PV*;o z`KRQm=l`3ml3%qg?^FM9(-gonmVrC?%rt*Cu%CL0i@sYHHGcxRJl3xBX*7z`5JeG5 z%Ta>F1_kWpfb#{dUCb}z6!pL?rs*B0>j4mvK%mZg36BILq97GSZF=Fa<%2Op@4F61 zHW2vNF{#Ms4a(@*Xr0-iEQk^FON?sT0Rgqtsqt_@=$!}{xIv&0h!KMMSWyxXDx;UQ zi()%}fY9LU>QwjXjr|Gw#r?>wiGe9;Ob14zF(8>pNbXovu|y;p{_>V8i;8l}1PUOn z(r5^ysK>z4gD%jbpo<5~`vsL~8cI^1Y0iP9UywMgwI*M)4z(Q)G9t0lptz~y4^=NB z1#9-nC+<6YE%Z*#WF-qbqK6MCg7WIX^@{`oC<#=H*BY?GU&<>toR8vvlBEsDBj6u} zIsHw=1|_hMkna!4a7*sAP;~+}VOhBMjV#_@msHWH%K7_V>-i0DgckIV*v6| zYw*DrnjuzB$@dEGp}qKw$f@s|0&isyEe1X2DAgpsFnUZIM^c0 zX*#+!P=&(`i?pgQ#OA@;u&SfZQ6F&ArS4uNGkh;lU^waKsS_nm9+!82o#~=orwBPh%s4V)nGf zHM5G%B-V^dc3>!@gbF^#%zHVUZ3kAPjRM1T)-tQ2s{I)kVs`NCIE7@0q6rni&&v4O(0Ce*mUH zS-;#d*mPE9?*!#&r1M21Dhb5OIM7TIq*Y{{F+@U$ZVYFndA`Oc);*y%kU%$^mspyc zZOl+4I+o;-&fI{~pSvL!ldQVcY8AyEfo4Nh{!kt1C>De|%PDinH)9iq4Y%AXKfn_NyY|7` zt}73Y4>_i|4Fd}d4RIyMh$u`cC(03ysG(6aatr(Sj1M)(v?395oC-vwc8D`=Y-Er$ z)C7iBQG=lC>V1IHxG6`uZ%+%clK~Y3bb7!sv7E>t^i6)Q6}_?2&Zq1w3q!=Uiwu)W zgm5u3k>!lpD6As4YwzW|t{Nj&5e|$FC66LPgrzWzzOgSdE)X=t$&6mLd)MAwSB?)Y zBazmIQA=PV33i~|!F(#Jg;k(GYG^II@#=;ByBEgIXvBL8QUGU>kV_GoklKi%Fbb3; zLW)-O#>!|2d>BDoV6diyTN`5KI2M}dATY`%$nD#8;K1ekFB>=MjHX6&?l1^KpaLEu z#GM6^5D3JAq899$C|AWScjJ&ejvXt_{$YI1THWIq(8!)hY|$LK#$#>>Ux(s{HTL3Y2FMun4S?Zd-J-PI{p6In~4J zJ0F0Z{GjC!?A-Zn7kVi3_Ic8F?)>KEsTGQi0S*Y-1vy}sTylWM2qYu%$h)YzY=+uE z(jmZozyW8%T5uqQ;#y%&5OWYDAj(*)bc|Zrjc%1d5Ch0 zm|+eXL#P9Pw>l5-c(pnqzK;{&id%slibRCC!3qhC5OzAy@J+JZ&(|9h2$kNWAv23A zs`6dSSyNrns?^PEX?Ldr1|c!Uej^9VBf~WlLIs*zfdbyl z4)MKJ{Nn!)TMToRj8Cc8 z3Rovt92@hv0BWgg8oBR14f{GqAzp@P-NPONVQoBVg6J;V)vn~n!H=Jrqrn8e~%O3v_C-WV}ycx0QMv)1K zb({zuDEN$pz%EHZY^+(TvJ^{4{hF$xj+74DrOg%Ps^~_8) zKFWOX1o6>udIQrLr4RKs1U^XZPHi0OH}`w$ksS0^XU`7L1WQC zBhe2#%+mZ0Qw9@NV}W96J6wwZp8wu>yBQNGDwd3&GPE_P?UL`G(BP!`7K-@uiZUkt zj2hbQn;eoIcDchk;^A~LcIL9C{>Fr}h5@sY_gb1LVX)1<$Go3`UEoeEuau7_?qOvT z+8vo85-z*fGJ|mKU6_54FcW$k3DcTBI}kIqL1PRg&F&EGjij~asy+ys3A+-gP@u4+X$N8UfYSN>9zGS5H`CTw^zar!l#+gJCn5sPED(4 zkAbAwJ;WI#ZRjrUgO-_K+i2O;#oW;pHC1}YLB7mp=PbS1&<5QP{j%V;>&&Kp>yG-e zsYW*j0%o^mXAv-^VY?4PX2NeLWNL?aM}npnd&WT6?1u7Q2|I|c%!J;Vti4$El!D6` zNSfUSpFz@;2Khc{nhCy*rl}42ors#6xgUoH$ZX&5k*b66X(sTFH0^;+Q{LeA?)qA8BNJSep650u1Zs7>mS*^RBm8=%LVRT|n*zD! zWJdg``EyggOrF1@N^03BE>2_(e6@PezwMb42Osy)R#Eg%lj`j;S!$A;_LwXhrIO^lj&y4O&xz&4GM0O^X2}kCI@q!;t!{5h zl5MF;Pd|CGgd*)mqFkQ;t>RkwtuT&qYZ0r>oYWb#MYA@in`$+z29??!gM6V!1RA-a z1&4!`?FK;^)HKv=69ToViud`b>2)A_GGQfKUMu+>Ju7o?W&E*a0(QWo?L6Kw7r*E7 zE}qh4W5(R-8dx@KtN{^@e}R%;!bMvu6-%=f=;=nKQxUGWB_loCi?oV&y(X6htc$gn zD4UQr%8hCf($KCv?!1mq9gW&*^P4u8(%LL4qsMhL*(xJr=~hi`WCF}~GE>%FrLMV3 zThr8O-BeG%ZD0E|5qd0x^cz)|O`3N*oV9^{6Qu1)6HlD}*BJIqlr$lp(xr_qps?1R zD$QM-y$vJLubU~H>sENH^vJZ0+?&E!v-@qkANehmj$!p(`{}`bB1htlD;iQ&5&fm$<8NL*7MbNu$TyYl0NFGA<59uCs3#y zVDV?)6sd67W-(8#o3l*KL@x+5@IXo&RJmFSBsYyM=y8XT9_o_myWiA|K_;MnjX}$o z@oMj;Z%$-0n3Nq{stda(!UT07_S6PtDB_J{gQg^@WzDDbXe>E-rMB)A86*Qx(ZL%M z^=6Z?A&1an;nsZ&qu*_Q6!6r3>4gwVCwmNZU&Mm3M)!g#hYT0A7YRl6^*AOC@ijX9M%=l_y8Ti02 z#)VAXe0D~s65tIVc7p*-0baS92+fF5Ns-6&tf-%ws#++qY@O20K+t` z&=-n+pPoXoaN%gttgF$^{8WLxSrP_4ZlTyi!l3&;o%OE7EP%sE95inem%4N1M8*Hz zX*bOSWcXtf9^_5)027%9IN`eYgihwrHuinVhg@A2rH?K2DyMcH_<(8}PYpYss>;9w zMN|n!V~nW=^3licizkHHT;6z(J7D+WjdyJg%mg?23k$oAbEEprX=smeX<_R$ZI~O?VP5yp zz2jzzo6EFp7M;=KIYPZ2p;0+(siD@M@$^a65&j6PT-&&&N})fc(B}bH>!~O5g$stG zDmwe09kfKNpw>2%O-SmBMWDgfIbb1UN_KU%<-+`q)n%aU{AIS_Pf-Etf!&B_sj(`MFsmUwPVE&m&+^L=jN`v?z&ko>x;H9TP!WkHi&?im=*hO-z(UO^VVstm@DI4YW>{@ufv-!e0d zmmlJVXco`1IpD|m$#ae3RshYJNZX(=5WE7${5ys?xbYocoDmw%V9Y~|7!MeH4_5;^ zlS4xpVa99CCjxW1nPpYDw%hNru5ZxSj$hvMhTR9>a$q6nXE=A@>Pz=tzB{+|!nwIO z(cN=%dk*f&z4_M;?%NA&iE;-^s<4{(R#q*|%`N;tdsi1D*>RO^f>5&9fKUL*0;MyH zBL{hR>;GrHUfJ>5#71!}$KfF%TIzSF+1{RUchBq^@B;=390~lu0}seVL5K&C^7E1> zkU=8&1))et2oXR61p$h90VEy>f>XEq_T2uNxj%h-cGi2Z?AhI(zNf0rId$rs@0_Z7 zai>?D3%6-D4PJTq(w#&Lryp&_@^tCSbbQ?V)bw_-mqQGrl&S(dlzsEul|g@ab2j(EG>tF1@i;BrgS0Xw z0BARa$xe1_)2!+Ag-eSs=JUStyO(BTo=y7XSsYm|`&#eXl;F%>EV}?hbJ)L;ou@tZ zU^1heENbC9X)L+HKNu7~P3IvTc?pC5)w$^_+PEvQj0~@S!t{qz1NoA<0X)k-oZf~7 zFRr6;YtJ9#sM(y#^t0n%&wJ+%Mj)KY&Jj5?9PUjLQx*tbGZQoI)~E6d)=r>)L@oB0 zyY^iFxQ<=9bTF8$QfVn#WiF}7-Ij+k^N7dCP@L1_%$rirre8Mu@zoP2YP!Ai+-!9}_t_Kh+C(5{ z$BXIjsSlsa*V;7a@YRz>Ju@(A)-1aEv)>nbIrGY=@MZd_c++36z#j0KC#F9DnxEK% z-(9>o6~+G4HJpYp=ler9H~<8nQ`TEp9JD~Tnc=m8PrNpy^O8k82C>7b*Q-Uvc` zUI&+P`RH!WC0}&0Z#C}GJa& zS$R+D%IxaFFaaLFQ1$E6-WPw)E>zus!s^eht4mp9$14N!3?57j(E@2Nh|rn{X@VqR zUobQ|+o#m3IxOxfDyjr>fn(z$wKT{;rB=~%?X5se5zL#YL=_2*`#%p>b5mw|jl56% z19cA88pBkupyJwk9UT=r^Nm-na`UA9T1DOl>!`Jk#DKVSQEKWU^b`qLNF>9@UHrX8 z?QeB|ZF9L%k+h#m&antm8cdOcIT0d8A#x6rV3rcv#w3{S2U`%7_bMV-(KJz>C>o-r z+#?AL(I6*PUr-CH*DAYS-;{$wDXyp?f@#GR3_v2}WkAwvu;UI^-|1+#!@~I~b>rS+ zah|L!-ii0(C$Bv_a}7Vb$ZG;3);Jh$F_KXREKn3+22Ic`NG@BM6x&!-wn4Mj7W3C8HAXvPRLo8_RJQZ9hfr>6_0^-|Rzrf#v1=1iREfUHzOE{xOQ_ox!u(+kE zo1J*us@|;}lnafxn~RF&W296u8mZwta^#H#%chgDAsCFymaOf)Cqkz!^-ALiYozB4 z*rT)}RAK?annBrB<-TPB77h|#BRT`JGFD@XS=2@&My0VHu_$6h(%DXQGtqI3D0qtm zTG0jxgW=H;r)5AY=^}&@d;2Ym4k(@=IwfP|jz{extVYo?j0}k$q6ucA2%`0+a~q4P zrQilJ>>L8e+;L-^ci>D47d+AueBdO*aocNYVrJs(e1A&T%JOOnKCUE8i$Ej_P9bm{ zO<+{G=;Zv2w!7v+ZoFe~gO!MpR7oBjl?Y6Sf=PfS4;1`ZF#a}d$%$OtOtk1mMotkj zus~Ay$*BwA>~IAUK)_C^_UFRJnjZticv=ulb@Cdi)dC_Fke!#9aRP=nAMduobh{+@RxSCwJk^hZn84B0QT&s$o!6fx1m zs(>L3j@VEJAv?v!GZ2}lKHNRGF~EY#AQlnuU=8sIECK>NTy7OCYfW&>dtO*r5owK# z>0Vz6VHuVf7I$QPAe^!ko}adZ=o!`&32BAG(IRbGNWhhs7R09ryAOqA7(r1fNf0;) zF(6{G2V2g;igWC_K7Ch^S`J~Bpg|y|qhd&~z%*4}YENjB0POT#K?N%}Qpj5H{0I(~ zP!ytIFc6`D(ZJOt!>zf3d9icWNbj+m;kC!7z~a)n=NNc^;2Mf#P_ZYNQRa=;go7(< z5^#NY-NH?`p==N#Sp|FnUw{Rogw#Ybh$Dlyf@`MJ#m3w43Kxsi7evL7#1526*yvCI z+a;~?#tBC)M7EZnJ*UuO@TVmn~E@6IC{P7+k z1Or$(Nx>{eL8vo0Pz4Sm5~;vdp$*yn`Y}UkFD^K2{5W<@DKQB!Hk1+dKK)^#QoCe=`x@}ilFDwD-hxzdzU z?UbfY-O?(fTU49nLy;@1PI-w?Mb()W{p7k+O7;xs&a}p=rku<9wT3G#3i{-;uq%tb zyuzrW*t3W}mwGAHGa&WtSAW&isB%%PGQ54uF+T;ovI>=#SXEV_tOvOcm6AOJI+SOp zdKWKV?7iOW)s%QS=hpD2eUaC#QmdgG-C7Q9L-6&> zF>B~Zc@bcfsHv3d8Bmb6%Es=$_^7-Vv3`71O7lL}n0q%8Dldqv9|@JxypJ{I-i>+6 zi##i8N>-*hUx&)5o&jB16Z4R|-by+5R(Z6InCGNg**XA9X~Afd_@|WW8Bm5(sOG)5 z!k?uo-Wp0&UNT!ziDq5M)u@#28Bn7QgP(HNtz*y@q+Yx1xQ2dItfMX0k5r*;e=XJ_Rp8i zh&wI(t%JZkCxO;R6=kx&1?u_fZ zeLV7e{z>9rKL2}uaP0L%Ga6q321=jVSHj=Ak!=>4=A z_0xhfzS152o&Bmi`ukow`uliBwRaTw<|AF-m!}7VjRux2RSOgglex*TXwzXG_2hgu zWv-jNN2b=P?eoQ#6p7iKm~BRk7Kyo>m}^Fi6^Z$rm~Tdm7m0IPz_0#P@RIdyRT3QIXhwPHev!F`v%t&j5VlFV9l99*}DjXM>QEf4u zp*pkIvP|T;8NiX6-4DZbsbugKnx5V1TR@a}P>gYAB_e_l$FM;{NueBO%<(*Tk-xXD z@n#JpLYbFA+h~JyP6SM>KvAQ}gX5f(HGDAHKd8d&m4;Ko&$!6Bc1}qzwXxnxN}Sd# zauH8zxWkh=JZast4*vl^7jzDo-BKGR_zxnIFX2CoQPkl-r}4b`(u+U&@VQ6Q#CZ7m zk6(Kk{(KPr|MB;K7yNwphu{4y{P8Q#UwitMI}iT*-+%i9Z@l!tQ~&r=H+CL<><6EJ z_7}hS=i_NF);D$@{;Rhh`PMg|`J;dM(0_dMH-F}$|L0GB<}ZHl>mM7v z{pO{&-g)z}FZ|kHg33~El{>CJa(H^!nqT>7_*@m7AHtU|vfGj@+z% z%nW^RTAdrGwFkHRligl&AIH7P-fU-0`sStSw^pmsf^oakmoJwizx^Ef?Jpz0{agEk zzUxjF8Sr9F;I$%XzipaS-oxcp$1KC@(|O z2Nk2{$YNm`;mlBlJqz3g!^+_0Y1`ulyd{C?2zo_@Q95lZ@*1LX4}V5MtYj_m)>G`b z##~e9tW-f*#FUaYvWNw7Rd{=+!sv>{tLF_ToT79?7GXx}h%EBlNKds!#&9i)<*ijm zW(IvTzJ5IwsTazk84n5EP*kN&n>y7)Gibs^%V~BIUiR|z-R#xX0ai;7EQ>EFghG_j zGh)25Fg=B~7z=MenIkXB#bjq!RA_aBBRINr#2HLSRI2}+IRZ`FD8c_2!DPAqlQP`l zf2Z+u_+MB5*kQP^8T7S?46eb3yABXv;d^%n%XhlGB zFk@imXe(M0l`}D2773D)Bm!Y936?Nc!F9Am(z4l*>FMww9n4T+kmHp002^>KyjH+Z zkyaWDrK$0fVeYs?413SGC(NjPq_cO^t807FXg&x}wN;c-hH+{<1ne+1hG7OhA}2$) z(`Ki?ty0jw+`3HWPlBA0#4$LE6*tfqLk(eE=(V%4*!q4G^T#DydWqx)DxJ4Mzv&8RG^Uw z2M6NaW1zYgieluSrSfv9A zARrE7!&)=Nz#Z`@7|hymBx6JhTrD4&;@WddjY2FahcI@guvusWN3zy+kXM3_WyMC|EKdDv;XIzZ2!;W|Mpb+&SUxhpRa!40rb%Op8jL< zl|TLT*M94Jf8@hAfAsG@_`>K9zWm@X|ITOr_x~RF^S$r>)$jbkzrLMb>h|c|6Hm4L zKiOvfA7Q>c|0SiooByZrbou`-|KH{RyZnEb|L^kuUH-qz|9AQSdno^3C(GWQ|8&3S z|3`WLf3%$cADP?N?Lmx{l4mQBaY`O5>_R$?C?=fPNbdv@JW7U)YY6}sA;f5%cAnb= z7h7lv=vx`F7k+;8&2bsR5qQ+scg@fb8Vyo8Y9fO9jtD9oG+L3--FR521~bXgBTxapF?D(T79R7yn1QHNAOUP)^##zAAl z(#|N3tSjX`1Z$&8xyiMeS!bLB^@8CO6eM%Z2^_IR(K~CIqve^|(ca$VdNyV5G&*?; z+Oj+%?VLb9Xr-eKjwqob^A_v%*_RI9@8JD2|5U^O#CGvNwtW7Nq^!gLPUY$FzYhQF z@V^fK>+ru0|LgF-4*%=$zk3M(>+rt%cwZgN^u2}u9p?Do;WGZ0-P~Nia8pYcIH5#) zfi$&(Mr){0SVm<%XS$8TO+pzJ)_ZRmlO9D!Z~~yX;}$V!t%btPbi@r~n3#0`F^q)> zt%;B(ND{TgzDafU3W7usVInvwykLs6755Ke?82qK*_+E~*;-n3ZAu|ahQMn{S&>@iM#Jp0sL-OyC{M(1uO8LKMHUY28|0yD7^M8luKW^o9 z$p0Pke~0|vA^&&C{~hvwhx}hd`M))C42OK+As=|i2OiGKW))t#ej5kznTEA5><{v z#E(a(C!c;gKR@|&dGyNy5Amwsd;C0f4o9xxl|yeABSA-#%q2sfa>XT!-saw)QR`8F z_~LrX5iO>B+kJC#bkSWt8~pd@UVl(dN3^9Wa-h*jh>~lHb7DB-fO48FUq0Q>M;}fu zKb;=Edv|>H%bE*K8YeP|1dvKeZH1&HL~aDdaM;PT%FOTI9N~i3oft!>Aiz-TO;Q+A zNh+O48XYV2#GPAd;_g2`bkE*&*PWVL=@rhzBsH2~=%}?&5yRE!6lG%B)IXn`A6>3F zpK_i-j=+P^!7~gM3E|#ixZy1`Vkx@EXY0;pI8z*l7AfJ(ktH3iGZ^<%i@{@(%Vt9v zT5~qW99SC?cNj&97_~AQ2{0+QIu4XAo9*nw$+~(OlQV{S1sErCXD!b?h%Jj!GKFz5 zSvDO?%bK$}gYbAxk_{F(!j_a%_`63MlAwC&Y?te5M3B)3718FPDk=^!nTRt*MJWf% zm)e}m@b~aq_F5MIkDZ@q z&QTZt6FD3IYjTMHxA8i}|A+Yh5dRzH7i_sf)(F9|29)NP5oR=7Ka2hchpc)pq;?;Y9S^eu~9bG(j$Bp*dMn`GjR!|V! zNo9q`h|W397KH%AdGA9n-rQfUwNQ*N03`D=YQ_M)oj?PI!PKP?LX39lg#CW6U&!lP zQ!+?CM8HskF>WZ;76UqMY>>`?Bg@xV+>l>o%Hqm#m?NaX1%Y>9q|J|TNx(rT$C#%IjJNNl>W^1t#)=fLyEz4;sBuLUSTr7`CB|-#efe1(%gL1Pdx$<<|ag~);;yGfh zj>6~CBkH9J+R5ZdN>qE1>rIx;Sl(P+MQ(@Jj-zspOtqjr$*YtiH}=tnD9NRlIxI># z4BOuXckB9_a941Ncp9U;CV?u$Ni>ps6)=28jxWju3};10EcX@KWL`mUDlFAtwU!_u>jb*(&mClYpS3@%2}fi3zvnt60RU zf4_tL*uMOwGIpJJ@n9IeKVAJ4&d<9%2kKAPR-^QJ*XNwW)AbVx2fTPb&O`1LmZGpw z^z{N`f}gAybAR#b^XqqyC?}zFgKzee3s5+Qw>Q2RywjN=8H4})P)GdYX|E42Uc4CM z`x%GF02W?)!G?lJBs0E2Dzwy&-Vs{-rbk4=fxb8 zhh)n(3Qv6$$|JL*1F$rJZ8=jj{d@8@1&BJtU?L3rLcA>~t`lIYAS1YAVvxQ0xao~zZ`sy*fEY)7K` z{e~K1@6mk+ZXq`i>hw~_bw)|%PM&QMpXW49+G}Rdvbkvi&V$y=Z>1_|PdPf>$7*hu zss=e*4qVUOnGRcf%HcUJ{ueaxZ;Z`14^QmvT=#Obmz#TxtL}=3u;YC1ae%htb1w&C zH}1AGq@;tCEJ9=6g9`Q(kU15M3+fZw1f-Y?9+rB_^J*>klO}fg(u=N&Z zs+M$5IXhKqJg<f!_{^n*2Av-K6RavvEi7jypMf<%T)LNsKpKPlLMD4nS*G3smY5^5SNp`TDoV z-r&c9yLwsVGJE~2?-?QN<^ALB?eMdP(=Wq(<=_66Cm1CsJAd2^t~&#~pm%@!XHFhG z+~hoE(E<16=o=H)&p~=k#_Si+_2pWXLa_CK_Pt)aK<5c&fG(hYD6vJ04CN*6K91f^ z?l!=Rkk_+lzaX!#mYFQWSr2jC09yqd$1lOmw@HR~BSwhV;aI=!{lc-nTy3%rZao}t z?gy>nh~rPUfq(U@;JfVi(Pyt_W~FL-q^c`qI|Pn%OnCPx!6f?Gt`0 z;k?ggAzELFJz3(t9-?=yT{Xq=7b7~lH&TaZ{rdL{ z&-w-l3z{&@hqmesH+Lfdl6$-zbcV|>)SYhk3U#@~w&*6j$78FG2Z00`)p39n>^I zO@oXY0Pe0+j$f<5wdC#^;nhm$%i8?5;Z-PGTuGoVL=gdy7?NF61Kb8beyZP)nkKP5 zK`*sa3|s8h^Rg0a61r<(SF7KzbO&e~UFw9eDN8?L94SjQw?!wG2SN>$UCbs)Y7*j8 zcmHR{yVx0Aqvk%KEBtsHJJ;xs!~N6!ywPcvoOUdmKGcXp{i=4iNiRJv->RMF3|#Qe zScUEi1}ENGf#$_HPMA+|l9;A#^s=-2o6))hUEZXJ!c>!n7BH?-g`0&EL@G|v4knO3 zN_1z8L$V;Zm6%6WlVHCeCbLFF&7!<6wL6D-wU!k#T`^h*S{g?w|8L}0TuBUegNN>^=rqXn#1(>Tec_(R%jvz7lIVvofm>6Sde6+PZ=~_}ciC4@4y7}lD$f$UfnhWoJ6~XOQ@@+`$4zzTW=3|xK zW-VY`r3u4wp%nGNm5(~uNVPLADGMnX>*y>^O#AIBePD^V_F;j0EQ)#mFpZ6Qg{3(%KNg?Nx?uNbC-@bc4oulU?~*K)6DY2f|2XDF_xhU<@gR z1)Gper*O++GZZxm@>#B&T%@3DlDRwmTv}(^CUzE_!|f-E1i>;F}Nbwg`_7flEWBVW73~gyiVR+7P*t z$|y1kPky#wqZmz>eveOHOxJ#IM)|I_t-gf5RmCHT2ICD6GH`>AA)(5pKto_ek|1U% zY7^N-Mg5x*zB^!7DlTuej>`%l3I$!F6YUuT+>%`g+Mw_oq3tw5O`Fu^)$W^7ycbrp z+U8eS!;%JE8Nt9g?*qA5A@O`@2seiE9%&z3{B-T^<1LKztMkq8y_?wiF5kQUzIsTf z^PPW83Hsl69&Y{zH^bt`_>b?3pLxJ;$i$UJYNEBrlR(vu{v3m~dYh3}MW>#FGyK_Z>yzEMrnUV@S_LJ= zpg6U`Gvg2%!Ub9y&#VU{{Zq6tqNnlW2uu2-Y)I~2IHgn1Orc6y+_Ieu9&mXs3Zl@_ zP623=d>kD7(Z@*sd2VToK4?MR5+`)+HSglC$0pCRnSNYO8+r38UBnnG6itpp0s{cX zPzOmEC%jXh&84gH1p2uDPTq~{0k0=|hj&5hI~TQ!s0hG;NRcom%QqOJ1rs?P0m(cF4LEZ&Yhj?H*nf+EiPJH&Sd<*nu|B_-%AJyz{?97vzh{nyVFOte?_( zMI(CY)EiJ1|Hp^|l#6JFDN9b5)nG?wA3t@^-kiTZJ}b(=zVCd|CRNho4iF?LH2oy7 zoNS88Xy6{0bj*yX`f&NP*(O;*8T?N(34tahECXp%$}#qe*J=h z=c#<%e2yT8qeLZ#B$W)DJEM@nM0#N*<&!G^(?$2_*XN6GElHFrXN`9PB0<$pF%fH= zj?x2o8_TNVHy2x@h;g5|l|r!?A`uc8;{?r*N<3+8$~H_VXWQeEOeQ*q9V&r-1T{o#?BDk2m0(32O@}$6!#>-h>BKe+%Bc2K7uSI_q2O@e(`Z@R9Qw< z64VLFBl@VGSP~*`IJlP@t9aQd1~utz_hM^QDO7T!ByQ>G^>8DpP)d<#82-cK7`^vz zj?T`uNEQLg0!F~-70Gjpeg^?nTCJ0# zycT*Sm9;x2V0&IDIV;7PW&M<-h+&t*-B zfSe1Ip)o>N!}y3Ukq!X3dzK9(&rjaYVO|T?cd86JY9*j2QxUM}}T+ZrjP zU02mAlh)7blnVKV69f_hM(@by0gh`N! zp}#APFp;4oqnlIS+IfF@(LFlFA4eCL+ar!J;s{3W3ZhOy*z5*i+%Acv44uj;;<{&V zw?~?z(%}vj3=MwNof? z3LPm6%%=ePV2L&!FdQsfejoj^3+m86N%)H-3Y}|iQ2Kdp$BjV@#$8I2ae(#a!)f>I za@&$;BC)s!8pfDSLf}5+EOWRs8iJv#w$tQoRrZ8WF$TeOL@Bfwl>mq$@8AK+6lswg zx>XKZXJz#0AxCQy!s~Hw1fwk_Xk;)XT(EU-l}5p>MQew9xXopu0YkgQZ6Y}z;bf{Z za;p#2y#_^=lM3W$y6^v4VWRjp#Q9|ZBXj^5XL-oKvG~;MiShSGyH~r zZvURYLf8O@VByQv`w;{S7=9#!cpunt0_2lX#bVjI(@GPKX7@IKeaLP}p4MpG>RqX4 z`f?v^Ni9tmoBWYQvZ_dH$<_o;^b_6t75#>JBa;?Q@j`;EHfO?MR5=@)$wXI^L8V=) z;6L7sNK*piFeH~qO`S9awNfNXtBVho?DNiNdHL=?NAv_l5I})G#U8*->By{D@KB@S ze*tz*@ymBtFR#a=%2yExO*()D023&rbD=cJ9-D0WoZWx*@8AD8;=E8PYOvB|Pfj~& zrUvDj6HlrHX;r!B)Qv`y6h3*f__9#I$jN7i5fgDrJ4{yYV6|&#up{dd`>*a-3pyVC z4viD15&fQ}K+VwTw=-z}s0k~XMS@9Cx}w#l3i4HrGLpP&@~`1@^!w(&$Xfpv=nf?* zd5YCy^rFfpSLy-j)dvDE2IK6p=yx>Y$OR=2fWkP6*|>PWN>Xd9QYC*?7o8tQzoU^x z>XB3y)lxj9B2T;q3T6tLc(ca6<*`omHX3=_S_I>1HsM8o59Fpwh2#J_@08zfCh0_P zqY)QC6Uw|77HTerd&JR~yf9{s!R$Np-FQ@G=?eHr?ut?YHHp#qBFXo2oP*b0BR(2g zB?>acMx!D@D#<55xj}}8fQjtKo~&*NG#Yt|OIOjP#|!^92G7agtcA}mMHON=ByUup ziR$=pyDJj3vWQ-$Y9)D8;K-ZD9dX^jXFSP*E?{kyqzL4ZS}%mHNGcHosf88?)O9#_ z0oS2Z!tA)~Fm#fghU;*Ks#!xFhx0+*;ux|njD$XDNg_kK(4NMvFqZu%;9CG#$%H~ilb6*Yu}#*ptsRd*AeD)NoOXJVv7+ECtj2b;r>khi(dpGzA`!SP3>O5t5f6OwRN`vWPBYn@sb#d?os9 zjkW>_IVl?u1Mg}VSQL?4;t{^?nfUhV$Lsgo%=ma_lq^t|RVu;&pM3Wf6nS`->?qk) znZ88u$fT0>B+e>nBv6zWya^G5R#hN4(yOj{I)>7*=|w^%0ixNeEJ^re^pn$CQk*56 zF-KUtbG%w8@N&dx)T&a0gy1lWOuWrTS|nsdJ~vX)9J2^JYDc9Lqe;AtK9B<_tqxf! zOCdm&));5^3lzubY?o3-qg2zyphcueNh$!E>$Qodkh`i7vj`7u)zg{+KEG7CBPkJA zv`4fBd)Lc10V+Be2CbNq!>0U~o1i29{=4>*OHW8CO zg@oZ{V9p7$PT zVafjzK6@w+seVG^8$3Mou~kt!a|r-LjcH_h5|PuS<8y{9R7Ma84%eSiY7VNlVjMCGwn?Dw6AK zoi!a~9&ypH-oN>FL~;ufJF6^+fsf1=pCdTn{bL}4cm8p5M<$dEkF30EO(F;IKoJ_* zBhX4)S3`Wr*E2d_!-?e~!f`BuX{^hJP#EJ?bYM`Hff#9(zRTS516{W&d z4QJ^bMd66#YWY$#i2Ia|5r`dDvVCMP%+O%vlo;%>GN|=#2?u3R-_oUX)<6Zi)n;2M z`pj|N&qOsh7vHj~l5SfdJ{j_;BAMO+|0iIDgAl1elcs`&zJl6H)#W(E-kg?U85lV66=4&=Pj}B7Jdqx zh18O3L+XHvk5MP`{8Vt{Tnk}3N4*O!aMLD9{^{5Vr?u>Di_L%Cd^nd>->wm7Tpf(q zvLdOb#bO0yfeZKlBXw;1=&tgg5jMR|bo+U7MhRb_AwXxNB~6H;C~LFQC8mT@L(s9B zlr@4%yK3NV-CfRutvB1F4Nbd58uourl=$QAU$+u(KD_u+&HQdbHt7XtRXwSg(~+EI zbTp%b%rv!oaEEoT+fjBO&xNd4#Fq^=CZkQp{jo_NwLM>ZJH7UEe?m|Sd`1v-twJg* zAyDw*rBeo-DV6-gE|hRtE()Z}37GuE6UE!lkqL>{Dvu#@Ej|g+#hNkMl#F#00aSXr z2Yn8o$X49H&(6pDQ08kg?em`x8{F=G@cH}g01v+CA8eC8K0XkC`CyRF#oLx+BaB0; z*Sb#JC2bD#OX$ij|2xPW_Cst!`VunPb7u|j84ER#8=s_A!qfm-Xk!lb< z2vL}9Fh8v0`h0@pXRM(2y^sNVVMCIV_^-S~J}}0`BzT?IssyHhdMJ&HYsPjFZkUVP z3#tieNQ|}AWVn}($`sQE>B(`=N>!~*-iL&HnM^F^zbE3;UD|%0Oh~}O2@N$AE(x1m zsldkEWT%~w+NAWLuI}G0;N>h}Hr^^7_;eiD=mbrx+WDjcrs%DBD2z)R!0n>$z>H@f zq9&vsI#mKe)(H|XehZZhDih1myyQ1D--b#D-`R@ts-QQ~K(sw? z_@v;@xXK^T&RLVBZJ)*NU z-KB`BuP`)rw3%x+n*^U|x}9xSjRKu&Qu_fm9c7_sP}SE`BKJ|y(I=yX$lE{bB4T@Si--2pxrBYSC$N!uTPUWdMod2oo_Aie`!tE% zN-L!BV4U+H1w9K8GP!~P_k-yQVMtnYbYZ?m8h-Wb>5}Y!_9;nHkbN=UsmyISxu&F7 zAWIU-2w$owT?yPGukYO4Z8|4H&nD9sv-TA1-SU>62Fvz1Y%}7E*)1vDhfVWxF5zD{ z*~#`;X3SOc0MjO&7eya&iR(GEK$>lb>jhN52&M$6 zXh|uYq3GLsffT1YsgjI|44+Eq(nCP)&XSIasb_cu_IkU{al5)(1MY9%3!i?5Pbds< zprkQXYKgfxA(HU6n4Fw7)`;p4&;w~X3TmG2$o(}vVgrlTrnIMio4E02y()Lmo*7%> zUpMXP`(C*8b9h2<;pUf8)hxBQT9=SL3SX5n6$L`5T|qZ5qvK`VO=>?dRVM<5pMbsE z$Mz%+<@JPs6S2|+i_x&7?kMEuvSA@+Fj^L=Ls#O9RVt(7=82ZuhXAN=r^Zm8KWhLT zRFevt=3FJL_C|5WXF1xBmq=PIcQv+-ZDbwF ziRbOV9z0I*!YVR!I$3E2aV&)gAQoSxenhKh@(w@#IEKU*dxWe7Go zit!Z|pADBoG0G)EujEcHNU4ywk zDG<@5Ds>7{3zV`%OZr|@v`HbK|1-xx1ZlZi&LJ%>fg;}cupi)@!k*Xr^1l7Fx?7Z4 z<~Xyt{?&faulPXSPiez7UbkO1k>>3U!o1QixTx+)-bxQ+CxsK?5t0UN424=L3Kg*nU?7WEAghU+y2L5ukk+cEkj-Ork7N!mvA1u8k% zG&_^VFM^^IWQ#-?Dy}kXJP5<4JE~Oh1Hd*;UzPx^Qb=Aba325Nk zSz2Rrp!ydqCqST=XOn_}Fxi@Dc$2g;1`)K4)<@8?SX2UzKp?L%{pBfrNJnwMb{1uV zVhUo)Ruq>Fw+P`5C);5fI=6$clD8KwY)G0hPM9)!**>LwwBbF%HK3QuM~})mf!y67 z){@ZZLp#E+W8vrNR>R&9S^LTi{fOx2;gk@8TCqcf+6Q5T6prmB1$!w6E}`TOB)Pi5 z6BpB;B8`2`B?)$CKif5_etGtDU`p~N$Hy2IoN+#?AY!nkO2h5bT@GLleL`5QPF?MO z3W2_zFXy+PhDx-b2UC)$twIZzGR9o1_Bz`PTE{4L*51X#iND8Myf(mv`nhvd)_>Zhyg+*MiNDx2aQaYilje(U^Cs@?^t!n~6uzcMSkG@ZO(Pxp z;vfF?=9?ex@}k-5N%U|Vx26cxVxF0e+lEy1tE(j}?n=95;uEHV>vk>Xm-(h;1V>u` zvi*6P|GeW`U8j$XckXyak1b9a)n{v`M>4`g;E-ZgW~u3ulrVTQZPbk z!Psj;@K1?QMx*fGDq%ai6_AgU$@S~Avzwcn(>VP4?Ggs3!_nng*{EbD;74zISC>og zFUF(r_PBoHdT^Pi`{edcMm$dhda6$;4zEHMZ&icI!}r7ZE&t5#I6wN~aQ*#WS@cfG zDLoZuXpc&cHw3JkcM!ak5cwz7k~Dwji=jvR1Eo?^f_hKjeJT{*Do8i4fB2f_#$ZM9 z!<8HS??c~f`+QHYH@|!T@9#eR*Ka=+ncu~4fBu($`}JLMd~$a77yj<-?EQ!L#ee?t z0lgJ^N{SC7HyHP_$#DI%v!DKOTr_pm4KLNxhd-Wu&9G>Gc=qebr19iwoW!iT$`^jU z>JP?mSAe0`+Un`@yJ%AGA%_9Ia+!DZsvi}^M_#1Bzs&! z;Pu^E+ANl#gUwLkox>wgK`=9DFUN6X3t)A`(JZ%3dntQTj{}m_VVE=b< zedqQ+TaM!A9`xh*-~rqDQ-XZ z`)l#+);xW|sl5QJN4CY(^i z2^+%^O*pZJ6E}tO*o%w zIG;9#6Pj>tC&h-73gN^ioU0nn)y8n331?8l8EgzEHQ@|vIKxfhXwrmpUBkKF7!Ga1 z`CP;KyfK`G`97-Qj5da|FyF^Dob?P~6VAeXuQT%Jla1jl%=c*xXZj>7HjhPSaKF@W zzif=3Zo;{#;oLkj?r+5AzrYBJ-nei@HX3D5w0{3~p${FoYPG7YJe>~mcF;cD$9 zyN|c)Mb$UYs&B<+vY-sXAva(wAAWt5Qv!|kx9Y5-$`72A3I}ykd?`+9o8u{; ztX@_LdnpdfCxNUX8p|u`ubhr33;1%Pi6O!p57A3*6pmlJaJ!FgejNDY1Vjc%+8WBG z0sJ*48-+H+bDSHITmL8lSrT-SE5@9(!7(HzVI(S-Ln|LZjW_qopheO}K0eV$^}KR*O@jdaga62=B#LeNM|v>_=+eX@y}Bmt;S z%B)Dj91XVwA737KO>xxL;Sys>pPGC7gO&=6>$}R%%#`W zae0TFz_KMhMhwwkO z(LLH|S9P9Td4f*dKWA%1pxS`qj9 z{3ru>lk3*b7i!w7O0=p9t^BkqpDU~S8U>ghMiD~4#JDb69QHH&-X7;d;g4)y{C7R| zCvGws_57^KDeM7^8xCSM@l>wL~CuCHy|8IL|T=*z58iG z*{Vq1Ns(vfcm=e$9+t&~%|gy~Q0lNiw`!rf6H-g=V^9v=H_p5;!BAq2bJ0>~Q#7$c zW;=w=kQb@kj!oxO-jPUCBdOxnn?wLdX@F@K3{lZ0uY~b4bY}f>JEr$wn$=1UR%h_h zwV0p?YGJs~zF`{&Wd^mxRS~@Gi6Rn7R zL<5%Igaw@uPJ>-E#< zN?zpd#fx-pN2x>GR<-2b38_5}3Q$m@3%QZi_29W}3%-KP z?dWt!=5_ndJ>o?1-FPLzBte`+ZR9vnR0!))NF!k$sF0ASi5pG2R_1Wo8w|?HQZ?7D zwEL18YDMk9$N45kmd`K|Rx+EYC*W-o&IJYzl4L|2pTi(_%teIw5dYdyI`D74pH@-n zyrd}DjEj`}gc*@Iu~bTfX7~7f<~VlD!&#yY-O?&``w&ChaXc_|9%Up(5UnVbMa-1u z%;sjVi72Nc19g0k;JVhU8DwtMl$$@T!_jsmJLKqd10>~~m z1OANWtsS*Jr@i<292V`QH=IQfCSimVtSnE_u(`Nn=O(Egr9G!PM9Vcvf?;?eVoHW3 zs|>dRv?4yAboBgYq#egSXF?=F3QAH!6G<3T%8{UexTHBod78Wo)!&NbZjAYIb8BO) zP&7G?s?Y#{F%2Ows5BJQ<+OYl2~< z*pUJ)2VQ)h!gOgpp&h^Pj%8A6!X1^MX;9uuNgaxE0&fgP*uigEL*C1(cD%knRtb$l z%ZNl@nkZ02rQ}I8L@+NHN9oObcRJ=(2HDQ6R?NOTW(7146nOAPv*gfC(~N3So}ZaK z(;V%U>-D=fSO~I}S?!p0$gF&L(~fLUK7El$PC0W1bV$s`WDPf5YAL*aKIgq1v%Ms^ zQp!3je4vI2Eie#~`CMLWB=bNb-Mw$!j?rEcT54^5@F@}zlM*19;3ziITFzO_huQDi z^=-#!hx&fvE-&UCPnHya{&4=;E)9ScF2!iIB-wjm*5eh46;e6DEsZA{p*-^lG#ZmotAyy4i^;ex>$ba0Ye(q7G=ssMP$n8GB6Cgx(IV;Ss1hb} z;kK+N?=r0&p~Ir;+?`0w80I4ed?2&|bdrMf%%Zd>qq#jkuL>hOW?%)hC>yCQc@wP& z?dPU&2%vcg7?uew6(@uoTOqXW8t)rCL zpptbUL*!m?ojb1?o!8GrB6V=IP;FAxbu5>gyncVxUMQnBaj0ZMmz-ydB*)r}j$y*N)u5U6`-c z=0mol1Pequp*_nsnG5DTV~QGsVl_>v_jL;_tN<@9(6*wppA#k;Zn?q$QF!IGMmdyH z22DfA3L)F%iW=LSFctij6Q&)x!-UzOk8SA#cg(?YaDBJZy>7>6KW7X^cq~foB4Nao z&3hp)@G}Szf;4%D&^D&ZjL@s5NjpZ{_p7<$jymU(q)c!Qpuu@g4A13A;dV>XT7LD_ zv_I+fdjqI_>sH{;;#;>5`F0>3%EJ30jH|S5B@nqrJ|B{oUsL!IxKG<~x)*qzq7hal z={-6z-b?2~;KHV;ypTT0O?aL9!<&oiK91nR_3?LzHPc()@+?emAN$=Ab;$j97+5u! z@1cON*DxMKEPB-^`SnHl`l9S!vTb3IUM3Z6R7OW_Ofb;}qavdmk_flw-LEAKzCR3~ zR!c+cYo0|K+6TX4NZS^N(Skgb2<%cIxMnsb4QP)dQK%tlv_$E=;loLr!X^SS?hP(6 zSetc0TM~)Z7d?+vXdV8_LG4y3Din$eh24mS5*RsI&5YIPrzAy`Vj2<&i3cs%Mh-$X zsg}f{^##u&4(-EU7|d?Ppx;AWUB4KPiZtxUS`>DYwX5D#2UR>FrHE9V0(A+b&jrB7 zI29xqqU0>7s>V`1TLo9U+3OQ27#|-OY-mOVCR@ zd|L78b|1uUR`(Jifd^uMM3YaFp%g52LMY)R@u)aQbw{c$^VN%;73Qy4TIp*=ZXYRb zs1(82=rsguljn?iYEhIl4P27#uE_P`a)*UBY_=c8s=&dTfQmXfFxqOWJ&(jDE2Np% zn62l#z^I3>{J(~UYJ>hf7OHj3^O1D9PE;+b=d+HAk8X_i2?n#SZSev7(`=^J=oD8P zm0xBJ?|vGMP`=7UeAy%<_m$fe)(7~SI~ZQyCn;B#qidJ){#OhMr6Nh^JvN@BZFjjb z5##kPsiNu>cP|#($x>$BWYNu_o-hs!5=HMb9|jf(HIO%fR`Qxjb&*?J?$Dej$D-os z6C33~MZsgDBDX2l)_dag@p*|>hr(7#L>}g%&S}S_L!A?bgYjgi1*JqQNIDqlfD-K( z<2*)mIu-g0hM-2h9u0jTt~#f5zA@@u=Q_rvEdZ@3JxK6%X8&JCy{hr!G^Op$eaKyE zm~vXNXdybKq!Tj55FO~G^p5BLQneRV<#uo9f(P`eT@*wGZBhW5B-i!%f4PqoTvRKT zyIrh6EvbQ7?{WzNL>ejQjxg`JGT=BIpD*Cnp@5d+FwUX8y~p+t|ujbiZ+zk6Ero>-v1Ip-w;8b};4}-E`Aqg9~Wj0z3o<1UByLa4qfo&x{#Rw~KnF6ZP5V*sy zDCUENys^?hq6^{Pab+KxMIu50yvXlY6exRDmkVZ`aqrR&CIzic+`MGHto%ovOA z9hJxy6PPiAn3#CdLdx)n>GTZVLGDRF2w*6nl$RbzN-Ah6Y|zvuL$?&H-V8^dvJF{9 z*LIYi!4>E}P4I#nY+7Pfq>?$DcMKyK&ICd4g5W$jkVW195`U1UCvp3xkAZ7z01X1$hS3rT|i&|2PN_-dK;$o)*OGL?g8dT&j+aB4uoHiU|{u zcmlP!5vby4+(j0(Vu^(3gVSR;-@9idrAux8-G2)SeimDk(WbZIl$w z??@78!Bo;NknJv`E}#=UVG`#B2BXY-RPCsPP`4|Af{Es*ChA&ye}Wqf2fg6>_12$O z;Lo!4r+vt`1L=O}&nyww8`ry0Z{OANhUA^?{N_@~WGoXNJ?n^ptH%H`Sd3XQw9m5a zVLZ9W=d%vFHm~y)jS75q5IN4xJ3ATMvE0L*j8esjCWA}n(O^VDIK?4G<|Xea zZ+fxwy1eUh%jgK*ni6{L)6AqhS7j|RpdHuk?{n0OYv!1s=)h8pR=Dy>V_;ySNfJ@o zMAuDm&JN>ktzIkWXVG-+1D*||%Y6@dOMfv%0SN9IB>X=?y)?eh(dT%FTf(M=iQe&fV#ZelNHlrK1!g2^~PD)UphUm3PM5GJ! zQc*n{#Dzt2mbm8G5raeqFvAh{YJhHAKj2G%FQxQJC^{oX5+9^@0@owykN_-me%ONv z`fcbSr9~>>f)rW?ItLAO#K@2#1j+oIt~PJLvydk004@ikjLRT|QH)BJyJR9abn|PN z|I$3`aivzr^9GCZUeAG-Ev()4%AipoePkl)O#5%a6bu?-b_rcz5zAx%E~Uo)I$&_* zMT`dtS_r9}XULm8*NR2T_|nT<{8&nT{q?ob7MNqWjxkx1!G%>x^z#naTdwKQ@m+Y* zBzaVhD<@+N#%5d&z*-ZKuyHM-rDK8Kd;k0hjX=%GPq>&=`D$ai9r?mB~jawb_^%NZ4K54vy#);NKr#cRWt zars@EqPu<{!mH#Z8lXhuiWVtxz?T7C8(1)NI_tc_@e$5%-UsvD(EjD{DBeuWCeZI|s6 z?N5HSXdkG&I=XkLa>a_x&O{J&i9_a)G+@vdp{S@*cAH|YgE~&6_Msf>5q;N(_6k`b ztOQkH?fD36_)!%yB5i@=zGEyR1y~1~B|-t8MnnJypp&w0QLy zZ({NK%n#?YxYhk?`-s;vxAH~_B#y~jjg&SyRSLI3xZ;u(r76Yh!e3ug-t~dCtB-h_ zn#|RSA57;2#@;;PwQL*PxIWKkf6reI&0T%U z+vG4;=l=DKPVssV519;)4_n;$ucc8a8KX<3nJwITZA}KAqtqIeD>JpaS-7RaK3^iy zhgn*+;k-j;s*Non_~?^LyvX80Fp6to1)aFkE15 zo4-Y8wtL{IS1w>CWm}3r@-jJUiCtYhZ=hq!}RRGzr7gzQEme*J90}NMW2{ z;8Q@;hQyPW63vURAIwPDc#Cx1K-oSaL>zbGLi)m4RLC=s6DjFolO?e10{S;p?D5sJ zKAdl>XXpK(HP?^@=Rj|)!vFwdT%%PI-Ut=-G9}#>^DzB&d1eJl(3xAFeWAW7L4;s2 zP_f`d(aWUdEfb-9kj}^_)6WNQB78Evef)O2r+X!T7j0=zroP`n8`n01vuOL)7n!EF z=B(KPQmo{J5?LCsMHnG42q@lQQ0`~k_I?BUAF0;nP+}rV&C%^5A@a7U7#XDC$z6=L zTsQ*w>xlB>K|p;_FD`rd8lT?BwmmEw9M#N0E0Yy0fG%YXd{gbUMHiy62fJ=B0l0`={I(LS*~s_#v~&AfvdRo zcSBXwyU!0VJ&;-t4@awGeup`pEK;vP$)Yiyt5i(k0Vn2=f~4{KJ7r^?ZO)?COJ6D_ z;be%hd%z>UpgzVER~p;b;1(eV*Gs35U$a4Rp)PP1{b6(gGzJ==gi=wHnha29@a?cp zlcIb6W$SRJ7w52$Ms0vcE%)iphx3eo`AlE<)uq44fBxsQl&KQU?dF$0i+}%d_yC{& zW1d=h|L_UF_$Lf)hC9nsy))9{{S8LJW4v-rg>N?m5_!-Kc?SGJjOe~!{SO9qKj$r1 z8h>wfKlTI0&wii^ybp`W{qSk{Y*qZl8g+tvpxj?Z8qMwYfx}F2WIwI*IgWRuEx$M7 zs z_U$JBX*c^F+=nRoP^PI4AM<WY?a&Sr5Z5elKr*XUj3x1?n=VF{_4(xVt8zQA{ZIe>m;aja_SaQ*Ofd_Y z`zI7N+t}V2{UseCyx>i*tM9my z7JJi?(EFRT`orz!oxh>ZxA~8=@xY@kz`VkB%uA*@fD7o$62`QdgK8_?Ld6itKYyf9_vMrgQWg6R zOb@RZRLyWi*$YDHNaOeh5E;#t4~iq~g@gjyI15EG$EinNTjJOz3f{Gltcd;wq=V*` zHB&sI@CCuNtt|9dZ}*nHts+>af+(6wW74g5CxtJCX|I#Wx&>Ku2tMs>)#QGI)x%w~ zsvVALdqGSM84Spr=ooqdTu~Pn#qxMy0G+ySy)9zb`n zYx>*O&EJXp%&>m8j>{w?3k9f=QHtm-bIF-@ghZCJIdoNU2gZNthWW?fy&*6elJP27 zDN+VoTnW)BE;0s*vT0%2RFo2%yJq+taF6fNMHZ zdaK&9KriD}+B;aQ%I?7a&y6?*H_SPmOx99MXM)N)L`n=bshBvu`5P6?O#`i)<1wW# z2&K(EuC3%IJV~iQ73%~9j0_S+>H+;_bQq-LY8jhWmymDo&c@=bTS!&KcK|8sAJ|@? zpsKegv~!Z9`u(c7LowvG^LnLI!dFBp5%2{`z$C}%B@q;I0Vqw;#xT|2*6Hr^l&n*e z{$6oVSKH&tSr7)-!?nYk;Q|v%-cpRs2_BV{Y0TaL^pw^@vW!SGMpBGQK{`A1XH{*a z6Q6!I6ttN#IBL>6K*Mtv8V!kVBWCVnf|N5x9*hd(*o;wC(A%xeVg7ShnYuL|*ZE06 zwyROpMqae_MewXR^C^}n5_LwGJR8SRbkmmRgH5ff;JyKMkbTaqb)b3i631?H&en3D z3s?`q>+n?oi%vg(q%-18C)}2d1ED>4K1+;bnFeVzQ28@20dP`n-GlbF%Bo_&!Rj6C zz_r847f+o_1!qFUEQT5`0d1bR@=CTPu+UY~Z8lR)>^C?)nj=-U$Pv9S2&b?6bhqr< zq-aeENd;y=F_Uo?!D$0d1TIx$DlDq;cG|J2N$vnq3+&ib^>nX5ypdCi9aA zOi+X=#o@5Ij$A=u!#1mc+?oz|HzmVX1$SWm*YGFph^m|9sNzp>K(M=)j`G`J6_MYj z9Fr+Jm4t6dmc>$mD8nd7m`$duf;)xP1B?Iqbzz3_vk%0RhY78IxzG1)$Wh8L>AA{= zM;)9}+~bN`a-hy>DK=fw*<;I9vA;{)bVP(_;{^=*0l}2fjOnbIE+w!;*OdbZ+2mvu>AUR)?MNL=;(}%5v?6UG(>I% zU^vgSa?vnn70!aCrt^S3B3c#uZmr%CnQXVVGRB1%N@9?T26Ry%@f}poNx4_NuXR_o zD)!x4`(1B(Cds36TsawIFgEMJz*-Y9BIH^`+hXl8wP9M%tD-xw_yYGAstSBWO{duQ z+)pk!$7TM!Z3`4>NJ+^dBcXi(;R61bm;+xxAEqNmYF)-l4|Ge5gpbZt$8wp4~RMLW)OK20L z;l<*LK~1;XsqKV@n&b}9Fe^>AuCn8bIl+nRS5&qwh-JlQXCer?Q6zIn8gzgNMMafz z(+!-VYvM43DVD8Cf3NnhtL<^+oB#tu!^n2yL&;7!rI{_BHpYmz%Kcu$2~>XtaJ z?*(zRX+N`R3*K^dKV~Ci6cWHFEg6#{@MsjWAC+@xs)fGkv@o-Xj$9?$`p=2ktf zEAL4aEpPvAU-Oo2Z}fFCQQ7uP)l@Q9S=kVUl9F2+;|u`oSHZ7}@4@^p-}4aKzhfV$hiolx)38WAa0qoTC}YtW4ZmQ)?7_;2lnr2EvZ}LxV{(7 zjrn=gGodjZMu~_XQ9C5h&M9sMQ`yFlMKl;rw`1sFC8<8311Qa1N$SdbQbi}R{;bu+ z1TmG`8IPGbEzjzk6r2BY&RrAb^!UpR}( z`cSx3(l@1W4_otloU|&t2m8M~y|Svo$Mm!m2oM0X*r;FvbdE+N{jmy4K|~7|3lAV5 z*`~@KLqt4fSJnh~VECTakh&p`s(ZkGQuCk+z8c;Z6(fTbeABMjMwR;vq$<7xM7^AW)Rp*zs+MXNGrE&mJj52p zqKwRDmaGXraGo7CY}Viv3r!#xDiP(&xJ#s|O78#zvyRp3YI|HcCn+?y6W`bnjw^`P zrC@S&t^_GW;0|3FhEuYwq}am)wyNa!YWjXo!q%y6&jGUWMi6u6K^tjg@H!dol@KoL zrW@v?;9c^6O>_swKJ@i-_M562d_+$R+J1dmu5K>IOey?{tGM=eLxsV+&qF#T{`CC? z9k*XzrABAKVopeASTx3Sm5RY22&d?nK!VeF7YN1Qoox<))>B@0^$8u|WR_E?tL|w9 zEnVFjzZz?F&vO-py53pFV{`#DQW{V~siVdn`(vYX`hWJGw7YFv*?fKa6?k%A(Znk4PU0&1c1CpT3nj%$_^3rpE{F?zu2_Pw3a(t66)@fr27|aX?gTc%I z1o2(vBue}(_kYhtJbLOYG<`nIaV zf4o~rnfTYAr+zW}2Io-4-dS1Bw#Vbk%gYhY3h3-8%O_(z+j>>=Ja`&UCoTG<$b+3> z(_)5Kf77H~lpy06nrb6wq`?4G%tBGs8SJs2h1d8OY3vRjwLi$NqK>qYIffzPP-D(Q z9Wi$r+~K3b$2Lv;t2ve`{>6`F+vXz;lvqLsX{N=|Z` zRpB#;^5SNCH>#s^Fv>b(Hh}zBxUQLs<*y%x|d7f9b=CF){ z`Fc8KB}^!QRoHLy_+n?cpQR;O73Ji5#)c%Qe(elPc2!o5zrh4>!OER?CodEi=F8w| z8JA%0Q1Q3PUNSqQJ}YAglgY~%UnNmhqn%05>&XiSvKR#gcWDze)0j{?V+_`<5(wAy z5MV4fY$op7ZO3&->sgD7=+gA~*W`JHu%7VkMKGlo@q}C0YOTg+pU}*UFxZ!R!2^3L zl;U$1%XPA{vQ;lcBlWbH(RB9}jnm4)y`>Wdb_WZW*0u-7Gz;fV7H)y1DqG#W;jUhF zhD&rbO*6cJEtC*GrzNe}I_B%jJiiJ15*w~AGHdvH<^HDCN`im+TGAD+zM*vQxhwND zKm{mPV0#g>BwVX!J?;Q1CoYPuURT9@-tf7qae8FII5|WG0^QbjZ^B;B-lFBh{l?W# z^tdPmdjG|8y;O-`w!Sm;tp6DjKg&aON>wl%EJ^SR zesDDwzh|(B*1r*3z6;JEGJ#&;&TvVT)2xVXfN_CP=qWuL?pC8z{ri*nqv{rS#IXU4s=LN~Fxr zS=xTCl9%0xnGeZQNp2(oI!TLDp5<*3s%m(}hxTLjrB(Mc(%musV9BrlXzPcPx?p($ zMshW|24GE+n~eT#@!^N|ZA$a=7H(ejp?GKLN3|z+U3j~2YHM{LhW#OkyT?yo{I~ES zPSq<%{qQjG=J*dHKhti-f3~4%5Aol}`25Y|KkleDKJi23_YnF0*&@Hyg1Wy*@UA`G zl()Sk*(k(4y@07LVfdcrG5Q&I?3S_N0LtCi;uFAMLcH>p0kbdcp{#-!4q$c#~1OO zH+arB#uJEm7L#JbNdu6Y-=Co^)e8k%%X2@MIrk6_>tkjd#}Ioo&jW zqltKaYw-NGF&=6D=MA2GV?5IQFB&|X=O z9!JD;+2FanV^&niTYkrKM&g3d#jQmU$}RRj!I7)?J82q{dCGS}`6^r;(LndHAZ1ox z;E9mq3aYz%%4l#_HQpY8du#|%w76TpRBh;#LS{q(M-zaXom9-r6@%?tccaCe&lYtJ zm8!1l`*3;Zv{jV` zeh}Ec>9|gW_mfzf<~cSsG)wEIx$~nPd;SuTJBGHsg~mg5?Z z=^GJ{@$EnjOr}$2-cxT_=oyY0nR>ve8Ag$-N1p8(Ucek%^{viRot@DtiWt1PHHNDv zHM~XfMpn&NBWihG=&Pn}Ie3|w0}5kkk?O2S9*Z0Rq4;VI`u(}fEg)yQmKw2$(#U7F z1ye=WL+S>aXHeI(S7$fZkhheo#y8t)zTp_E50SGML`+jPl{pR#sObfk?{<^fQcp9G z^z;rh!w5r{nuhL~L1^kKd^If3q7HRJn>j{!U%I3^HjA9VwJ7w=p}KAWWgrNn>bTw8 z^85S8Q=xb0B=pF)Oid3BkD3%Fys0q@^vjHV)$&5GuajNkSrip)9h=uC&-BpNsZK-F zvhig-AaajsZsa?G21DB`<1Tsr6ww{1yEYgLPxE!v)y>ETS-6e?_RkG`!w=Nx2I>#T zZtgu}d%vH){O|3CZ8I9TmDsyZ^rsL&YWsp z9{jx4Gv&kGXZW3?2t(}Q58b!%0> z&_Y%OTx7c|m`8w$_0G*zWT`xBu)`U_N%Js-Ye()?a^OEOgcV|W2ybVncL*1U1o1hH z#Y|pW6W$1B?sHxM{={=&Cy!^iT<|GZKm9d)Yfh96)T)|}iyPl>!~dXG_m>E5gn!R!)fm{n z`x9&0L+b4B{<-b^XMN`4gJ|6H{GVfKYWMu-L;mlheE#P7zlZam4_UrHb(Zhp{O7~@ z&%fUJ&-KplJ)8%<1<%8I&>QhQod3K9&%^o8zsC8`s5$=`wa1s-!u{Q~C(48_XO?IqwGmAzrYn z@r0Gdb%8gJ_F+I_@wzq!tek=mgClbz4_U!i@Gd~r#TakuV0{<{Z}(2V+a|!ml#Oxr zVvBC!WtN|V+ZV8LdC8YIWnRWfT*j!P=`RoDg+eu`Bss0oaJ(Q4Mu=Op9h@@!blhy4s@O38|{=*)qQ^Im8wQ|&L0xRo0DFt3@K%xW^tg8tWF3%Xa z%Q^AqaS{@iUc`Bp@=I=UvyP@rY-$ULg3*94 zh`1&qSW$z015#vFSeDK6fN_=sz+EqYVO*sF3E1p91bqEw04;Nxme=2qG%E={k;dD- zIyl<@ZtwNU-m}A(hbKP~D0*>t^7`QTn7nv%ME1zry`z)E{dX_-j>y}0M{nO8AB+Z) zG&GRjXa4|Or}hi!f=lOJf!yJ|D3v%R#f$|7^pECXvbRZWy0((w3ZzWZIS8u8Q(YIm zO-7?JxX8j%30M^c>y+8~q#lKx$Gy^j+(3dC0BS&$zc9~}9ljSn9#^L94CKl88i7>> z+KrD6_MX2w7(JU$3TVetOyDXBO(%2oKz4#B!Pj3u0m0!O(v!^pHNbxqC~(7-W;~0RHZfI zG!Y~e@Rfq?!03tn@{2MIfEIVbmK7*BWfBNXay=+^xP1kV3SN52@;u8Mo>69sq3@us zG-c&H1)7yJBQR6X<(-@*jKYGfRI=TX)eMT!Bj}b^+_cJJE}|gGGz(d>O}IGuoNsIZ z*SeJ!V52GXePd9z$z$dF$0XxN;K&rh19C<$7@q3kDVTn&T0hp`TGnbCypx;-*(8mB z$B?%o@^}IFxB^NuSR?VpEqr@w9g2p#+Mb3iqA&xRm%(snA6-KUfvr|7!v~9TwI9JR z9`LB1z@~WyiH5TZs4;aT~VV+gDF;mgI`| zvby973;+vyG|JT6nyo-)rp1e?>wUbKrm^HDlWY2hy_Wi%uT7`}7{V>}Ktf>K>v3lH z&TZ3Ktr4bc_V9+ZXb`X&I82J936^RuSWzZ7F~cFd%vd+5r)9StPoz}a1`MboIRs=WW3aGEFizVcDu3SAf+uU`3Hh zdgi*#;2wz5>wt76=X&nSmetp72;6l5;>#-7#^4kMd=(eCV=w|Y>vaZml&A8szj=Me zI?Jy+bUId_MAeb)+GW55$M)dgWc(Fp1+0ECIwN0=p=b+!V4(eWZ~vcr-yWR4-g|XG z`1!+OPwmOx(aiwg9~>PYzIjcCJUP<`aeQ)g`1;!l16c|6?A^CV2XEgToh*(K&93<| zNKD|S?6Qo5b5{NXZ374`EqB1XS;f=4qnBjZQ_=0kYVLp9d-byE-07>m{{?4UU0Hqj z8mhHb)evFte@Dz!)s1`>EWn_F>I(x0p+q%w&GdTO)}38ZLp)uc7od?+HCpMLRh)x# zRougc?jxu;r}LoV4=TP|#a+8+%}!FxrFOhWPjr!5>#gVYIVLydN=#MrR-rRh$rY^9 zP*ohskNHWUj^HO_s#uu?LbxMBdYZJ9fvdOzr>2@~;?z26C`xe6F3)I5!i*I>O;N&v z8PKwMccg^Cbz9l4Lh=&uGLE(<18Z(Ypn8;}AV~&Qn2;~{F1R9fhQ}8Y1wI@!H+3@VpR#Ov7m5f#GjlA=!B`EwwMnnS?Tos7-OieU~a* zLB0^$e2F=bRTM5Gi<1$dAW|D6eYcUnb?ORub3gv$FkUhF|YUa&_I+cs;EhFbm2o1UorP zG8(RmR!vVA41|(PRbG200+Mh(73Va}K(CXx?gP_>nc7z`WfYo7qe<*60+|xV+s{Fx zq)u46DHxU+Es9flH^eg3b~=aVQawtc)r%H{A!w6aWom6Xfr`XZ_e{Mjr7n;u$f#3m zY3-mkrzuE7fjMWzQz3{Sh&wk|FR%{+tQ;3sCip`ESS{ftr{@;AzRls*)$SjVs&kB+~X?gW=jI)y)qb3t-#M2IEsfcNntyu&vY8 zHopGxu8OO31=w(%7WT@WNZ`4>P=oI`M#m4l<__T6vf$7?oH#4@0atJW=D+;(jFcf* zf2nL?T!Ik;+Y#=e3bo*gn{r5o>=yIcEX#4DAWAbOFUz?4#;!0~ zkB0$76b2rOY4vht!%qJLSSl`Qj%V$*V!oEc4d4E8rNKv@0N08SR0UH!SKigXHa@M93Bo%P0}l66JXtM%oalWsQ(gLMLLQ zPRhrzO|3`9%LdiID|HLnTYYk{Eq9e}Ikv0!Xa=6r4{C<%A01{LZDoGSk>kmZzHz4o z-J+2+D2{1&yPu)MyKqbNQFcTB`yCa>Ssg6my{mWN)YYAp7+qUk5q=`--aN>HUVZGN zFXVDvlukcQ*L95^no0s)Im_k{o%)QhtLnb$E@e0FLaoofHDw zX>u#w3hYgcL`9@D5!Qg7JvD@4!PS-D3%rpjL0VaU2P56Th=e7G~`>=WFe0R99z4gNV27BUqv$MIgckokw9cL%Db`SGA zc(?(tU2op(Zox~}n~m+4t=-g%?ZeLAi+^rx9f%@vQA=}7pg9jSsEU!Xj!;9453y8c z9q^4v$|n*ussr$Yb4O)fr)*u8dAX{Z<4V<&82-D=W2mQq;k`qzjef|vpyzqubT6DE zk$Xo%7JuQX?%9j*x4#MX+}c;Ec9m=?)vnnwmVxC@tlE~YdXrWp*|c`eM7}ejP2SU) zxevmeg|s%jT}{bPtZD!Ve&c;2DpmOO5ucrl3f_AW{H^c>SgqpA1vK>>`lInM6wA-y zfe`%LeD*nex8z;7&xrU&w>i9Sl}lR#x9K=e`|)I5dJZhtJz34+-II3oN!$g|ZO^|M zp`I)4wwE1BvJ$a%~ zfaaxZU%`4sG>|dv=peDXwK^CA%zi@IP^@P!x0`^Z(k1z6w)FnKyS#ets^KV{Ew{bl z1gsus%Wu8N7RG0pk~FC@$$YAU`6^Qn?T_5mj5nED?9<_{XT7s(GJDk_QE}(eSV;Lo zp?=ppzNuVq&?(0G6u{+_hyCq-gO^tR8)wIWg6QBe%6pePBEER+H{?K*b1+b!eKT5* zxtu} zdIx+{r}_4Wb#ikwp22xpFS9jj*?hjS_wJ`xo4f1G#v3p2~DJ01|#G=DV8C^!bb!~jYWf1>E(-#3W zc-31kmv)-3wpyLm&PF*~0xv82zAoPZ{$T5!4$8jQ>qGfGyy|EJuk|w9Pbqk;i&vZUY$jK=m)G(*)Rn;E`KF!5CB}x?ZzmA*+QvuM}{|X^l42% zOFv_SRZ&_J;^T4gc;&cQ6O|89&=ZSQvHZEl4H>npUKj%UE9F9SXJd2!MYHuod%M|wy$<8yN1d0=?e^w+ z`GNX=c<=_k;Gk3078G?9PS}s@`Zzvd=$fDR_MziG7Z8o(Io!MA>y^B zW*)BhGT!gy0^GxRspAKj>Ycp}XbG+>bo-?n3|g~2U4 zZ`aFy_cAIMHa1^ky$xdS6|0Dk_cyj+iW<;P3|}SvP$mLGe^8Xnr+kCgV`Ho&YNwL(ka$#$?ec0UI?rby< zo46+O`)3S6^YroKq`>~c-m8P=j#(yo*=_-qa+vcDDHx-AMbdAb__9hucbGG{qRYk| zjSuuP0CfaJl=`Ut9`5bo;jPdf0yJD1MFVC$fCi{8Nrn=O?(b2R-40YG4-fcqXaL3C zxV8Io@5^>1?nVqw1Mq%;-Oy39tYUbS3oc?~cV}~Bi&jg~iDgMB(i2)q0J(>wefpTn z@xaRkDfwP6W6$*0MB2Vyo=e)EKtQcP8Y&Cj_$iBGl6O*(kgoFP!0e`yiLaM+Z8%x& z&Hd&<^KcIi&sw=4Dd94c!sP;T1ZBk%;Mcm*;EdGRGYAv(ECgmSr%ZjHq9 z+lL*Ru;t`?>&?Nz<}S?DYVz!0b9=Mdw#yxC{Ki65Yrt#hRK;X zp6O$c&(1wy$@~FO-pM6lKUbFpK9w@W^|JgRpJMnqS)vbU7Fo((Gy;Ug&wd$4BVQGO z3j;SgT|J-S_KnU(T@*_tcn%x2$c4tCUF-%5l?yQ0NMFNa6x>Mi=rgVXydx1yIm1fI zH_V)4ANXr`Fy_MQK?E-|l|BF~5!<@HXl? zYEj6L(#O;eMqnQTRh%lqBV()v{4#~^at=5VW8iq{n=xGao*FGZGY5-d0Mq?YAwuk7 z>WzT7$2C&MNeRlG7t6_-bv$EmDqS0Z4yzI0#PJ@#Lm3J(;_4;8ktJe^V{VW01JXA@ z8{+M!u49xGI$*(Lc!y}WGsqy}2Sk};bW7XD2zf`$B}!)N}-{}{K&)#IhF(*`H`d6Jj^ z2Y-_IuTLNSf6FT?j~_k$|HPB8(;fTg|MB>*_WJinY{eZnt{&fC8WlS6fe&8_K&QatOvuH@HT?aA zet$#1pG^zGh;ZHxF&t}1rUGb$`(s1==#4L+O9bOFHJ8{UWJ5Nh)p%Yz;v)Fq#{ggq zd@H79>yFo zWz-g2gk7MYM--#->T!o}&qkry>TGPje6w3Q+CJRdKLkRhttgh0nmB@z!FlCq<)nI2 z#mKJ$ndY75?yK$14i~TNG+PIIb)*z)f*;YBY9Y@?#Pw6qU8)>qnmDNyj_4_W?VLd2 zvw=5?$7k`VQd;SBN~_S95H!W&^|W0k;ksO+q2xR(a_64y2u!MWNat7oH`7z3o??(krr;QD&x zOVUWsV=`!*#N=gm8IMXUIA^8RlWMgW_6xM~P}(dicS=&Src-TBFNLj32c^o<8;-v$ zN-Js(PfM$1T(6@OY~5J5t(Q}l4bZ{MIt&zAgAcoVhxp}WzWwK1;Y~7Q@g;a%KW>$R z2KyswS2iaiT%qeA_A^VM`!81@GppGJz(0@Z%VTQ`zuDd1Y`0~Fwrf7NfzUSl^#!wF zPkkfNFY)jzkcet#kBR-7|oKNEN0lGcopP^Fk z#rBsw{gP0N15aRG)K%yBD^!cAn_`eaoH78 zK(vWWoZ36%Fpbt|-QQWCpsy@2wSt3kf7$5J$a! zH1KhxM;vjt!w=9fK?vyjQ~=jO_-M7>>-P;9^b8>N4KT?_VY`GF)#My{9d_B`^UCY_ zxbCR2jmALGc)>8H@S+0@&kOrVjbXmW98EFnmF*Uq7OcEb&}wviwu!h z7f%c9Q@auLYYfG0G%lc_3zj?OrgVsLax0ZRDI+sGgv%Xo`YUL7*q}pHC=jyJrYn!d znb&;}J?L@hYK+{5NlR|ms9?hRIi^7z$!(->1apJH=MAO+pby>m-i5DxNC``8L`s!m z@%rVsF?r35i>HvicyQ$kU5prCq9}(!SXitt*1NYCP-anl68H_>8n4xt!S$n6{@nF1 zy4^*@G%(E8>&?~=9UN(;*+#y&#!j8t*Bjg0__v0=NAfARpw#czR0J@i;PdANKlZwX z0y{7NDvG6MyNDh&&Gxz%7jP47Y__&5M>qvdAY~*?x=i2Ue!4otn@{ScPKYlvfXO}* zMEQALb~goEzQvEr^1E~rfW4ImUXF~wr>$LW@baw&zsG^uuw=UXc*K)Ez;~c7)zVDvaX`+`;M9uE$u3;)POGHe*nMAn+ztq zdGJcstsE(Gj@gE0yYqT;dtd6zDo3g5`p4hb{;|IQ!>jf`*1r1()LA%kyTuDED95*c zlH1iI0#j9u57xECLtR$>Om7%ta!-KsK(vXEaZHlt?Qjne!6LT8w_%ii3G}^uM`#p( z(goyWxV@w3z3_O?s0fxwVqZik#(GNu;7NEu=PJ6of-^#ls^nXvA#4f;)*p3Hx&;M@g5HaY<$sO$%$WUGmdt@g}qq=!{a)0{i$9*fKxCmZ{%IEu70bPFQsGkaFC43@_j%z^5ArS?ewn>+((nHtxNr14-QRt~AoG_w z=e~*f&av(qEq0T3#i*52AO@v%IeVTI9+2<)& zb28_xH#1cC4frN|1EvwoUGG7wXJ1c5Coqdg7GuvRrL*QiT}-o2gnKo9k1@M1q~A$G z>D(}rFMCH>b>k}yW#tGxKy&YS$F0suiSrprr4lXkCC-Y`GAq*37dN(j$6Na>8eL|u zZLN4^fj8c;_^5I;n8fm_ArT2a8s1_9cvFyO7oaVLQCP=##+<;y=Jv24b|!UC2Hg(1 z)D}w!9WH@l=9PqitCA=S)LYUP=%PGKEUhqrQQ6iZs5)AS@D{B`FhE6;m^9X$g^g#` z^i4soYKhb8?isPETUYKvnrm*o29%~;hElidI9g9SB>R$QwqVe|T8+U4;u4nE){FD!_oTxeF=yq#mfo*D35P~-90U>M=a zm`4&{LTOTKYov&2f|)+z`fetAO>t7pWl+*oGihH?141B z666G;d_ZP(0h!bJquq^0Bk@mUSny&Dy>P@1AdUYT50J;HMPMHgbn~EGsK9cMf}!6h zD)1Z)e$@)mt$!9pBj}!|Bgvx*ktb&>ly;TzNWXwJM$=!oGd=_uyOTXh#D~Ds*SV-* zxN}M8AR*2nJTHNV7r+byU3}*I6bA_7N@A}xHs>Mxw`dxUJ}E$7kf|~}133N-Qsq#k zxxZDz8ALjV0BA=dY*|K%!Ql;k26yJ;gsLTnhr?)mMvGq4vq84fX93bbLH9jU>!UId zOXwDZvk(CZr$&feM93N1NSU`JVJsQ5gcR2h_>8MF7%(n7NfR>{1P;e&^%O-6E*h7FZ7)uclcG7$wib}xQS(S$mf{HJL@K%KW zbu#f%M5#)mtu>opCsQj|8fb60xf@lQ%XWm)D7hJUv*KZ@=_M!o^Pmr#51-R`Vsu?8 zqo=^NcN-UUoZO!9&T(`2AN=9%h^)#nyfG{U9a7myoa|mXRRBS)3wbkL!x4vN#f&vH z+b|C@aXaQm7%}H1$JvX}rkxrCFlT<(L+%HTrS_46ZVr8~cgts~#^)Ah`wXTMI(jWJ z4ee`0K2j#9&jJ?Ghk-;x79q@|NGRr~4M7vzgkA+OSund;qBr!eDO|q>n*gmP+YC;E z*X!W`aqDAue)7qd8qMr|4=7}sT;5j^T4j&mpoBc4(C4!R(9rmv4$l}+2W~JFIRe5H zf5>zkN;kfe zPuq+3-uC9NUG6)B*N zDu7X;bnG#^BNNKGAyRx0Np3GVAQ|s-0Q}U(v6B$Fx%JN3opc!oB*-518ai4 zMYDZ%&~k^CTVe9dVK5B}yftxmB&8gf505`ZhIL@Rd^L^(cr?+SOHO}PZBcBwT0B^5-h=Di({cddL zZ{Ad~6g=}*bzI$<*ZI}kXdahW8DBbZDqyx3&Gsg`<~Y#1`PNlgP5X;I{IkE^JlxEp zWM?S{G)dh|gykrchNMp&&whGT>DLqX_~zjo2O(v@c3)F`Mk(Hq`_eQEOg?2BKf&y8 zwdBYrBFI$HTw;bpj^@%c^0fm^ITdDUH03IkLsK+&;po15mqS;mw-YMA{N|epmGSL_ z%CB1goKP9x=C90wYGt+@}`;Ew|q$HHesL4)HkEt(T$>fBh~$sQ*dU9JN34 zn+V4!k&G7>7G@6gbzhpD|9r*HE1l`=d>CCBa~y=G;^z@;ero~J<5ubuOqM32y;vH4 zl&RT4TakHNZLBt)GFEpKRDrRvCpcW z@M8v7PV9eb!m3yk%Vhq8V&b9S_t8Q(IyV&_7{6m2`@Qd>PZ=nxApk?hDu49h`7iiM z;eWjl_u0lo{Qu22k5;~Un#TW+p8ik&|GWG=Fb`iHaJr1JtJC|b*gO=SA-;`A{#9cZ zt^dlm-#)G3?{Db$Gy454;rC_wy+Xeq)lB;Uf@A-{^QT`DIx-se0PXL1qhEuI_dX(d z?Ad?%4U;l5ZSC#}j_z1(i z@!lT6>c!GZf#CD?-52}gvwqNp=DL1}ei|{U>fu>@$w^EnZIkE9h*(intI&iDh9)7B zHoD@Cu-hu=YL$Ytv6+P;3|OPgq2T;3QVu#d8AoB8)NNeH;GAa0m=mq)7hW>io=#Z~ z{bJX?TT(tFh?wkiN7CNGScV$GzVdE$!rTP7o@9z>iSg1@7pU(v@ub~G5U6)o_-5$G z(r^S`%3e7)Kr*HtnoBUQ8u(lhtqG*EAAp~a`#2eBSb#RZdv6X!bN46lws~;S+&%p1 zxjL1oWM@cdY93%PJa0Gz^7NKhaA)(N^%`n4UuXWQceC9VFZT{aQ|vbn z4!2rwwwniH|INYvUK_*jwb>3ujv!}?QH)Vk!T0=;7xZHu@=q{1G4!n8VefZ;5JD@2e~cM?uFYd;xg;WCOLss$HQ55x$5RE<*o&@1O!B8lTN&K{`ue(Y z5soRkf1lfomo5hV2Ij@UZ4MBkGZ<3H2M5hADCKQ5@eDB zUqzC;ZqEaF*wSGQW$Z$Z`wDwdU6$&k<0FivNqbO&H3J>$Hg(`oi~%NVQ+h#|h6>aVN&o-Z{+m>QmUgEq;)7R;hsPnrx-TYFXMotpQtdJ z^5^NJs`e#7m>A*9@ZMk{`-?YQ+Z!8O2UBN|1Lg`3ZQc+Yu}^Uin(mGwW#0ni1#TEj zVLXns^o5S4q%2-=P z2$nm+IlmlEiW~rxSU}lhbty9FIP`A@9;F6{+R6~ijIjtU47?Gh6U2y~XF;!W^mFHX zD16kc|EqKIu%tVpih2EhbPc5_=G^Aq%TLH1ZnLJ7KW{hx^;2gLRjP0C!4AyR7MjVw z+1{*5c!qa_?lRflnIX7q@GTx+ctiS(H=)U)BM2EP7voy;G?}Jd%BGSW%yodPYz%I- z5=N2sn^(<)Nd?lJxuZzNEXui}mL-l}&V6qP`%MLEOa*RKdj-*sw&;?#0GJsAz?JN2EO_o7-E>wqbFgbf3ZiU=-V#Q0(r`HffkHr#nX( zjjj`AbEVbF@wG#Q?e)83q(w!y+c^WAiqn9!%==&A?#}WKxOwgs%qVq`Xorl6$i9;7;DLTQ|3d$o%N&_;~5$Bze;9Qlfd|6+fsd ze`6#TyIrGzelQphkuONz$OpRWaec9xcz=ttq3^w?uXG2H&$BT{>!&5O+e7DR+5aNI zF1@4FtiCA6e{C!-{q?VucC{G)_2*KOf~@}6zZOr;2-B!(!CaFX`?quBAE3?m2ru&J zy{DZ9*}9VGJM=Jz<>58*;&^-|?W>8bB&+V&9}%q-#=#jJ7B=ZUP2-PjpH8af^g=rd z!FsQW(#O{Rda*kY_4DHA0)F55alLr;A^Co=vtArt@pt74=$Hm01~;5>s5F`v z%oK7kw+LN-Nm#C~)9OFh^9!!}@Qrd;oKcP7Kdyq{bmaYDssdwhAkbE{Dl-G7}R46WI486;4736g-CVcwrDrWV?0KxV9K3 zJkx4fj~e=f5Id@l(W~UAw50ytxns~2bcnj3n&fBc$tWL}%lJz+O<(g{^*%%a5M$kL z(1Yy`*yf@iot+^TgRx_<9v`JmDE%iNokAFOu!J$nMI76rY~mHX^O6Y!o+ZMoWL>gJ zaKuAqp3K0f#Dw)FMUS^5Za>Z2iqnQyR=E;LM5&{{h3~PW6&6Q}o%WBdn)VmOdp8zk z%=TEWHaOkvXx%Fma0hoT!f~hH zUwNUQgyF!hsnisD0t_kwpdk$bkh@)zxHyzA@WVQkvfpuw@;&!McEc>U!6i1<`#s~a zCKKqb{1sLj!=>MS&%ucTnHnQ`45;HW>ZvtD4=SS< zd_lwgO1;qE))9`x`8|JtkpMdcts|kq1%O35SKdXyk=8X*EhR5H-K!o3iYh1Vlnt!f zQFI@@bs*0-(0)q`{#Aw$mF&}#!7J#ck}JgBVK5kB)PeS!eateuxq;VQc&72h|G>|NYAu!2uU+`o%8cCf4NrbzY--P5NeLTMyj)mpr zr#gvgnaLCRpn*qf9Aj7-bloIK*INFU>La3!3u$7aMI{3J06YE`PhbivUDsj6S!!si zVJmv$n+_&fPNZ3Q*RXm=`QRd~n0-V&Ob#V=o1{xXzh89IjZt5WE{p6e%ABJw+w#KO zYwtGA8Cq^)M(!+wLF+W%yd#QMx+A0?SB_YM)QB%n4AR<3CnkekFPD-pW!NhWWW8uS zUebVzdNY{IKU)G5{E_iYn%(aBN{Uf%Uy#IuV)Pph+p{JzQE=ILSM3wlc@j`W*ykkE zv<{0@&XKQjuSYKY9;%8*-bGBga=fIMj8?|LB;g%MeTKz`m1SS;%zk8dYUOXs4xJ%y z4o}^i6u3r4!b3p3&nQ%lmf$@QeecZgHxfCOYc=tAT{S&pFi3q)5B!TDMv;aEg`yAn zGINl7jLJheqk7NuQ19pusB*#JNQFd?f^Sex7WQNcD-z46>t_`2taDi@a00Ue`S!ya zQl6_!pIk7jIdcjqbM~1u=kLC!?n`D(58<9?&X}6i?6omBwR&yLA>b;U?#`XIr#;sx zp{b)?6>ciMq9mcuJwB+pv&4&g2Rlvf@#gL!j|DzV?>Q2Uy`Jd%9$^*aqLE*_@`mqY zrPxL5D$?U)(l(?QeZKWPF&cV7pWXHmTh(LWZ&j`9%SZ|<5g^bUQAoEbvL<8(6ONQy ze`X2o;beD}I4W4lmyYajT;yl5h<_dkQ|GBR(@`0iDay$NWcS~o1VW%hdaC--U%qdg zlt|_d|1h*xRR*`spHhkcUv9nI*<2HwXjv2@F8;B3K-otpUk`L6$OUET60bcA*%c7{ zu>EEe)5L7HTL)Xx1s?WnyAI^jtIdt?@4jI(nKt>}JHJz%2+oPH-+USZ5ptzaaI}!CZ^TwUTa$RBNmFyCzg%J}eV- zM;*AZk==Xm-zN3&MN&s)jzCZpG%&sCle}CftN@=KHVv4*K9Y3};E$=b*@5+ZULwxh zsM4U$(;do;e}Fr@c_Y+gkfiJpEpE_FL8M@KO7H`kiW29vvj_he#hi5Px46tCHa^Eu)nh z4YZPt2#YtFPQYs*YTBLnM;<7isfr8nR8NxXjtsxLafx8tRWytPs;z3fzjP)KPIXKj zF(41lI03YAoI1EfkE$8841DeHiI&agXiv?t20CQ7L^YIOTUXAY3V3fqMm@y{vqQj- z#tp7XPInQW|2qmosG7w`dTSHMx3I9_zU^ojoafo-MJg4y;*k!Uhi}?+!8TE)D_3FW z6@X&@M`WRws3GW}GV1~qB--ep#0$edrvz!mb4r0pE|Lm=`6##PkoRO9L9=znZlhAU6}uHHUY zR&~v!i3;u~gEp*Ekmfb%4j*qk1(FK5(MCEQF08lclR!073Mwh#gKXdd)#I_ zN@S82dK_M=Aa>H0p3#!6g~&7r>&`9mb?ANY0t$(Y$SYnis!OSu!c&PQB+rj#L5>bF zX3=bD3QBF>j8Ij~Y7-#bP^3G&RjKF^6Da<*8mh|7YSJ7MHIZtjvufDb zAEC5bZ%q_FUnL?Mjx>2q=I+e{^2>>a?EWLrXA|dy%;Hen2YcLy4aCf98a<`vCTG2@ zZAo;jPvRFBIgFPI+rgW>r@q6`#CRNEa_oZ?8!gh;-d6Ep)BJ?Po`4I}q2GPJV%{HH5?g5ESU`I{3 zJK)X!FzSuFzOj3adzVf$rc00~I`3LRMb|ixwpVa;f)EK_L-#0qCB<5BBIv*=d|@gv zq!3Do!^usG3OO1n&8OV}8DVy%N7#@IUvQ9wc~V%7W+<&}8NfbJMQ@>SYCS(?4317|p#+NP2W?Y!2-UrIwMdF&VRXdkwW$(B6+* z8=IZ2mz&#dwojFwJaDn0$^X{5B|Dd90f?EXlc$1dLt@QSx1cAvMe6NS7 ztTzTGyUUvCfC5Ex0A%li+_u6DJdX|2qO!l^#c(S z96K8*tWkuNGqF!=S{HMaRWnx9?VD2B9F@q_)$G8hPomlGY`)t%tgKY=Jn2{K<)m0y zYky{#XmmyO;}JPHa+GLmniLd8ZCzUX$2QEz2>T2aCS$EI$8aYrM<>2cf&-saAGmPJ z-BhPqBQAs5i`V=0H}Ayz_>zXYzt={yQaY-GVIXrljlAK7KQjCQ(fVN2V~6?RT(maO zpolhyKWY>z;}FeA`Ds;rx771LEQM$SvHIQLR?y_hEKtbWNS0Dh%1$fClEVlw$Mmq| zdR#6{=E4eOepV)Pv~oe)nw7N;TDhPs#NeU&s7#v3_>bil(r8fIgi5nGJo|2;)sZ+Z zoEVq7ExD{pcO2=Eb9_qa6xo_ma;E&{xCB*-$EV6whg@ms=k)lvh$T)=lEjG!qzEli zt#vL}?B|s2fD&OGr)>UJ!+KHzRO!bCgf2)jfzj)$% z|4}oaJr7uP(#n{X9Vg`XTDzCQO?^BN=dc)PgDw2-WrTQzk`JIP2T2+&R3P(cWw{Mk zSs%@yc|nkSq6vd}UqpLf;K-JN_EM1R2)S4$Z(i(>EWQq7)C;I!&?FlkVy5--aUN)V zy5xSfR6ag64J~slgADg&erx$rNjFcHZjsLf5HQ}be{0@<(YZr?FDjf&pg`Fj7<6J0 zS*@Wx8qQ%r{%T5_pJ?(`riFmhZz9PE*K2I&07z&db}Q4jcw6{Tr77>7pG3-W~3 z#&~*OM&q-@RiZl{4pDSsNthai0;(VSofwmCjMiaAW4}OcuOI92(f2xc>2pDLk_V6; z!LfV`)DHXmw41QzTmRZDbl}nc0ctBY3kCni?;=ICv)OKAn1PoYaB*gyZtuOqH{YqL zjV=lw(E$>68~lNSFZSM5jt-;`j+`8r+Rx&9+JUEvZp8`2W=yj>4HOz7>xvRL0Q&fpq)3dcj3d>!i9*( zNSZ%kMRKh{qg}Wpu!ralQ}1Dgo_{vJkQLCoeJFDY`d5R9!nxoEjSGbXpB!7DFp=GV zhYxi*2mg?PJicob)gr0DZ?I0pk^(g)%B{be(WKhO?%r)$%j^|hoZZ)7a`3l*(1hU1U)fh<;4 z*pAJEgS~^w(HK)TMi(LQBR%Qgw?iiQcHjmscR1QHDp;S`YW)RodX2B zC7okjCG-&8*lSa~wWJ7(8&HPv-X9>Z84WmaneJdih}WdX^?8{H6>MNbdWmYnKR@@$ zR}aXfZa<3I%GK-%Nj_BY45e5Um7!n77IC|woQ}r9M%B6xF!;pzv{(wG4qun#&v@&{ zdKby9HSS{KtaX$k$SSwdMq8YtY_*N7af~a(gw*!6_RGM z7F#%ge)^Q^D-%7rO_=0|&_{^t+JYT+vNcItTV9$YX+}B6Icmt1*(t?6tD_nK^Ghqb zE+jck;AI>wI3pNo|6Q(3nt~aJmXZ-UMNF!=heXSDfbr&fJrV=4xYU-YksWKY(G4S5 zZUy;Ax*BmDs!22?Ks#lsl5N{5kd)H&nHk6KFVKIRxcl=9^3eoPgjqiyGWUvE9RdEqjyNusWT9hq z53dx(idYpZPpBvs(q)PgEZ}y!5inj7V0p7Z!qcF)m}Ev7uOlOh>{vPe>(3meneOV-r6@xL*2$j~=U(Mq$3T?dlSfWvqo7NAXw5%~N=XuLrNb>a?1#;r z{i-O*2}RaaMHAAN6~w9T+&`)7?Y28It9xsWNaCri3blJh!>l$wszB6y*&M< zOOYkvZ0>HPp%mnz7BpRG`0NXzz4p}}IL_Gw_u|xlZ!Y~49s1{W=g&CvJ6-vioT91J z!Xg%zh^*fq;tCm)jl~sOZGy9`l24v_Fajhm{`qQuACAk2H!Vvz&It&N1@j)l-V1Kv zY3pEV`z7J4?U$6Zog8KGE@%gs1l_#Zq=iy^LU&Z=&0FF(QFDVLo_;UM5($U#dn9HNM=bqpo^TfA!wu49 ze9KC7c!A2BrC-WI$NjQ*qBy4MhvQqJus_Bth3%@=lDungu|VVHZo44+0=Rgt?$kg2hIxcCfyVsVS{Mqf(4Fmm_hCGEyV$QgDl8sj1EL- z@spUm;RY?O(D-Ypx`o{(?^fksrPPxJ)(j>_L821)G8~jA9#k7nEQf#?N1+wG6RWAq zyy`%2j_P6WuD)%45TJ|lt=JrzhQ;1S-@&Lt533XK*8$}<4qdIg&3hCh`XeZB@HRrz)^gV zv>luZ_JGi#l%#)Z>~y=vc3GZI=};e0Q{{9I*Gem8Tij~BHe$*EYCx60we-!e!UQ9^ zj5KN(U1#hy*frk|@e1fkC|T;TZNQhcD)=iiXJ`pWuo6OCc1Bs&u*+E=?)$NKK{O-o zbe$NOJCc$tQ#4K1!B32(nYfj(4b>5)t6I<_t+b@eMeE^1%Egnsc=t}e`lt87v){dH z{Zqb!YZjI#6f*smF7fi4Z|oAO*Q(jKaM7UD{=koc;_dpF%tx0xP^A(Ne7!;^rIn+E z2f!VZ)GMth&3MWoW*jDaQO)-nAg7fgo6E4JmtN4s2uQ6iUduUwQ&aX$a((i8Zf-9c zVm4R=vKgAoFx`vQ?gLC|l*sJiOgplyE>K!goF-0~9(>0&`gCZDe1o^_Jf!O8n2zYU zZI}j5&PZw_8l$vI3l2nVKC9Z*t1^j5UZa#g&TKT_Y;s=oy_H|1<*1NbnkQTr z$2+t7MKN?!W6Xxo&5Uhgk=C>lasal?sE*9%@_?{0y%onV8_d*-$!Ua{L~|mNthJPb zhc3dacR zcCqR!21(S{RxE{`vKK1vfqL-09RCB(U|?6b2r z4HsCcp`QUlv(!i|wg?z~tm}YfpJj}-=o%W8&PPeQ4U$>0+*o-MHxgqnj7X+Vv$bUs zadtNC?*yx3B-nK%Qy0FX2b#zZyVFr@nldspD>B{8POFxLR(GAO9dN|0Si zi?i}%TyoBuOl~yY4zy2P7xE_vy^#b`De zKubngfJuRS6Ry|oXctXc& zCD!oitjoCzX)PlM?VEoQv0nZHy7ENd_wr#6W?efh`y~sGrAoLMi zEKe@@^sz3=A64Pxn!=~%sFHY5M~5f^px|_2FyMe@GInK8Y`kqAykzSH0rPN%8P3ok zMo?O+uGnjfch0twDRH#aB~=0i?)2yZ8!mAJ(_yPQoID2LvPDEOre*kc9@BL2dhQMQ z{a$Ygr5}F(T(T)D*&BemtnZ1lAoPa8tk8LtW`h3|NVH%ysTr}d+<1IaE$Hphgbl)* zq(a#O>eAcwD(a0T3X>N!92E{H3fw&24Bbvr)aYDZk@YZ=Wwd?|!)L;EZe|cXYIicPkrFg@j=Oc`>Ta_wIx>?E~d0B;tNc9A3qi>sk zH5lCrFHtqKts7-8Ib+WifLgzTZU(A9?AU`4=nf$Ircqcx8T62Ha%!a5yM=Fyg#||4 zXn%GdMHLKNTm3lnN8@2AR-S(b%$?xTt}0E|>_VHc!>0}YP>-^0h~q-NcMHT&(8X`{ zxBXgb5|ajsPNTwwdD~k+!?_uogp0?zQ6$?)(Qbx*43oQF`o6HB_l{#0QOZv*{{q{? zx_0!NQUXq_i)FRd*ha&>Z83!Jf{#`c3#{?806XXDJeauDtclQ%7v)&b0|RSkjwNf@ z{9Z>Qz79ESTgTHrg8g2{S!dRA$$3Q&vyNQqb+zV}C0j>od6Gc^Bw0dLEGD}J_kpv` znps~NnG=_{`-3T}A+{TNvV-OhV#*_OCR&&_B8sFmy%@%~Dl8=ZHpkDMI#K%HnaGBf z#?cXG0@lJ1asu^+oOY>$Y5Y(M(OWNpTh17C-SL`TgkV+ZFQuSeSQJC0^{H z1;ltj(~hmloiY=|xz`mNxTn6#)6bTd!m`6O16k*yRWy++!g(xO#yqN92Kp_RtQ(`O zYrhY3i z-HVsitdIr0`J6Kgie@K+jpCYPxRO1=##Lca!mIPsC$Z-4wyI(_nJl*pk9`a}@&Vq6^VKc+>Z18o{(KsF`HMWp;(_A8S9?I<>O+I{;45BC+(}!6O?V9_J#& z-~Ra3`Iudv&&fjr<$s=W)!Z{iev9`xX0j6I zmoi(G(O-7sX!E%p->`N^6gfI8lRjgV(I zlyCcJ|-2UsoJuN#2zysNPizrImv5 zZf`#so$idCekql$a1vU=#1t_{C{*4ZMluSr3Ds8O>FfdQC4`|wQJOEe5la!Jr;zj` zQW?Z4py6QX8yWrlj5n2I1S+_pv0_Jhf2+(srfU=4IYWuDhRDsag?mFr2uKA8SUL;B zrTFr*OzZg03|8@OF%>R?b37ifw>YNT==&dh@_a&LHb#sU9yZ!hNCecADx>#)75$

-OU0)EQg9Yq>E?H|xgZf~k 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

Kv+EJhsVsr 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 gPg4N@8L2;}nrj1K4Hhh?P{GT^YErz5 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 z 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⁢@_fSmAT|xRxnTnx*hvuM~17S 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%0D!5LtpWjl(+mZvsvqHBO2;~#^X3_U2g;UYE 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

q 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¨K%5CQ~3GH~I9 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.e)^gqlgIQB?$-#DMADh33xz&Kmq}QQ`Oz~_U(IT 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�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%0Ag})C#Q9oKm2(2_-c^=2>JMA10Ek*D zO?chmfHF5q6|@$i3Bl>Q<4=emfya{4%;sQ&E^rsiDi#HhcX2#=J0vkaG&t`9;EdkA zg@^!XpF#ES7U=il>egX>`%}oG>{o9Bz|h;`n@w&hI}>O#~#S6+?iS!h>$rio()!84QE>^@S*M!=ug-SA-$S8eP)~hy zHtY4fEm&NA>@2;7A8h3=hLfrM7=CZ%CNny(NFvGAxAzXVQL8T>;PFg{qZScVimUBT zf7ogFE0+)OEYhE?%LlD)JenBAxrAG3cgVDJk(ZaZz$v1~+Xwr*&F80Rs5_0r#{N!Y zf4kW@2B!c0-Gb<0F}Kr1W8Xe_`SM^N!((kr(l%{HDp|~3zN52@3Qx>g@8(DcgY^OPe#Ug^J5! z4Q`gOZbCN>*ddHR$rsfy;X!612hE+oBfDv^?jsW;0<12WCOEyF#?1d12ZyY0Kuu)97u5^ zxy?vv7mu6FNu;$Leco8gN2^g~`St4Roe6wF|E;1Ow)DCHPm8Os{&)2a+S5v}Yo$B| zh8D|jzZ9eVv&Qr0J`z=6NlacXRhHhMelIOWSNz%CyKC@F`mu!mhlD0Z2w-noSsBoR zY}C@67KI@BSA>NzRDG=^f!v5#bx7N;w2S+4MFF4%5B-8WBS2pWb+~MiLPgIQRP^;t zbd|@GB2NiJBog88>~Hx0nXJAZtVW1xqzTA-3*zQx12%Ttl@=)ZbUFMbgaf3zfg}ng zn1KBGGb(^z-a(uOUZYw|T-QPm&utIK?BNE-6NW@cDJq~161t5_V7(1(N9A*vK-_k; zR9sSY6*7CBZc%Ou*I`w-{CXuXUdk`gQru}ApMW~ZWr3yK-pO9`*-`zd2^@|H04?cR zF^3*t17yG5LQm^EJA@HRj}M;xPhMfKo8~GayNE(5&pG|nEMvN$)PmnLk%N`E#sw$k3)?$xU+?RIi!pn5{tlr0ylpAqOpf5!xXhvX*t|5 z`c4?rW&6_^7?s!qqFcO2PtZT*b0nm^JVZhX2EM%wkWo*M>0hPCMJ)S@??6q5hcXq3 zpLSY9EJAK>adZyDhOi{+5ODcaqmYL{giYHhaA#2$1u<-IYqWwMn6FJ*K`#^%ML-P_ zMP)Dn!6Ig}l>3sr0$}=i1n(*v!QPI6AN0sp#D*jEO2ZNYZ(s?P!gxA9I6c}HTM%Pw z^fA>Lk_zGNu{{8_n(ckP!TC@%Rif^m9wIFe^tjyvq+%Qi!F%v|F#NoKP^89CNuFl9 zMi~Pvm*2-@FtZnf@l>9(PHkF)**gsVEV_ z;&zAKyS$8sgHBxH#{ceY)Cb#tJgG!c6CWg!n9{uo07fJ9^n_(p`sD{B8k8~!B-k&w;}E*DFsYOE9yCqaH?Z;MR4?7@6t7)-eA zVYvq?=5yqTC!(?cVvfAYa5jcid~jb0Uv)wwk^r+~LbPJvdj!XBfoLFj+;^J4U4tzA4{_ zSlbwi7oU<{jivg+j5VAhBCWI&sLVh?OhYvGCj5pA)U+FPQgX{rDs{9y|;`N@?} z{DPTxskTEpp-z7B&s+lt7*aN)?oD#r^j8P}(iC~S$`76P?T!F|s^PFxNOl4CQ(jGt z-(hXz?~UJ2j_SDmA~TZ!SE65m^_|p@@DuogSs~|UjiYA=$8cnXUz^WSX;KyHot_+k z=>Y$x-^o*MkJu8w$Q!W3v*+ZX2`wS~;J074a(J)W+TMn5JB`Da2RjY&fc`+w$q4~G z#NW`9!$bV@@DP6&@9B5+^pEG*rtuqo%zkWvq=QSsU-)$hj1m8aZ|KS19_&8&5&4Rq z9sK?Wk^HvkSM==okC&$>O;V74M^8^*9zJW5lH}`FuCe{%poPaszR@T9{0S>_!k?U= zC(n->c#QZ9`u%$YO)-9ezis7qS&3azg8d}FgvD)(e&x@YfpSa!E#3;F!arK<9Mtl7D+e?T3l9pg@9=cLxr-Ff7VD4l0KNYO z5g67`w&>Tb+&)Il{!94Q*lC`SU+`@!hx!FH1dr%f{ESio`G%gb)(%K3_|H!d_>-R= zY~`qZ8=i4fH~rFjb_(=zaC9QQ6%R$Z{rXE80RAoBk_0&Nd-6n-KukvmK_7`Sr$>A8 zd-PMhqb7LyJ$(daWRpB8B0t&69o6^I6v7+wZ7X-&z=VhXz;|*0P9CtsaIDPWNALyx z2ExU^;mcM|>Jje=zUqx=hGJX#Dc)_L9vwCIPvrOXktlQ2*lW~}6&Uo9T;|s%>wx|Y z>33%nuB<@``8Rn>b|ChSANZs1vZBY{%g;n96^3|%N_1MCX^ZR|>^pl(I6nK%o=Ut^ zc|e^IXhIu!D}Iu9EO%3PIA!mpN2JWZXTvG4jel%W!F9}@qOV(2=98Y{A6vOI$YqTm zl5bn&978(4Am^c%lg7+M4Y5; z(XZs$csQI&&*@L}Zpdbid_zy(_t+EsZ7T;SWGy5QpZ7ju4M+SWr#0e~2A|#Vp^IPi z4IMc9PM;1%;UOz21}*(W@1~c1+By1lE2o?cZi!#;=6uK>A3H zhM$PD!Y%O&y@A6Z)+GNypF?5-LK6IlXvJ(YlI(>uUokx8kjOD<-t~N z)IFy!$T#$aPY#A!hKaOFc_h-$t=vQ`g9%#)L^+VFs83J{&LtRk zn0%Um;LD!!Ut2kPjLd0C{*B%;E+mnq{!A)G;j6q$H6C}E?YP5D#~o%l?&M6{D0F== zEYAi++v-N;aSRdQ!2qRgCdG&;_(b0q1?Y}cT$k&Ry+wY8Hnw68p<^8`jg;G$xm@M= zba%J;d*gUr`Wm4ggT1=~|3CXz&Z-!#M~*X6b|9df&=zywZ;^-))dIh#29Uh9 zQl8jAzNao0=oxk~`kvlvf^!PZ&IxA^#P^Kaow!p`5$VHagxm9RjF^f9CL*pkk}i68 ziz%YuhE=6%DDmOInkPQa_}*~U`d+wpe9t^PzQ@{YUUZeBjC7Q#SYS9q=!tu82a)Uo zj5X=+#R-c60ymlrC&#|5d$n9)E~bakz!YW^GnEqjs^3EH`^*St z9Wq*6cdps&Z7IGLyaC-mW4;z_5Z7}|b|@oWE3y1_+bQDrTXzepI}JQzhAq7~xT{hh z)+KRP31_Fc2A+EOwuZjij_NVd$$aMSh&y9qawL_PNR>5upilS;aG-T&_Y&MiIvK`w zmdHsisY6WM2$w{EEdrM{&RX-V38|d*Oco$hW~aed&kfWA0mlIWog?7^Rg|2eh|K{i z6eEU8jQE-Qv;`}qk2S(5IZ4jeiwhiTPCJh z9wLer0`R(eaK-!<)TgTV9J63M3(&(oa(-7-odTNszo3a9gR`0N{|xB^@${fXgeEL^ ziL}oCCqfAH+!iQ+40yS6w?OP}s3hC~ah995&yZ}M+p51rgJ_)`oi?@RF;hH6Fgf}#4>ykMBNHZL5i*=b;Ml}=^2 zp2LsM+mk7hL$xc~G3E!(o4OFpLPe zXZ7u0j`!-vFSY{Ulm2Y-j$tnWdUOOo=*e2q0^8r;E#f(eUT!J4mhgxt>g-?FHdTM3 zitOkLgssQqy^H--P?H}wR892m-5;XzTWsi(l~LMs zk$sW9@ze)W7lqi0Ip{1oz(!uY)XQqKwxP#N(Kz%?>(#e9>CMA9ehhD*s<2S z{^Ztp3GR}F3|e1p09Mh!S}rP2KaEh=;id~jXNbxVt5wwO$G8)9E-r`NXtpx`@G<)9 zDtf)a+vbB)hbMU*VwAC4G-%uqOH;y*+PTgM;dyjq0+2dPZ_DUr)oUFa?-!r9fF8*_ zO>jlCbF>Jm4$X`ljaZ5+tx4Q5*MZoLcsHR3miPhMdFb;TdA!c!m4InTHt9)sjn>H` zq1V71#$2{oBs&{JiDDn8*QZ!NX)_QIf*65O*VtE>9Pt8v$#22SL%fAw@RplH*CSzA zhCNn%=O_XDvi-C~Ytv|jL8C~Of5~0M9C2NdOA)`u7IGu96)nsmY&j3`&T|Tk(e~w&$rR&Qc@Ny}nJ+^x|Zfra*>jR*7Ik4M2 zQeeSlheUUs#)B@+L?No-p0>y2ZPkOZlv zxc)fCl0jvOU>GqZ+$Ssr({JnMQW1CKM*i}yX!G5i;i6gYUTNANFxPQTz|*z+MUmGdFxHTa8k zK1?!FkqS@LvJ<5!-wn;>upSu;B$!GpHC1YhT#HXJ>Yy%Y#H;>R-!say@GX5E(B+ZK zVZ1VYay$b5DBc*pB7bf8C$T(qQL8yEn`Den8S}?>r~oJ;v@E7f<9zBx?ga6wmO=nW)bY-|xofxH4o+SdL!Cm&5TVw3Y_# zxAA2>m{xK)TrqYX-f3*_)sGs5_rqQ{S}x`=g+d0vVW%+Z{U>fsBlrU$<=y4SF{wZv zj;7;MlvJ12gy^H9no$y$fl%=X6l)AI=k9D&fTVlVNG-6zhJ1vb3)Z8?fL_aOPvyYP zB8xZWG|`_VP3fOf6n-0)5JRWEpwW?MBeWaFG**5=euMhMA|+E?kS0VYkBRGo*~{th z9n!lIZwBGR=qi{(NeOVF_!QL5^LX01XdyB{{eY?ydsju@AO#?Fn`KlXcdkXQ58CPv zajsN4Mc9*^lw`>_QQuHk4^NJEn!CHLm-XLEIIJ#^aGqp9 zMSKS7*O2i6i2<m={dYucM< zguxlSp4Fx_06>6)PUDZ$5+SA%X4Rpo!{CB`p->=Ii{SS@hD&G~!`3&GVljH^gGd)D z2MdAm0V?~=a*;@naLc6xh@v>!XpPz{q;I9LQPWSY7_CS1f8r82;1BFO&Ya8Zs)Pm(H?aD^(Dq_M2TyC9iICo%L0>>2Zs_TQaEs`dv zFKJUH?J9KDs1^Qk*GC{TK$H&d*`y_Kn$$%Ta76=51aCv_+ zuLTN`vMX~`nITGRi9#(Jcu{r-ikH;81KuBK6C5*yq1E^H4z?3F1Sg+lK+U1}b_3t; zz^be0o?~~oj4zQ`QPBHU1#-m0PTj|EZoi?lB=0wDCC<6uC`g@SztM@)M_6LN(Z<*K z{iLzKGsh75TG5+d`7wH|bfB1ejz52nEPK$s)XPOpfpAanX-Rqn{R~*tGG#A>uy2sE z;SBR=KB87;elh$^>amaeh-oTo3rQN`{~R>;wE?!;?8{j(^#~2ogwac@&3h+5;&hcj zi58-S>L9O(2WNgXCPO^45IQ_`k-E88Ng%}RCUxu^-v<=AoE)GGN09vp4iBhwPRfuh zuGm1*nIdJJTETb@6|ji(pqi%3ZogdBR}udN)l?isZBm% zNWm*m7gwTM)gg2TKuk$2nMQrS=ux-l9kq?;7Imr<^j!B*vxD6trdmJVZZ<6vEIeM! zwo*tj3$H&u+|^|g=!q_qu-=6a6;3bVU>HJ=qkUyIh$o%)DDIj=KRjwe+R?qnJi|Av zw-)iM`mtIs%4y9j@bm}t6m`i(F^K7U7fSWxT2(;&0e&GgSKyx?K0a*7kR@#sEhgVA zRZ-1iI0y6g5f6NOP3mLyV_oj#&coeZ-p!ysuGHwz>($~y`uIfdVj8X8i$?^su~Uo| ziO0syBKrtn|z6n$)@ItdDaxGNEOqgs`zXLomZ$3Z=J3Z8Lez|WpZs}a?xz$G>W zv%x7+vvhfIxyE4b7E{bjKp%J0S(R1Ch;A^2m#t1jc!*#?Td>yC8L8|8&n} z?*Ftib<>)Ze_hR&3bcqih<|FG|K|cb{p{eS*=h7}ak`CdsAxq=gH6l#5P?~NK6@sB zuGET)fGBlyWes|Y)+xeHR3MAAXu+JAECZACP1R)7?!@L~9Us=Wt)hcvM3IZcFc6K* zIN$}58btLndXE-i_zIc2x{shJXs1vY)bX=^d+-i%AHYADV9`K|mPNBy-~VMn608;b zV!a?;FzB`F+9Pe)f0t4Jtd5#&NQZ3HKNqb_Phb3OIVy`^s$U# z@7w;B1?w2=K&5JW!SWC*5iqF!g}{|sX3xL4A&Dm~4N zg%S}lN=|IxJ!x^+NZ#TsgL0sRbWKHx=wzw9dH%{ju0ny$^m2R)KkEJB)y}41VYwH^u z_1A<)g`@n}*of6)ZD?1gm^ zx4QyxyVutt3r}je2d7;+Ks_zN<(+U13h(u(n&i-p0mzro%&T|H;Ez8%$D}PP7qMff z>d1-TA_Nf+PEj_)Wej@0i(&9P2Lj@X+09Y_#BcD501QvPApls&xB)9y1f;o~;~I`m zP*y6i-3@?&HC`T`{4v+i#38iY4W%DOt9#9t#zIPUc}H&*23yup@tEFYNqu`~LC*d+ zNTi3S$1gN=lB-l1r9>I6cT^(Ehy!uULt^iYCl~LfU{?BBnF$1M5awg&tq*CQmgS+7 z-HzP6%R2Ml9>Y64IGmH!DYUd)D3@hcAhkp;k1KmB-mx(&NWZb-y1tE-umiD~$`y(V zX~@{7r9e^usPreu3ewL+x|KIoT8D0`GKBDZeBU;Wk(rk_Rf2{2H&ta$=h#$rVhW-H zbCV?lRX5ozLuHIv>4w@5sny0lZdY4X>30Oa9mvDIqmFmJ?Ld*xC6=u&EAs`B+s*C3 zEJ=iV^SS#Dpt>DMU^4Fq-||x3X;^5fILCG%Pa$ZH=6-P8IMR27-k=+Q45i@zda}KY zFTu{JqPl=_SX`-!Kcl9qzbvJ9h4VK}$ek_F+Ss1ThuXEqQ?C ziDiI|{T*|7p7FStcESL8GtS}39{hXF`mqb?ETBq24->j3HIs;R5AJc!`U<%Y!!b^F zJb6s}+b<4|<{wnjn51R`2W1`8pmQ-CCl2bQ{@gX9i}s+~=iF&_e%|}&9$&(scr&5X zWFOSD{kB57C5A+PrwG7eKqO<6m=pf3thDX=UOi#z$#)WghqLrgeJ4#Mtvad6Imlqr zY4_U>GAL!j7==g%DnJH?9`ZoM*pjyh^i!UMUmHiq&4c~cPV=a-ebW53;hK-j_P>T> z_PsYi-?NgfqerB12l{xHIj&k1M!~VyyUQu@sIn3q%;G1QCAf3q28Y%90WV^DK;BGd9iPBsFGWgqVy=Q$_Wh|Xnh3% ze8`L5<*485^c*-z7`$yD3G-{4-R`h6yX1s#vSu;S#w!Fh0HQj2VHkCz4fi%ZWNH?7 z;XD*7n-l?yJ+YFJmBvG+H;BT`W-={dK15VJaDYTPag2*8rtv(&|9+0ErGn zx+TU%ep^Ig|FAd(F=l`zWb&O#$Tkiz>bH9XG3oRv&b8hZkJ&Eck*yQio-~M*!nMNJ ziQwu$S}EPeCqqP-Qx;;nc#t-TTmg_KB)tG(R{-RBooCeQ^b5%9bE5?hM2&O=NbN=V zTyrHwqC#bPfX#k?yW!s)jb#!gZH}p^Ka(V2>3D|Ca1#G}hUA%;ZUrfqMgYW=OCtcH zhnttOK@296ImNrsDNQBby{sP|;>hvy5%A4Zu%+Xn>ZUxGm+jFA94s>tZ~(-#ygeCW zN&*gmm_)z~)$^(+fioIJzw}NCmD6N>T~pV&M2H(?f?bJAc!Ob=s~_4!968h^a9+w( zdiX1=cH>+!u4>Q$Roa%sCGTmKEWnC78Z10%O36ec1uJdZDa083rV2)m98v`%Tj)8q znaKo^>Nn=321_kEMC$38x`#H1R>jdxT247gKy)dNUZO0P!XfGib?A(~KB`2lKvQ28 zOM!Tl30#3EzwpeCtB=eoWmz++=UTRMnd^;nvwg_!`l=cqr1QKKoTr&dLrd+hfbvpNmK=@-~oxfMjv$o8+Svb zdyR^;05a768f`~3weL9k&>j!qaOfiLkKl?j-tBwm z5uu}Qq1Ed2+elAq;rsdG>GS>5ZS*krLqs1&FY3qjlar(7v(uAC>vaG0xUs_$i6VfI z^vYU-*Kf7jQ`Eh)*)(poW&=p;*J>$4R!S5Kq7)k44{?7ICqd(hO#u}bz00UQev3t+ z3HlaGzi^Vi%h_ZKaV}{l(=G(o|1_M9qx0FI1L1*6IECPB8cpIclAZ^{Xfzv-h7+hV z>2>2u6dfZZqvdMgdr|>Rb5{PM`LfV1MytzPq^n!Yt5MrA2IxFNUhA-aRDW53w8Udb z@E1+wG4VVA!|o@z0Y7nd1^0x^5T9)clS*5tlO$a#`nF*pT`!8pQyvWC^K&GiFRvo1 zDpaNV=yCJg9QfN|gCa|%bG`Gn;4|3hZ%;ty0M*O~LgHTZJoF(N2%zgJa{b>20 z`$Nb}Tj?x3HL^SZ^Zok|YWKDL&$XYbxA~uMFC{f zc-D_EX|I53q8jue5hylNwA`Zp-D!HjZaOGEpbv>amA&I^{@`3S5S`=rZErF~Ux<}C zX(Tg;7hmVBg#9Yway@poF zvfD#1M7SnK{VY%yac#TCeJLm9l1O~_wm&-1PNU9iiXPvlPq`a4xmS+S1;k~#=7*|nghSjAQ z!$qiVmtLka9VUw#t^|63WKzD2%UdVsN{me#8dx1{0~^QF*?17uHuU;gMho@a!{q0Z zVeMNcn~jNXwRE!auNK%45~iG0=Ontx$!EhcaCHy!B0wxWyIjBp0Y_J0^-w4RDLD*$ zJsog$36YZ0f(`FL6$unPOj10Jmk3MNre0}4Q`?jz3GK2+I^$4c~(5rwoy^~&H9?*S^jzb^RMdJAEk@UI8~<*Fqifhq`)P)^;l{p6Zi zs;5{n1t|D$)0(bc6a zVNKX-2DXA^f=q32z0+(#bwUV(&Pw}X(gjZ8h-VvqkpU4`31}Dz1`;Q5@AX6l<{Lf8 z_VU^^R~V80HF2iuUzJp2P`7%^!i3I5NPde0mSh&)JxN>W4l{_r0tG^8Lc3w-LY56> zoZ>wRai>Uk&|f#!v3<^nK|t*YL9#yQ@&|{J-f;9nc6kr&2DK9`wjUNhP=S`-63FYoDxqJ7YgB{;i=MWyX+&;?3~ROxc_3#9B8#Z_oNuvqyC2t%8;h89Rov zeiw12X>@@)6%V-HncT8Kgn7kiJ*kg`k6tl}N>VZJY`TCJH(YzU=J7_Lxvwp4c)-Y; z5_e#7bM|_-i?fQ8U;{U3+?E-=tS(3JXT$MsS^SbWSqf5CQZWsQFbW7G-A*LMfCTfEXiumls;^rqYND;=W&QVZ z&9c4PH#jSCyBnZU!~%h9`=KdS;Bnjd3wOx^yAJxZ;X;mKpAdale7%Y~8?!dGJR+>v z0fdpshE)a{m7lzeKLKy9LJ}hMlRCUwm?-;*Lh=?9Ao~a|C4MPCp~DsEj}BzQz$tW#eEUdg~ZepGA4IMWEvLN?McjU?&Ym?i9$ZJQt}?YV?Gva5SVJ=a02uJ5uw z5~bGIt}Mu5!8i1+EFGg^%!M7ix=2hsb9W`6B)Pk@;X0_2*a(#$gBi&+_z-zn39X|o zOnzIWrTVYg3-E&l`)lmsMl3;CigunFWngVa*o40yi(@)cN+#zzS)q!IK26KEVY_a7 z5mqVPfnq=47LS`zTH;6Caz#IqT-?!p3g+UCb`Z8Df=wUFda#_pDY#$uwPSk4q-4%k zj97T@mvCFm{iSm)`RH4 zX|KtZ8rj!jIrM;(>b9Yq;x%}=X5AB+oy55(vI34hk-e7oM6BR1a8EP>vHb0}L}oo( z(2htgEczr_cSOe(SF#~W7eCn#?}lgzM{~O$dU15S9oi9+ayPstZ~Cu%GnCivm)Z-z z`)~Yc_dnaC-hwZGCf)z6RUba6*7W6dGhz7IEGZB(V=?Q5=??D0I>Lbzl z$qhdeou7OkwWpm6*0E(4AYbX)%liK?r|e}G?_Mp?+~)-_JiWkS{bc)v?7sqc%&`MO z)crJQU!rZ{GQJ$5QJ$d}?_6W!_?0fHqs@TaRaa0e6^NeV0?|6=*t`ozaeK~Aj0pt# za5Np0t4H<@q1UJ*tO_qIcMkoN-0fXBVNcg#+FiVF^S<(}5spdG&j`PUZ?b#4aP)`> z8Qa=W<>H(yGn1vE6qu-O-@(7NvmEmRiPi`c$?2k-sNHVhEM?w4%h|VaUT>P&OlgK@ z&Q^5={*tBv*Zib#7H!*M-XQ+a;t^OZaTgeA;3--zvaH<&0Enaw^1HaarpVVEs3FwR zi*cgW6&)15E2lo9b=lBRPu2SDxl{p{CvjjrZ7r|Sk_-d9tjEU@y4i_Br*Ji;W^~a8hZMPKFNqu={2X-ca;ov6vTb$dDQi~EbguLPt&ESLND1a6% zo;C7?5z=Lt1wN?gu?zrSoiPHkIcTekgJVp>QJapzcO1_MvNQTrknt<9X73WE8PWL_ zN9Wx{B(Z|FokPkrBPD94X$Wcm=r5dRnSPhnIeDU!G+>c2D7qT>PcoTLHklF^tww9b z-1piVmRW|vBRF&L!VhN_%QWl~t*$I&4wGt0Y7+_r@Yi>AF+F3TbBe?eNco877H2{9 z&#jWa(mJ;!Q6-yboQu+&X>dllh&%59p&#ICcH9N7G>-9B4bmFv3%>w_7q3{lIE(GQ zd(kpUqq~VQCoesXlpGUp*e8MsA%Gb0bg-ylog{uxuhsS(nV5j>r_tiU`MQ0Dz!C1tQ?8|2ky4&;!nx0n9F< zMGRoAD)9oIo$l^7j_h~H$L$X-LI7ZsJ3KvU9o2tp(Hh6ie>NO9$%BBafKvdKGR^BS zak?#ROmChv>w7Iy6o69kh2|h#PHMw*u^tRngXx6bn9B@j0+%P^*1Px#_w0r` zp#l31bxH-s;Tz#Lbkz4)@^x2j*~RzoLUAGY`!(7#v8XbINcoMna9acbgPyI2qDB(P zfPyraV^~N5`?3n(rA71%Vj38O&_cTEx*JFJS|~{~S&pez04G|dXf~Mi-h#g_5scU_ zESdMDqbKqZXM)EN74wh2g1PlayeMiH;{M)^hUi+;Ea-k z6__UxHK`U0u0{;iqa6AAs}L$~!`=S`P&R7`NF@x4#}<8b z7glco(Ve4mUm?jU13ibo9IZ9dzK&lQh;KE$+JtZI{z`8MVN-jy%eEevItT&BtfSj_C4b*hG z73?T&Rb0!V52U%sh@yK1@Za!KV<=8Aa@#Sdx$xT6-EI9#m zc{8@0z>Y|c!>kSHNv|aOp;i$GATlJwfU^?RvU%oAF=YD6yMbAZMc0yA4l0rkK*V8(JH-wTDWR#~Zl>W}}#G!`O!WQ?>$&5>>lZDk~WZ z!<2;x-KMFpjhwiRDoSOi@)MKEujVJE5PKCJtjbKo=QNq8-~wvrgRECy+pIgySZpHG zPkf4rb{Mm0rvr^y^7N_JEZcevv}Y}Do+PW5WsbPPN}VAUcYdoD!x{oP9P~QvzSsah z_2U%C;{e>)gWD#&*uwNzK2R|P@OR@sAog3)GGd~)wIQDsWVRf~aM>=!fJuG-Xi1sH z5A`gbunxdrYe*BIzwX^*-yTP`YB74sey&Gr79@ab7mvqCyy-)p$Pc~l^dbcgaCtup zaFJ`m0EP_+AYY!~o83=IlW4%@nl@sjg3Si;q|+Y75KV4St{-nVn^>}IqjttL`)R*F z{D2w_N5c$J+OQk@5kU(r9u*WY;DLR0(Y!X@I3%AKeu@#}nhAUomqCxADe`0SV;8W| z@Wl_SCl+=I3Nyhe9!auCBsj{yGlYBcOgpiao3jjoMI^<=Xh2f@!WNYDr2f3M(>!Wy zpEQ4Mv`!9wY3#2%BIHqc_+EB`y(hGyV*k;?Ip$np_k%l0!WqiZs{)$X-+pm$l%fq1 zCOcgtfb=w|PKn^k1gSGA(8}V$igk`V)C->v z$j*$qgaq8vlil(o9*hhYq^OdI6FbPqo5yi0FNcUNcVqBfpCB=ZR@Edt-P+LsNUhoQ z{E__}+SYpG_2A>tL17e0T< zH&n+vJlPw%mykTw7&08`la9Qqz7fUwc1jA}i>e7# z@S4ByE-T!C!uJyjKcaD=GIL zw-rYzR)`$9$wn%`o=tKv8M?JD;_sHao&%U@Q7J|izs@RNRE^gSy3>r}G{<;W+ z#){h8JJ<%EdD7f2xX4V8K4*t%PcLjQ3s+T0Oc>)meH8$K292>nfLF$C1nV5#vCdKA zYEd3&=#gBe?(xK@mbH-VFJ<$};v$#s!eJYpNor~>>*zPMLZ%$YY!q^_@)N7BYA?Gr^siaueENG$_eILVM1A=OE< z{_5^oQo8W@b96@rTJ&QR#}G_d7{tPm86{%#a|~K7prmN9j)oVhPd6t>ElnUsYDL%3CCF!L3vDlVaP-DrCY3mj|M57eQ_JYNZ|Dy2{)%O~f^z$E3tRY^mt zoKn%ow&(;U8{3~#Dw9q+v62u(IQCT~SyJ%wq^VF8)o|2r_XaJoKH%BEXG1ih;-Sjr z=$P=?c#EEqFO-69v9uFP;6YyFI-my#QR;QTGCJA9iltc{HaQ}2iCCA3FBUhB)t%5` z99P?v6J1@EW>6E~EP=w4dq@a5daMR9r%yNae#xglR~{BcR|-7`F*~3TnWT-mRhY_HXLfzAiWTF)Zk z$)vYo2G;gSKI~P3Xu}dJ1X+!h#1+@hoE6DP=cS@6Uyhs3&na)&-Lq~nWpr_650Lz*?j?|5i4u)3Vj3hApS-&2~3$vsWy zm`WMBesP?zTGcU?#d2Y5Bq)#zUr_qC#$O3V-ZCXwdoVI1EZ&z^Q z@34lIokMtKU7)7pRGf-!+eU>I+vbUr6FaHcwvCEyR&3k0?VJC0PkPwH_3SlWgZ<(C zDruTU?Nu#p`MR(sUx5(>U`4<31sD#-yjB;)68IXDs9{^IL)1p3RHQk6;@l?H*BQdx zYk>68`x;_&(^4AYLGiDUkTi)-P?4k}H%DA2)}y5KCGJZ-kK6;ZR)ls}K#@WW8lytJ z)>ma;U!Jjl(37b@p%!+M1kI+4@M`73bQ0Q$CkNi%n#^|gAQjWaQ)6MvsE!N&2)+Rx zukoWW!#$u*w*xb^Y6`0`Vd(RY?+V~czRq_WqEf9AWT8sFOs2tXoG)xs+Ae~YPjy0i zPcq?9y&>%mQC4*X0-JPwgzA2WIuie6-4JM6ePK)mMpm>Xvbp@P3gspI;ahVJdX7bc5#Rn0L-H&j*3^>lXyAjU;x}6N8?c2_HhY>v@c8E~kPxsTS5$Y8Vt&dRJ7CRuD4G9#kMO84(+0h0hQY>e`(q5+h zg)|g)wKAdRO#(Ho|Czus^4I~j_!L)e|G}ZnPB$00GIJHXNCtLdZ;T#H@Na}0^D?s` zw{4r_*KI2JN|DfQ7^!8~YX8fDtdGV?8K}HsCkBtE?5eFxP7%BX9yRvP~AV_zD(=hL--pdh$e9L@zS-z2$XOW3S$Ac z1MP+`q{;HC=YBMjx#c$LEG=;+El0gSB5twf`1=$IXeEPTfSD8^26!zJl6b>7ns7(M zTtPU8SukRJ_2z0NKopIbMRmaFVb1mI1$re#a?B5MQ?o|S zd8=5;|D|3{u-x5J5<_SxeYUs|gIdiuTGu|KHS+3CV@)G~OIB$JR5K;-w z+3GzEr1yv1aY9iYA-?64bwHjja$-nY&(RM+z?aYHHBEM`d#nX3%XR*GE8?$+mZdZT zTB!|?LWvaF2S27nlRg-fdEevjT_)_ZI?-9x7|*MGkncj1Lh`fe%sj>))(!8*l+Kd%>07kb^^;$E%?bZbX9 z4URMZ!_Q>*pMi~t*a{}04#8GRbq=7KgG;s8t;2&pX#d5`UXQ1S`lR3CWB6!vCMo8Q z;b$RBJ>`S%?_Q)hryB|X1 z$v^kxp{w=0Hw`K|dX7bIeOnWFBwCM7)U9b9*h;gw;`Sifa6=~RZ51Q+J3X}hBzhV^KeF?L)y5haCwJ-401JD$hRKC}StB*XBnKPWO}sFg3DW`6PIn*f zbRQJ$m6L|0D_OxHTY$OXIS6Kt0$TG{qV9~hm={&94XpZmE=Hy641LPX(2e^ng0Gdv zA3Ag)4Y38jfTG_4Qk}UwTGerJ)I%>A+8fyCLlPKi%eCEQZZpQ{kW&i}5=CXu{0q9{ z3O(~qnde7*znAk>k)w7vkR!EWc={s(2fK%F7GZK>RJWP-g)rsfc4!-cq!xH^t*0-| z^4&r-G@embrzuZjy2uJ?hYlKoJQTJ2+YX+64t}}C&p#`{u;F)^d#26(o)XoZ;M%Nj zu?1C?OlK{~3%>lre-sI$m#{2GYef|l1QZ|?VL^iaZ6D@5JHv4HOYmLIbngD^6g@fbeK*!}lc|5u~w%|rRZ$wmN8g^&kyyfLpuHq$obWGCsT;gMow1mN<-nd4&knsWd znhgPdUt~7kM_idjxqlAe#QdWro4}3PFyrWc1DJuYq{PD;P0D&JO$x_hV#D}hQbR!3 zabfAU_Ph*;UJTpCj`ZlbJk*2dsF%dKFYjzgek`|Go05W;gvyFkE^wjYPa?zh#+a>b z&^C_Oq|z-pG$s!2q+*Ae5@XeT37K^e|97n*oW5v(ooICu;O}YWglK78D)|_6_=ik$ z$e))}T!)*{3QssgBZFd;Z+UeQ-L5&vt%W+r^klF3biz5iFmRDr@^mL0{Z;rzO0JEQ z9{T0Bk%Y>`#PVP5={5p?WM=`vAj-lYyrFb8glc@DrHmD`ziXsI>XUKzy_I4!#{O9> zgOdqGN}`@(GJdlk`QT?|A%BWIfJB+jEi_~HGHGdiZiQ-n zoei<1#v* z@UzO=zmlCu5cI_D5OkcN5nHR<3{#PT-ZLKW8*)nr>K2@A86D=nANsK@lhbfCpDT_D zH|S;RB#h@t|B$nwR)~Md2iz<4>uXwfFBU*dMZPCxSWzfV`AePm&fU<@bY_VyOA3;g zKQERlnU-X>+@qqyyR3ZZiGHBpCnt8VrX6Y(*}nVKv|Fu$!7C?3m= z48@fs8X;>JihmMg^luNr z=>7?ikEF|Vb<&);A98R$N#>X!54Ab#-wAZn(f$Av<^<#%6@00MQk+RV1)P`ci^le} zBv&M>c}a^TZhzJ;QITf_Wu&Kyk$lifI2d8aTQ8g9+?8%!B4`zBYBN4vtpIUcQDKYY zigM>52dWcI9Q*C>2UK@EJsfioAV`sqVXD=SjD#9s@StJSwXLYN+UiAJ<(A?(fl6yX z49Ij;ukBG$ql9W$(=fOUQP0Vd8!{L(97V5QwKtE$=H5%`Po5=Bon9;D$DBDYoVt*3!q` zMU*UB$l|Qity&sl`04VXtIKRZuAmB$Fa%0Zv+ar5RHPYprgc4MRCb8`+|k9_CUeqP zN!M+B%&iHFI*qsGZ0Y|j zx8fz{K)}t$rMP>}FY0VD?6xy$Z!&}z>gGOZ;~${mVW=hFEWEaRlI#@^7sC{+wjIX@ zQVgS@GSu+|Em#wD#tr&c-?P4pI&5g>DvRuV)GX1jhVMGly^;R#TE8~^5#lJ)qk7pt zv0m#6cSPLa+ZKoFCB~;e86jP|iMvbev$Qg+1mW&2MvS{4Eb{3S)(-bI;YEnnt%5G0 z6IE?%C&|V1T*jHI5`w?fFh*x|H{3-Ip-YB{@q!s^HMDbg`c6m1iDb*wOUq^RnSG5W zFtYqZO&bIA`c=*B=2AD)*Vof?am)0~K6tXdNw%bksd8}k>9U(DKlE>Y2SW>Kt2{BZ2LaEW`Ekr;kX#d=%BB2eY=)*cDCI5jJ?g-V8=a4-yIpB zSe%0G$%PrAs}VjqzdEBs&0l#1rY)C+=)~<^Hw|Q?=V~lS0B z!!9+xzdl&X)hIBb*2DJ0MMinuWS9S+LB7TVB(mT zaCUYSFUuHlMk&o(ontha))F~QryX>$5v*6RM3w2|lUu(%?qIRFeue3bICBynVW_6q zkV4Wz+EE)2rP0XL+8uX!YObYY7{xZT4<4|>h(<9Tzu#3-dxQ9ydi}4>MH$k9{9I=v zd;1ou;Pfj6OQQ>fv>ou2zy?njyIs{6c*{r7Z+r|%HVQ`c6I7T+{rzlf(JlE`f19S3 zA?T>Cdt0RU)8U2df%1BcI^`FQS?5dk-Ihj*a^?zS#ZpJ}9BExIL{MW22?CUCN}>#1 zprUpHSGp#i_TFw5ax-it%0x=JKu(80HJZtdx=>#2?ks*` zd+Jn`R5nf%P3erYn+kUHR`O!mLZdTeFcH!yCdc}oMib&b?Reb@!#{8X3bI|a6Rre$ z3N~LTJ?F@g(jMu>O*-jwJw)DEtvV(e&pHu}Dm;8i>q8W~ZwQ^nysgdWAVOgnR z4VW@VvptXd zxMVqh=A`^hQmhCI5;E_+ID#I`d*C1S zdVpMB>6a)u_g(Z=@AFfq_xg}T?7qCLWjuUMS|gf$ zj6&)a$F!W|5r@H7K=OVMb;`zpp-a`=ov$Fyns8kMSZYidV}l^sE&OV2mhUjPfe|>- z5q|csV9^>M*aHYQP%POaqmfs(nB%F)2|!9@2jm+6NHi^6%tNC%O$|-uRH2b=;`cTP z;sVL>dfL^fy0#v0-D~PiNjgQG_@CAC1ld8FUM0S{fL1Nd^7j@VY*#h?rmeiPkCxf4 zcU!|8n%DRHZP52h{`cB&-vXpJZSU*3zN`OdF~r8^;`8Gw|EjAfhNIN3Xzd}T@}jSA zqx1F7SoGoGP`3~xN-Go%xfeq{4t71qd9U;xcbC4^=c=O7wQkAFMMcn(BbU#^AHnm( zCECa4VXbm6V6MRCJ-a5+{)&GWHYuW%|5TMHlxS_kEwW37=b{(Hmy{OL`vmEv9cgb9 z%{PqEQ~9>?o7>on+4{E=fAgWYhAy5jamZfKmUQRP7PNZ5GhtEDxLQ%r7Oj8isP z_lxsp@^?H-TWzPhpe35ewzhP1!?2bOLfpHCLiQhv zOs^o+%)ryEPaw*aB4OyVYSw5L9|9L1_4E};8oWF1P4s_x^Sxp)RyPH6SrQl4q`HWL ziB_@QYdJ6QJS+;sx&U0#KSe4fO@?)3#Y9j{3Zt!&uy^$QuZ2AyKnrLO-9NI>_INR# z7d}^lwN`jKW3eUFeMIL#VAWKhq`GoFg@57{FpJ4v1LYp=({fc|^{}-5Es9-YLj_}n zfH>&Tge4-5#>2~DzO=j0FZ+P>-hDZwg1nB@>3vDYSDMlJBWMF@`m2>>Ih)ABSZf3mKY~<=;uTGv8L#XWyl$Mg_Z~j$&`ET3`17$>?t3BpLPZA)4tsao&QJcB-{EJz zITUwUS#RuoZ>$q# z>#SI}Rkq_S{a5A{(WhUr4mTQH##M#q-I64Xu+tBy0lt1n#cwRVIk4qd_h>>zLe@j# zubn*WLb03)VUFC}FoTPf9FQ$_*;0V9$~$e_(-^RqR*VoSlDUsgkB?VxIagM)yRhcfs=0R@JN`1OFq-6iq|aD5VxtFUh|=~ z$Z(62p)@XDt4kB(AWZPf8KLR&s}mM2Ca9di>h>yDrinRxqc@`9DxOe}VJ$*|Cq54D zMqrDY(ZQtGg=L6b2l=c+ufZG2P`wSzDK%Mdg1c7KThN?L`maQ1{K{Bnscunb^s^<(C`tE-Uo92`^JfG%&M*~libjwMhI6T0w!_(E0ddaKlPWYdYTyW&3 zh(Q;Ix3GY!12YWmVAfWec<(nwH0<*1eNuMe%iRywE1P7FS#ldBstB|NE_QtO`0E-( zEfkwv#Y}2r!H&upPE-1iYY7$+xWuALs!w%4$M;DtJNhzB@N$NXf1Q!xWY2Z{Q^cKA zpiJ0Y17#3FP0iy#_J_7#mp!DVj$*CTp)FqxD-W&IZ?Ie9V8i-F3G(Cf^vXbL1k~2< z{1=a=$A1~|z=EVCgb2jFa=+3V3gwM`5xdn^A}6W!DyQ`GKLeXObZ3tp4@^9P6kwBe z3h^w9d#^G44=`f^N|!SCBmY3NgN!7^xuvCS{eHUB^CE*Omyw8S4oN=uED*Mr8#`?a z-{pdXB>tC@=2o%|5w2n0GiXra{QFQ?_c*40R|%n0cEN!7zWrl5o_njnlg*2c^h?)KBVT>ZV6l5n z@-u6Ah#{CuvU^D9)3`I(F#ki5<46)q@5OAYG0ZU-HR{gc*qA8V@gIdXf&-? z5G3fx(o19uOuFwS_e+xz^rPKpk0n996$!PUF{^_k9U{V+G55Fk3ZT(RFTgQgG<|A} zmAfUYm#mR>q!B5`m?NqOq-x^Av%I2^PZKw^2yVsRul4yx5#GP`6;iZ%)i3 z#F8r`dKz~%m*>834t0{uydlXwxQj|AJa4NVb0iuRNBrm0rb@mG+K6+y(FlU#12)d1 zSxP`sl2TchH=|$K$@3MsUM+xt3$)VgchoDRqtS&H<*#i*s3npBV>9Qq-zFe4bH76Q z@@>=Iqi(B*UW^(pgOAVlHa`&_>|;A))_&)8X5z+tV^$Q471a+^kMyj8r<$X3F;F-K z4dqKvidq9}z@N&1f}_11^3tt2=6*dfbF9^rTf5&A2~bDHg>E-i+M{dGA-=~6W3O82 zb}YyDfK0?I6A3={y^c~Dj=6K4tBwwH>n|mu4VpOg2PXkKjPXj-Nz>no6K=g=0G!E{ zrK6ZJ#uyJ~2wT%t#~a2Yj@UHcziwz&6n&kP6?CsQBwBJ{K4!a4t7lKeIsS}OJ&-n= zbX|ED*3ALAvZO|k*ij*7-sjQVf$(+SXAWG^lKP!bDLPE+KOyMw$MHmZmcR=aB6q;3 zCNMMCxuO+gwj<`$;!QPVW|$Ebu=#`(+MHJ|b%=IlWYHK(uQ6>qzU?^_Ix^&PYVGZ= z@RhaLf=_795b#!{Do+JI-{E|1g@oikBTuV}W>Zr@Wdy08(X8y;pxH zInON!Ko-nEHEN^J5UO3Smbob(UftvId91z@nuEGl|Iyf1RxIjG!#d0UFK&7n@o=Bd zR2UA@Ki0YAj7x5r4Zodpv7$7_Ta1%0^nw$dOmJW+cS5PLBXis6m?-QC!-x{yw4OyN z_H^*#CHngMR}6^5J~(TPueJ?!C4Yi4g7!(J5L znjh{eFZi?O|AIWWTB%Syf6Bw->5T%0v%*AsVCd!%Ghi=)vvGF=`em1|lg49an>7_vrptfqJ{N3w`~l;E_D>dGQzy%Y8sesRz>s45{< zGOi|F0$m=HoPsRzMZtb)b*!P~I|rtYOnX`~N?ZR$S})t^#ukuH=OcV z^Mz_Hl>|HO?W8$mweL)(Kb7jY36T2LJveqaBDp6KeLMuG1cHnb@8!595j1w-7P({3 zFq;9jVyX<3v^f7iz#@m4=;dRnig*GM?p&DDz!1nZjVk1C;eL%PLY2ELE`7N*VuK)MwlTSY9STQ^2~(t~-@7$1`^MQB z6vODG%ZU*EBH~+x!;SE}IZ6&9+Mw;d%L^%E0t}#V3b%S079eez!fS7XU(EXPq0qOK zxfF~$fRe(WYY}Ng80SNudNZn=Aw=wZa-vnwxm3rLjt5^Jhs{Uj2NA+_iwPfOs4?L> zA*?g&i|m~@o@Nb?Z1ck~?{tS)ikfPI-wNYh#H zuu?{iD=I{mK z$<(5luVEX#ogr4)U=Fg1FL7{wR#SCxAcXx!%3&rYO2%*?$8}7HkgI7)u+j_w=0+!G zW66h4%4)8hNbVfhwkh2&k;z-#tK6$}A!r zMbckX-+=g)>IqtAV3a~2Q zSH3A+|F19Jda`vG7!L)l#aLDJVL~_F3?);NdXF{S1{=SINa%g&Y;ZR-677Fxu@w@G z_9m;f5eV57goTZ{EhT5f8eTIk?a=Mj%WJ809eoIbP`4CS)6h@qs?#ca*Mcc^d;>9K zE5wlW+6o?+5v0qLygO&OqM4c{YW}Nl)MU((R+x+gis{^F$WxV{9rn+q>?$eeYLTLv z2DX*M!1=`vXjb;Qz;4`V7J|lt-_Q(BY5bzA{5MlcH+Jmrp^{xWp~uFF*gb@7oY2D4 zrC3v4%mwVwZF;v=;Vt04G`-9$MwT=X-`0_^s_u(`DPwmw5w*^%TB`HaRQ|6emDj;) z@B#bd+*V?YE?o*39piv~o2CBJDkOq-zZT2HY^221a_Kzav~>@N`BPmSzc{CiP&PGf z#4Mg*LK-KE9q|#bLc7K~O_u>()}@SqNlYZIGNfh+@-0C+7y*~JF>Tj5*pl6PRk^Lp z1AI^p(h;!fDZTo}>yYf}Nw3X5|I8y-#*WubU#a?yUxC6ibWQp6MN5fgMhNw~o=qO1-#0$*YLr@My&V7+oQ60qJ zMtih;Zj9Jn$#l7f>&RG{o89NuB!}7jbHW-yGf}Pd&6FISM=0QIVNmYm?2%T{;YDrx zk|mXq^y}5VuBNtxI)+q09vMc%sWRiU0ZV7L%_mROYwU%RPaUBzU+Hk--L zQ_f>9_rhL+1ZeNjw{RB?_C^Jbl5%cGC+z&BO>p2VJlQRLB8%Nk1_@UID}4L`reVAl zD$HI5vSa?URY4A|na*%hXf?JDuY89PZ?(k}WX7z@JT?djXTLeWdIj6ugx*wZF;)+V!<~^$(HZ@{0KbCdL~j@R|`S{PA$K z$or}uCs<*3QV$kNHnJ*g)_=@NGUeBw(JwZnAg27wXMae20x+GawOd4;N8v zd?@cn!TSwK!tRCY!D%p8TQ2W&_Sx(I_D67Q?bzXlN=*5)<5WiO!W?A9z%Pa*D~%j#@CH?*YR3ykgZR8 z)lev+_G6Z?Skgx1EIkKT`{2xg^4P?il)aCFuU&1vx@o)@JBMdM4BAWwZ`2k{U6pmH zsBOT|Zpk`h-QWL2@(s^B-kxSjxzgccALtkHS#Gd&=I4~9$;QezS?Rx$S!jhqUu#-2 zYh6t`ZR)WzPA#e`ji`^r0czc82!1j|oh&3nIbl?z#gvntt`*+~Wk@vfPw6K1R3d^g zFP%_tl%9C|aTI}?+l0Aj#sPz{$2pIdI>>=9rS0Z|!9VjT@>RTWu#i_|D}7m`9kh1F zz4s(yI4aPp5EZYQ9R6;Jl$+tynywM3t{n+Xfh*$gZfJJ1XH4v}<=SoXVMI7}e6dCi zm;>9fzfn#!ifM>%YiSwm@$h1xW=de?^H2Q8bA4KvJh9EptvES2&$WNq&g?Fi<5n?qMirlZh*()^4Yn7mF`m%KLy7L1Ve+&n zuyJ&Hd>GB@8>;u8Qp2uo=sL0MGdi*=@)R-hpUYOqHSwt2%Xojh)ipbN0erK6p#j1W zF@*;5iPMQ6B!QEM5(77`q^ywW95kr@;y5J6ngVsxsicV`d}zraEX+g^=Eb5pU}KUaz%I6UdM$AZybORW zW4KV#p!$zVA`XsicmMgIM~K-pBVug$K_PQQ2@J9jIn}gIS{~*Z%LA&H*`o0Q^LDff zJcu}JI{NX(6IZ2CoKxa50+i zmHx3D@NCsS7xsJZ5qr1v-WDSn1eMi&JWWIv(8_|AsRb#WTSg-qNc%2Th>Zm=q!R3O z=Bk5Ql&x&#sFWyb0Skx8iA#~@wY-7s4c@SjYhi1>Bzf47OOLQiuu3@uq$Tz*zkY8! zbnpJaxQI1oOOl{H&3f9c0x*-t)tka}cYQ&xVbpjr{s@}@XK-mzx4Wc;vqB9?c+6=|2q08iPw`R1!=aJ)C>2&LgIMak> zisZ%{)1z0ws`m~s8}%{hEcb<{trgPeYvprT*4i@UW>{cc;!SX4#T zvH6dztgUn&O74|*m8ke}&o+DpbY_hk6VFQw85CT?o75r8Jj00XE%8K9Ms30zB20dm z&!Nazlh$fQ&|-?`;d6eWM#V7(n7P^IQ3CZTl8#Npxj-zx_zuyah>tMHOLSN zN}@pC=DTK6JVu4l%Eb&(F1&a3IG`R%YGg{%|01juAT2f2kFM#-?F)se(h^i){sEVQL%lU*h;;y~pQY|1r$YFYwtU>9$L14k7Q?a+i2 z-9=#UIG>ZMB42j<|0?pKeM?bEu>?buzYRF62?;rKt}r!%d9{_v8+{jF*`ZJKl#pnzD()u@LO7T{>WxUpyFF$c?f0g><^FmtEm^m11fP zi_6k$1*(?{a4dhs^0zxV8`6pNNBKJAcC=m1qXamvI>!S=@GoIQc=+=q>~FD z`lp{*!K9hk$?J9Sd9&1dVhyNd?nK(fg?b!HsSD{eJzgW}VbR`)&T zF--Q9A!MkHK4$32=KCF zNkwN zq1k*bwU%tkLVUp)wjga9KnDN(i$G*_tYOKFi?}rRM*w!Vu8G2dYW&j5&*KG0B4c^- zIB7$}Xb#6TFnvmPVY*D5m~b_x4YHuL`B~*Dviz;=;&GE@b+xK9!bx$4(lr4e+@9Zm z?WCpD(t&>mCT0I-iQOPJSe1oWK%ii9^Bx=?hb8Jq1N>dO(A+y4FqhE_W!ru?E9{ho zS`A(>Jbo2xwwUDJqmN-ybQ<+$*epErO7p)DtHB7yTU~R8Lhv%Dc1;R2CVCmN*aq+S ztf)ivx^Ll5QqXVlc7i{CgihAB;kH)V{vh~l-(eU!(P8Eyvj$d)n3Y>al7eS!36kf= z4}A2;jnU5>5a(v^>gAdW+XquqS$BVnNwZ}+*D&KLcjWH%u`bk}D_Y@oR;yt@Q(-3J zlhF7}3y+0@?tdji(0Pgds~=HUf#+Ewq(9X0lwfyn`i5#A$qLx9l2o z_c_raXl-HM;TOnmpNDw;1W0;njjoZtWRUA?o^``ieWf&hsscYe7hlJEAFedcd=aa@ z`nA5C1+aSJ(R&2_&+IhMzS0<1XSujw^ll~|s<7#&>jEmWwLBXIepdqnan3yI{orv! z%EUsVDl$X7bQImxF@haEpKq^=^y(%@<`}!@Sq97J_99;*jdGAElPidR#*x4>kg1 zTNvpzFIoVxB{oaRv~iVK+VJD;rU#&OcvU`GQ;8)gM{3#YE~I%Wu9ii{=+4N5fy_;# z48qx%tgI~1lZL~FNfnZ1V_pTdxVS0Kc1v>O5C2rM^6g=KqvchTcJGDqp@3Sde(}>< zfX?dQ{z5ODMpem5cNME@|8y~K1SJ_$OwFX5JR2ch+hf1M@_kAu#x~o9jSh?AM}}HP z418U1s@fSwrn>n%Tf|=g4xsP9<*M#H!wKe?+4zq-v@#ekM`!V3Wm!>pGH=1{LMGJx zL+(G)R@H;-N28Mmf;2%L_teo62fGGAbdn7fjlh zBfc)ZuDZr3N3mm_I$;Re@3g5Jzm>mLu^1J5i19Vm`8iUmBEag*DXCg|reH=LBwMFA z0BPa!+>H2OV3(?oe$R*pP1-M5D$Y9>ZbGawtGtNBWR?7Iz`Cne?{Vb2pS6R}*V|^B zxNRfLn0mcHQAhuWmmt*NpA{9T<~8wqUylVA)?+7nz&SzG#LB&vt+1&E1VssSlME7D zM3WBm<=>zA$k^rmZ0sM=Q;2%7@~seYaqHCFxOz|t44T<&nwXaqcy8%Y|>rM7&|r$e(OfB63b(hUQIV%lFIyyEjq#Q7$j z$zyZKlY;rr;M{F88O|U%IW<$ztm;kJ7}Ia=%$r!d7j#cDrNYweWITsb`9?h< zxBDATJ#{Ji_dhHw=yfOrzwv7mD(d8XFs6>SqSGl6K(h$F3v(GvtN0StYWT#c6b{+> znE|)c@>hDvvr#8-vSJGXpOzl$Qi_mWEbnFSpKH3jOH77zqCM}d#dRi8p7dTk-NKip z`fwxUo)p#^{HSVo#LijS44}>zUA#~Jr?y&WRS*lExaaq#$(EXDYW}C6`Ze{*8%3kH zEyyaZ=9OCkf88hUvDd(TsSgir>*AK13^!pHuKmw^}2U+o6Yu^%Vxe*NJ?}d zmZod#^)SKy`i5WcQ{BwxWps$ZD-l<9REl<5uw}~ru0MfT4ZD4zRdHj9TH7E=FU(_~ zT!&`Ef-?P+9l3+Cg)l)AA3zBboo{U8X z;QXS?yNI5LAyX46YR-DZb^T-1 z{jAI@#98K1`7b06^hN6&AK&7olQGU49j|_H)_maDilmL9fQf5A-wDew(bb@F9rlQ$ zMxbJ@n!IS>7>kM9g)Gany}f?Y2s`qms;wLj@FGlYw3J6dY2(?yy_S7)am!3y4i(7I zjfR|hYd2V!wbuhp``0S2J+E<%e#b@ndCeLI<6|qtTymaNtb3sHx3Ik}Vn4vBcYzGU zi}Wp@9cyo?mQnAB;MwB@hg0Y*3!i>npfkG91@2%sdO-^6{BFAlUe>G>w2A%gU}&lO zPR@4x!rVL5G3IVKPOs`mum;#y-;28?iBrf`eGUDdl_WxEu+`qyZ{#<5}&#L=?` z#yGwXHnupbaPNkG`Zk_WrNC<=99Yq&qTYBT1qLu0n#z+CU zR#RKc1>1v@hj!;j+k?e-oN7q6)=a*}Q~tP~g1*LUy-``;H{^iEd#$+TK?Tg&?X``K z+k<+H6C0~BI|;@0)$o=4ugootAK%|Y9ETR)>(zAO%rreC%o#E*@Bwy{r{FZ4Vw{Q{ zjaO||d%Uj?%&q!$WX%9Z2h$k-Njf+wXk}OX;NJ*5?G&ql z185>Uzay%5db@vyH6`sp&5EZcPW1eR1j?Cq67-*(N|6bFgh;So@(CZ3H=sL5hNdaN zs!%E+T|5_jBqR%zdaF2C)K$!0N@)L#lRtSBBse()aYO(ec(v4r>mqK0LBUb?*QJun28pzuyt3 z`IKUu6{=P(r)QP|%HhN?N@Xe{9lm{veCEXBdHua}T;byi9Pz@iH1>0ayyYy9DWlT3 zpZiK1c?4tP7fP*kl|KOEv~=H$X+ve0MqR!#%RIWvKmzUMx65Vix}XH*3=K^OtkI+u zE$NXz@R=0b?6kH;Vh6vf`{;HDgpdjNq7A1>XM~wOSy(~IJRKMXJ?By2HUiID9VB$y z^}s)lAl^EVvQ3YeIFt#8_l-rjT66APW-^aXcS1^Nyfxiim3%M%q?+OR63b<-}`HJGBHv#rFOs{oFg# z&9}um-jDkp&}1}8zGhbA&j><}(ku`Yp>*&RoG^ud$!L?K_d0vId~|$k{aE+06>QE~ Yo4Ppq|2a~Q9esgw1u)=)ATxvf4{>km>i_@% literal 0 HcmV?d00001 diff --git a/contrib/yaml-0.1.4/.gitignore b/contrib/yaml-0.2.5/.gitignore similarity index 100% rename from contrib/yaml-0.1.4/.gitignore rename to contrib/yaml-0.2.5/.gitignore diff --git a/notes/debug.txt b/notes/debug.txt index 282bfc5c..a746baf1 100644 --- a/notes/debug.txt +++ b/notes/debug.txt @@ -1,7 +1,7 @@ - strace strace -o strace.txt -ttT -s 1024 -p `pgrep nutcracker` -- libyaml (yaml-0.1.4) +- libyaml (yaml-0.2.5) - yaml tokens: diff --git a/src/Makefile.am b/src/Makefile.am index 8695cc60..e8182611 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -7,7 +7,7 @@ endif AM_CPPFLAGS += -I $(top_srcdir)/src/hashkit AM_CPPFLAGS += -I $(top_srcdir)/src/proto AM_CPPFLAGS += -I $(top_srcdir)/src/event -AM_CPPFLAGS += -I $(top_srcdir)/contrib/yaml-0.1.4/include +AM_CPPFLAGS += -I $(top_srcdir)/contrib/yaml-0.2.5/include AM_CFLAGS = # about -fno-strict-aliasing: https://github.com/twitter/twemproxy/issues/276 @@ -57,7 +57,7 @@ nutcracker_SOURCES = \ nutcracker_LDADD = $(top_builddir)/src/hashkit/libhashkit.a nutcracker_LDADD += $(top_builddir)/src/proto/libproto.a nutcracker_LDADD += $(top_builddir)/src/event/libevent.a -nutcracker_LDADD += $(top_builddir)/contrib/yaml-0.1.4/src/.libs/libyaml.a +nutcracker_LDADD += $(top_builddir)/contrib/yaml-0.2.5/src/.libs/libyaml.a TESTS = test_all bin_PROGRAMS = test_all @@ -85,4 +85,4 @@ test_all_SOURCES = test_all.c \ test_all_LDADD = $(top_builddir)/src/hashkit/libhashkit.a test_all_LDADD += $(top_builddir)/src/proto/libproto.a test_all_LDADD += $(top_builddir)/src/event/libevent.a -test_all_LDADD += $(top_builddir)/contrib/yaml-0.1.4/src/.libs/libyaml.a +test_all_LDADD += $(top_builddir)/contrib/yaml-0.2.5/src/.libs/libyaml.a diff --git a/src/nc_conf.c b/src/nc_conf.c index 7d773df6..ff192256 100644 --- a/src/nc_conf.c +++ b/src/nc_conf.c @@ -1463,8 +1463,6 @@ conf_set_listen(struct conf *cf, struct command *cmd, void *conf) if (value->data[0] == '/') { uint8_t *q, *start, *perm; - uint32_t permlen; - /* parse "socket_path permissions" from the end */ p = value->data + value->len -1; @@ -1477,7 +1475,6 @@ conf_set_listen(struct conf *cf, struct command *cmd, void *conf) field->perm = (mode_t)0; } else { perm = q + 1; - permlen = (uint32_t)(p - perm + 1); p = q - 1; name = start; diff --git a/src/nc_queue.h b/src/nc_queue.h index 5ff70cf9..98f4ec02 100644 --- a/src/nc_queue.h +++ b/src/nc_queue.h @@ -168,6 +168,13 @@ struct qm_trace { (head)->trace.lastfile = __FILE__; \ } while (0) +#define QMD_TRACE_HEAD_INIT(head) do { \ + (head)->trace.prevline = __LINE__; \ + (head)->trace.prevfile = __FILE__; \ + (head)->trace.lastline = __LINE__; \ + (head)->trace.lastfile = __FILE__; \ +} while (0) + #define QMD_TRACE_ELEM(elem) do { \ (elem)->trace.prevline = (elem)->trace.lastline; \ (elem)->trace.prevfile = (elem)->trace.lastfile; \ @@ -179,6 +186,7 @@ struct qm_trace { #define QMD_TRACE_ELEM(elem) #define QMD_TRACE_HEAD(head) +#define QMD_TRACE_HEAD_INIT(head) #define TRACEBUF #endif /* QUEUE_MACRO_TRACE */ @@ -595,7 +603,7 @@ struct { \ #define TAILQ_INIT(head) do { \ TAILQ_FIRST((head)) = NULL; \ (head)->tqh_last = &TAILQ_FIRST((head)); \ - QMD_TRACE_HEAD(head); \ + QMD_TRACE_HEAD_INIT(head); \ } while (0) #define TAILQ_INSERT_AFTER(head, listelm, elm, field) do { \ diff --git a/src/nc_request.c b/src/nc_request.c index 5b7f859f..ca54572f 100644 --- a/src/nc_request.c +++ b/src/nc_request.c @@ -128,7 +128,7 @@ req_put(struct msg *msg) bool req_done(struct conn *conn, struct msg *msg) { - struct msg *cmsg, *pmsg; /* current and previous message */ + struct msg *cmsg; /* current message */ uint64_t id; /* fragment id */ uint32_t nfragment; /* # fragment */ @@ -155,18 +155,18 @@ req_done(struct conn *conn, struct msg *msg) /* check all fragments of the given request vector are done */ - for (pmsg = msg, cmsg = TAILQ_PREV(msg, msg_tqh, c_tqe); + for (cmsg = TAILQ_PREV(msg, msg_tqh, c_tqe); cmsg != NULL && cmsg->frag_id == id; - pmsg = cmsg, cmsg = TAILQ_PREV(cmsg, msg_tqh, c_tqe)) { + cmsg = TAILQ_PREV(cmsg, msg_tqh, c_tqe)) { if (!cmsg->done) { return false; } } - for (pmsg = msg, cmsg = TAILQ_NEXT(msg, c_tqe); + for (cmsg = TAILQ_NEXT(msg, c_tqe); cmsg != NULL && cmsg->frag_id == id; - pmsg = cmsg, cmsg = TAILQ_NEXT(cmsg, c_tqe)) { + cmsg = TAILQ_NEXT(cmsg, c_tqe)) { if (!cmsg->done) { return false; @@ -184,16 +184,16 @@ req_done(struct conn *conn, struct msg *msg) msg->fdone = 1; nfragment = 0; - for (pmsg = msg, cmsg = TAILQ_PREV(msg, msg_tqh, c_tqe); + for (cmsg = TAILQ_PREV(msg, msg_tqh, c_tqe); cmsg != NULL && cmsg->frag_id == id; - pmsg = cmsg, cmsg = TAILQ_PREV(cmsg, msg_tqh, c_tqe)) { + cmsg = TAILQ_PREV(cmsg, msg_tqh, c_tqe)) { cmsg->fdone = 1; nfragment++; } - for (pmsg = msg, cmsg = TAILQ_NEXT(msg, c_tqe); + for (cmsg = TAILQ_NEXT(msg, c_tqe); cmsg != NULL && cmsg->frag_id == id; - pmsg = cmsg, cmsg = TAILQ_NEXT(cmsg, c_tqe)) { + cmsg = TAILQ_NEXT(cmsg, c_tqe)) { cmsg->fdone = 1; nfragment++; } @@ -557,7 +557,6 @@ req_forward(struct context *ctx, struct conn *c_conn, struct msg *msg) { rstatus_t status; struct conn *s_conn; - struct server_pool *pool; uint8_t *key; uint32_t keylen; struct keypos *kpos; @@ -569,8 +568,6 @@ req_forward(struct context *ctx, struct conn *c_conn, struct msg *msg) c_conn->enqueue_outq(ctx, c_conn, msg); } - pool = c_conn->owner; - ASSERT(array_n(msg->keys) > 0); kpos = array_get(msg->keys, 0); key = kpos->start; diff --git a/src/test_all.c b/src/test_all.c index 9d2836be..070498a3 100644 --- a/src/test_all.c +++ b/src/test_all.c @@ -57,7 +57,7 @@ static void test_redis_parse_req_success_case(char* data, int expected_type) { struct msg *req = msg_get(&fake_client, 1, 1); req->state = SW_START; req->token = NULL; - const size_t datalen = (int)strlen(data); + const size_t datalen = strlen(data); /* Copy data into the message */ mbuf_copy(m, (uint8_t*)data, datalen); From 709de0181584da82d178193d31a02f936dda891a Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Thu, 1 Jul 2021 16:40:24 -0400 Subject: [PATCH 34/69] Fix compilation warnings about log sprintf format strings The size of the difference between two pointers depends on the platform (e.g. 64bit vs 32bit pointers), so cast it to an integer - it should fit in that range anyway. --- .gitignore | 5 +++++ ChangeLog | 3 +++ ci/build-nutcracker.sh | 3 ++- contrib/Makefile.am | 4 ---- src/Makefile.am | 1 + src/nc.c | 4 ++-- src/nc_conf.c | 2 +- src/nc_connection.c | 2 +- src/nc_log.h | 20 ++++++++++++++++---- src/nc_mbuf.c | 12 +++++++----- src/nc_message.c | 2 +- src/nc_server.c | 2 +- src/nc_stats.c | 2 +- src/proto/nc_memcache.c | 10 +++++----- 14 files changed, 46 insertions(+), 26 deletions(-) diff --git a/.gitignore b/.gitignore index 97d9e44e..8e1230f5 100644 --- a/.gitignore +++ b/.gitignore @@ -69,3 +69,8 @@ Makefile.in # The .clang-format.example file may be copied here for use with -style=file .clang-format + +test_all +*.trs +tags + diff --git a/ChangeLog b/ChangeLog index 8acb6147..348bb998 100644 --- a/ChangeLog +++ b/ChangeLog @@ -20,6 +20,9 @@ Fix memory leak bug for redis mset (deep011) Support arbitrarily deep nested redis multi-bulk responses (nested arrays) (qingping209, tyson) + Upgrade from libyaml 0.1.4 to 0.2.5 (tyson) + Fix compiler warnings about wrong conversion specifiers in format + strings for logging (tyson) 2015-22-06 Manju Rajashekhar * twemproxy: version 0.4.1 release diff --git a/ci/build-nutcracker.sh b/ci/build-nutcracker.sh index cef0e719..a9bd8a28 100755 --- a/ci/build-nutcracker.sh +++ b/ci/build-nutcracker.sh @@ -10,8 +10,9 @@ trap cleanup INT cleanup export CFLAGS="-O3 -fno-strict-aliasing -I/usr/lib/x86_64-redhat-linux6E/include -B /usr/lib/x86_64-redhat-linux6E/lib64" +# TODO: Figure out how to make this apply only to the contrib/ directory. Maybe override the yaml directory's Makefile.am after extracting it. # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53119 -CFLAGS+=" -Werror -Wall -Wno-pointer-sign -Wno-sign-conversion -Wno-missing-braces -Wno-unused-value -Wno-builtin-declaration-mismatch" +CFLAGS+=" -Werror -Wall -Wno-pointer-sign -Wno-sign-conversion -Wno-missing-braces -Wno-unused-value -Wno-builtin-declaration-mismatch -Wno-maybe-uninitialized" export LDFLAGS="-lc_nonshared" cd /usr/src/twemproxy autoreconf -fvi diff --git a/contrib/Makefile.am b/contrib/Makefile.am index 98b88883..d90e6080 100644 --- a/contrib/Makefile.am +++ b/contrib/Makefile.am @@ -1,7 +1,3 @@ SUBDIRS = yaml-0.2.5 EXTRA_DIST = yaml-0.2.5.tar.gz - -AM_CFLAGS = -AM_CFLAGS += -Wno-maybe-uninitialized -AM_CFLAGS += -Wno-pointer-sign -Wno-sign-conversion -Wno-unused-value -Wno-builtin-declaration-mismatch diff --git a/src/Makefile.am b/src/Makefile.am index e8182611..dd07a25a 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -19,6 +19,7 @@ AM_CFLAGS += -Wunused-function -Wunused-variable -Wunused-value AM_CFLAGS += -Wno-unused-parameter -Wno-unused-value AM_CFLAGS += -Wconversion -Wsign-compare AM_CFLAGS += -Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls -Wmissing-declarations +AM_CFLAGS += -Wno-format-zero-length AM_LDFLAGS = AM_LDFLAGS += -lm -lpthread -rdynamic diff --git a/src/nc.c b/src/nc.c index bde044c2..8c594559 100644 --- a/src/nc.c +++ b/src/nc.c @@ -397,8 +397,8 @@ nc_get_options(int argc, char **argv, struct instance *nci) } if (value < NC_MBUF_MIN_SIZE || value > NC_MBUF_MAX_SIZE) { - log_stderr("nutcracker: mbuf chunk size must be between %zu and" - " %zu bytes", NC_MBUF_MIN_SIZE, NC_MBUF_MAX_SIZE); + log_stderr("nutcracker: mbuf chunk size must be between %d and" + " %d bytes", NC_MBUF_MIN_SIZE, NC_MBUF_MAX_SIZE); return NC_ERROR; } diff --git a/src/nc_conf.c b/src/nc_conf.c index ff192256..401072c5 100644 --- a/src/nc_conf.c +++ b/src/nc_conf.c @@ -1296,7 +1296,7 @@ conf_post_validate(struct conf *cf) npool = array_n(&cf->pool); if (npool == 0) { - log_error("conf: '%.*s' has no pools", cf->fname); + log_error("conf: '%s' has no pools", cf->fname); return NC_ERROR; } diff --git a/src/nc_connection.c b/src/nc_connection.c index a0d1d9da..5f8dd8a7 100644 --- a/src/nc_connection.c +++ b/src/nc_connection.c @@ -312,7 +312,7 @@ conn_put(struct conn *conn) void conn_init(void) { - log_debug(LOG_DEBUG, "conn size %d", sizeof(struct conn)); + log_debug(LOG_DEBUG, "conn size %d", (int)sizeof(struct conn)); nfree_connq = 0; TAILQ_INIT(&free_connq); } diff --git a/src/nc_log.h b/src/nc_log.h index e19e91f5..80f82196 100644 --- a/src/nc_log.h +++ b/src/nc_log.h @@ -114,6 +114,18 @@ struct logger { } \ } while (0) + +#ifdef __GNUC__ +# define NC_GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__) +#else +# define NC_GCC_VERSION 0 +#endif +#if NC_GCC_VERSION >= 2007 +#define NC_ATTRIBUTE_FORMAT(type, idx, first) __attribute__ ((format(type, idx, first))) +#else +#define NC_ATTRIBUTE_FORMAT(type, idx, first) +#endif + int log_init(int level, char *filename); void log_deinit(void); void log_level_up(void); @@ -122,10 +134,10 @@ void log_level_set(int level); void log_stacktrace(void); void log_reopen(void); int log_loggable(int level); -void _log(const char *file, int line, int panic, const char *fmt, ...); -void _log_stderr(const char *fmt, ...); -void _log_safe(const char *fmt, ...); -void _log_stderr_safe(const char *fmt, ...); +void _log(const char *file, int line, int panic, const char *fmt, ...) NC_ATTRIBUTE_FORMAT(printf, 4, 5); +void _log_stderr(const char *fmt, ...) NC_ATTRIBUTE_FORMAT(printf, 1, 2); +void _log_safe(const char *fmt, ...) NC_ATTRIBUTE_FORMAT(printf, 1, 2); +void _log_stderr_safe(const char *fmt, ...) NC_ATTRIBUTE_FORMAT(printf, 1, 2); void _log_hexdump(const char *file, int line, char *data, int datalen, const char *fmt, ...); #endif diff --git a/src/nc_mbuf.c b/src/nc_mbuf.c index 50aa59af..c6e6505a 100644 --- a/src/nc_mbuf.c +++ b/src/nc_mbuf.c @@ -106,7 +106,7 @@ mbuf_free(struct mbuf *mbuf) { uint8_t *buf; - log_debug(LOG_VVERB, "put mbuf %p len %d", mbuf, mbuf->last - mbuf->pos); + log_debug(LOG_VVERB, "put mbuf %p len %d", mbuf, (int)(mbuf->last - mbuf->pos)); ASSERT(STAILQ_NEXT(mbuf, next) == NULL); ASSERT(mbuf->magic == MBUF_MAGIC); @@ -118,7 +118,7 @@ mbuf_free(struct mbuf *mbuf) void mbuf_put(struct mbuf *mbuf) { - log_debug(LOG_VVERB, "put mbuf %p len %d", mbuf, mbuf->last - mbuf->pos); + log_debug(LOG_VVERB, "put mbuf %p len %d", mbuf, (int)(mbuf->last - mbuf->pos)); ASSERT(STAILQ_NEXT(mbuf, next) == NULL); ASSERT(mbuf->magic == MBUF_MAGIC); @@ -179,7 +179,8 @@ void mbuf_insert(struct mhdr *mhdr, struct mbuf *mbuf) { STAILQ_INSERT_TAIL(mhdr, mbuf, next); - log_debug(LOG_VVERB, "insert mbuf %p len %d", mbuf, mbuf->last - mbuf->pos); + log_debug(LOG_VVERB, "insert mbuf %p len %d", mbuf, + (int)(mbuf->last - mbuf->pos)); } /* @@ -188,7 +189,8 @@ mbuf_insert(struct mhdr *mhdr, struct mbuf *mbuf) void mbuf_remove(struct mhdr *mhdr, struct mbuf *mbuf) { - log_debug(LOG_VVERB, "remove mbuf %p len %d", mbuf, mbuf->last - mbuf->pos); + log_debug(LOG_VVERB, "remove mbuf %p len %d", mbuf, + (int)(mbuf->last - mbuf->pos)); STAILQ_REMOVE(mhdr, mbuf, mbuf, next); STAILQ_NEXT(mbuf, next) = NULL; @@ -269,7 +271,7 @@ mbuf_init(struct instance *nci) mbuf_offset = mbuf_chunk_size - MBUF_HSIZE; log_debug(LOG_DEBUG, "mbuf hsize %d chunk size %zu offset %zu length %zu", - MBUF_HSIZE, mbuf_chunk_size, mbuf_offset, mbuf_offset); + (int)MBUF_HSIZE, mbuf_chunk_size, mbuf_offset, mbuf_offset); } void diff --git a/src/nc_message.c b/src/nc_message.c index 62fd0b72..fe850883 100644 --- a/src/nc_message.c +++ b/src/nc_message.c @@ -423,7 +423,7 @@ msg_dump(struct msg *msg, int level) void msg_init(void) { - log_debug(LOG_DEBUG, "msg size %d", sizeof(struct msg)); + log_debug(LOG_DEBUG, "msg size %d", (int)sizeof(struct msg)); msg_id = 0; frag_id = 0; nfree_msgq = 0; diff --git a/src/nc_server.c b/src/nc_server.c index 7b1d5e4f..3afe7875 100644 --- a/src/nc_server.c +++ b/src/nc_server.c @@ -293,7 +293,7 @@ server_failure(struct context *ctx, struct server *server) next = now + pool->server_retry_timeout; log_debug(LOG_INFO, "update pool %"PRIu32" '%.*s' to delete server '%.*s' " - "for next %"PRIu32" secs", pool->idx, pool->name.len, + "for next %"PRId64" secs", pool->idx, pool->name.len, pool->name.data, server->pname.len, server->pname.data, pool->server_retry_timeout / 1000 / 1000); diff --git a/src/nc_stats.c b/src/nc_stats.c index fa4d92c7..8687cd44 100644 --- a/src/nc_stats.c +++ b/src/nc_stats.c @@ -773,7 +773,7 @@ stats_send_rsp(struct stats *st) return NC_ERROR; } - log_debug(LOG_VERB, "send stats on sd %d %d bytes", sd, st->buf.len); + log_debug(LOG_VERB, "send stats on sd %d %zu bytes", sd, st->buf.len); n = nc_sendn(sd, st->buf.data, st->buf.len); if (n < 0) { diff --git a/src/proto/nc_memcache.c b/src/proto/nc_memcache.c index 18bb0be2..2c4dfa8e 100644 --- a/src/proto/nc_memcache.c +++ b/src/proto/nc_memcache.c @@ -379,7 +379,7 @@ memcache_parse_req(struct msg *r) log_error("parsed bad req %"PRIu64" of type %d with key " "prefix '%.*s...' and length %d that exceeds " "maximum key length", r->id, r->type, 16, - r->token, p - r->token); + r->token, (int)(p - r->token)); goto error; } else if (keylen == 0) { log_error("parsed bad req %"PRIu64" of type %d with an " @@ -745,7 +745,7 @@ memcache_parse_req(struct msg *r) log_hexdump(LOG_VERB, b->pos, mbuf_length(b), "parsed req %"PRIu64" res %d " "type %d state %d rpos %d of %d", r->id, r->result, r->type, - r->state, r->pos - b->pos, b->last - b->pos); + r->state, (int)(r->pos - b->pos), (int)(b->last - b->pos)); return; done: @@ -757,7 +757,7 @@ memcache_parse_req(struct msg *r) log_hexdump(LOG_VERB, b->pos, mbuf_length(b), "parsed req %"PRIu64" res %d " "type %d state %d rpos %d of %d", r->id, r->result, r->type, - r->state, r->pos - b->pos, b->last - b->pos); + r->state, (int)(r->pos - b->pos), (int)(b->last - b->pos)); return; enomem: @@ -1205,7 +1205,7 @@ memcache_parse_rsp(struct msg *r) log_hexdump(LOG_VERB, b->pos, mbuf_length(b), "parsed rsp %"PRIu64" res %d " "type %d state %d rpos %d of %d", r->id, r->result, r->type, - r->state, r->pos - b->pos, b->last - b->pos); + r->state, (int)(r->pos - b->pos), (int)(b->last - b->pos)); return; done: @@ -1218,7 +1218,7 @@ memcache_parse_rsp(struct msg *r) log_hexdump(LOG_VERB, b->pos, mbuf_length(b), "parsed rsp %"PRIu64" res %d " "type %d state %d rpos %d of %d", r->id, r->result, r->type, - r->state, r->pos - b->pos, b->last - b->pos); + r->state, (int)(r->pos - b->pos), (int)(b->last - b->pos)); return; error: From 1239ef9e2f14f954b0f5da22369c0d994a347e45 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Thu, 1 Jul 2021 17:04:10 -0400 Subject: [PATCH 35/69] [skip ci] Update documentation of supported redis commands Closes #614 --- notes/redis.md | 244 ++++++++++++++++++++++++++++++++++--------------- 1 file changed, 172 insertions(+), 72 deletions(-) diff --git a/notes/redis.md b/notes/redis.md index a1f2d529..641401a9 100644 --- a/notes/redis.md +++ b/notes/redis.md @@ -53,49 +53,57 @@ +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ | Command | Supported? | Format | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | APPEND | Yes | APPEND key value | + | APPEND | Yes | APPEND key value | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | BITCOUNT | Yes | BITCOUNT key [start] [end] | + | BITCOUNT | Yes | BITCOUNT key [start end] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | BITPOS | Yes | BITPOS key bit [start] [end] | + | BITFIELD | Yes | BITFIELD key [GET] [SET] [INCRBY] [WRAP|SAT|FAIL] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | BITOP | No | BITOP operation destkey key [key ...] | + | BITOP | No | BITOP operation destkey key [key …] | + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | BITPOS | Yes | BITPOS key bit [start] [end] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ | DECR | Yes | DECR key | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ | DECRBY | Yes | DECRBY key decrement | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | GET | Yes | GET key | + | GET | Yes | GET key | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ | GETBIT | Yes | GETBIT key offset | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | GETDEL | Yes | GETDEL key | + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | GETEX | Yes | GETEX key [EX seconds|PX milliseconds|EXAT timestamp|PXAT milliseconds-timestamp|PERSIST] | + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ | GETRANGE | Yes | GETRANGE key start end | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ | GETSET | Yes | GETSET key value | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | INCR | Yes | INCR key | + | INCR | Yes | INCR key | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ | INCRBY | Yes | INCRBY key increment | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | INCRBYFLOAT | Yes | INCRBYFLOAT key increment | + | INCRBYFLOAT | Yes | INCRBYFLOAT key increment | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | MGET | Yes | MGET key [key ...] | + | MGET | Yes | MGET key [key …] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | MSET | Yes* | MSET key value [key value ...] | + | MSET | Yes | MSET key value [key value …] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | MSETNX | No | MSETNX key value [key value ...] | + | MSETNX | No | MSETNX key value [key value …] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ | PSETEX | Yes | PSETEX key milliseconds value | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | SET | Yes | SET key value [EX seconds] [PX milliseconds] [NX|XX] | + | SET | Yes | SET key value [EX seconds|PX milliseconds|EXAT timestamp|PXAT milliseconds-timestamp|KEEPTTL] [NX|XX] [GET] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ | SETBIT | Yes | SETBIT key offset value | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | SETEX | Yes | SETEX key seconds value | + | SETEX | Yes | SETEX key seconds value | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | SETNX | Yes | SETNX key value | + | SETNX | Yes | SETNX key value | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | SETRANGE | Yes | SETRANGE key offset value | + | SETRANGE | Yes | SETRANGE key offset value | + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | STRALGO | No | STRALGO LCS algo-specific-argument [algo-specific-argument …] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ | STRLEN | Yes | STRLEN key | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ @@ -141,39 +149,45 @@ +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ | Command | Supported? | Format | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | BLPOP | No | BLPOP key [key ...] timeout | + | BLMOVE | No | BLMOVE source destination LEFT|RIGHT LEFT|RIGHT timeout | + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | BLPOP | No | BLPOP key [key …] timeout | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | BRPOP | No | BRPOP key [key ...] timeout | + | BRPOP | No | BRPOP key [key …] timeout | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | BRPOPLPUSH | No | BRPOPLPUSH source destination timeout | + | BRPOPLPUSH | No | BRPOPLPUSH source destination timeout | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ | LINDEX | Yes | LINDEX key index | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | LINSERT | Yes | LINSERT key BEFORE|AFTER pivot value | + | LINSERT | Yes | LINSERT key BEFORE|AFTER pivot element | + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | LLEN | Yes | LLEN key | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | LLEN | Yes | LLEN key | + | LMOVE | Yes | LMOVE source destination LEFT|RIGHT LEFT|RIGHT | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | LPOP | Yes | LPOP key | + | LPOP | Yes | LPOP key [count] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | LPUSH | Yes | LPUSH key value [value ...] | + | LPOS | Yes | LPOS key element [RANK] [COUNT] [MAXLEN] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | LPUSHX | Yes | LPUSHX key value | + | LPUSH | Yes | LPUSH key element [element …] | + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | LPUSHX | Yes | LPUSHX key element [element …] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ | LRANGE | Yes | LRANGE key start stop | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | LREM | Yes | LREM key count value | + | LREM | Yes | LREM key count element | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | LSET | Yes | LSET key index value | + | LSET | Yes | LSET key index element | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | LTRIM | Yes | LTRIM key start stop | + | LTRIM | Yes | LTRIM key start stop | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | RPOP | Yes | RPOP key | + | RPOP | Yes | RPOP key [count] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ | RPOPLPUSH | Yes* | RPOPLPUSH source destination | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | RPUSH | Yes | RPUSH key value [value ...] | + | RPUSH | Yes | RPUSH key element [element …] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | RPUSHX | Yes | RPUSHX key value | + | RPUSHX | Yes | RPUSHX key element [element …] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ * RPOPLPUSH support requires that source and destination keys hash to the same server. You can ensure this by using the same [hashtag](recommendation.md#hash-tags) for source and destination key. Twemproxy does no checking on its end to verify that source and destination key hash to the same server, and the RPOPLPUSH command is forwarded to the server that the source key hashes to @@ -183,35 +197,37 @@ +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ | Command | Supported? | Format | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | SADD | Yes | SADD key member [member ...] | + | SADD | Yes | SADD key member [member …] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | SCARD | Yes | SCARD key | + | SCARD | Yes | SCARD key | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | SDIFF | Yes* | SDIFF key [key ...] | + | SDIFF | Yes* | SDIFF key [key …] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | SDIFFSTORE | Yes* | SDIFFSTORE destination key [key ...] | + | SDIFFSTORE | Yes* | SDIFFSTORE destination key [key …] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | SINTER | Yes* | SINTER key [key ...] | + | SINTER | Yes* | SINTER key [key …] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | SINTERSTORE | Yes* | SINTERSTORE destination key [key ...] | + | SINTERSTORE | Yes* | SINTERSTORE destination key [key …] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ | SISMEMBER | Yes | SISMEMBER key member | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ | SMEMBERS | Yes | SMEMBERS key | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | SMOVE | Yes* | SMOVE source destination member | + | SMISMEMBER | Yes | SMISMEMBER key member [member …] | + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | SMOVE | Yes* | SMOVE source destination member | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | SPOP | Yes | SPOP key | + | SPOP | Yes | SPOP key [count] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ | SRANDMEMBER | Yes | SRANDMEMBER key [count] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | SREM | Yes | SREM key member [member ...] | + | SREM | Yes | SREM key member [member …] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | SUNION | Yes* | SUNION key [key ...] | + | SSCAN | Yes | SSCAN key cursor [MATCH] [COUNT] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | SUNIONSTORE | Yes* | SUNIONSTORE destination key [key ...] | + | SUNION | Yes* | SUNION key [key …] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | SSCAN | Yes | SSCAN key cursor [MATCH pattern] [COUNT count] | + | SUNIONSTORE | Yes* | SUNIONSTORE destination key [key …] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ * SIDFF, SDIFFSTORE, SINTER, SINTERSTORE, SMOVE, SUNION and SUNIONSTORE support requires that the supplied keys hash to the same server. You can ensure this by using the same [hashtag](recommendation.md#hash-tags) for all keys in the command. Twemproxy does no checking on its end to verify that all the keys hash to the same server, and the given command is forwarded to the server that the first key hashes to. @@ -222,45 +238,69 @@ +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ | Command | Supported? | Format | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | ZADD | Yes | ZADD key [NX|XX] [GT|LT] [CH] [INCR] score member [score member ...] | + | BZPOPMAX | No | BZPOPMAX key [key …] timeout | + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | BZPOPMIN | No | BZPOPMIN key [key …] timeout | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | ZCARD | Yes | ZCARD key | + | ZADD | Yes | ZADD key [NX|XX] [GT|LT] [CH] [INCR] score member [score member …] | + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | ZCARD | Yes | ZCARD key | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ | ZCOUNT | Yes | ZCOUNT key min max | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | ZDIFF | Yes* | ZDIFF numkeys key [key …] [WITHSCORES] | + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | ZDIFFSTORE | Yes* | ZDIFFSTORE destination numkeys key [key …] | + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ | ZINCRBY | Yes | ZINCRBY key increment member | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | ZINTERSTORE | Yes* | ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX] | - +------------------------------------------------------------------------------------------------------------------------------------------------------+ - | ZLEXCOUNT | Yes | ZLEXCOUNT key min max | + | ZINTER | Yes* | ZINTER numkeys key [key …] [WEIGHTS] [SUM|MIN|MAX] [WITHSCORES] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | ZRANGE | Yes | ZRANGE key start stop [WITHSCORES] | - +------------------------------------------------------------------------------------------------------------------------------------------------------+ - | ZRANGEBYLEX | Yes | ZRANGEBYLEX key min max [LIMIT offset count] | + | ZINTERSTORE | Yes* | ZINTERSTORE destination numkeys key [key …] [WEIGHTS] [SUM|MIN|MAX] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | ZRANGEBYSCORE | Yes | ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count] | + | ZLEXCOUNT | Yes | ZLEXCOUNT key min max | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | ZRANK | Yes | ZRANK key member | + | ZMSCORE | Yes | ZMSCORE key member [member …] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | ZREM | Yes | ZREM key member [member ...] | + | ZPOPMAX | Yes | ZPOPMAX key [count] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | ZREMRANGEBYLEX | Yes | ZREMRANGEBYLEX key min max | + | ZPOPMIN | Yes | ZPOPMIN key [count] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | ZREMRANGEBYRANK | Yes | ZREMRANGEBYRANK key start stop | + | ZRANDMEMBER | Yes | ZRANDMEMBER key [options] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | ZREMRANGEBYSCORE | Yes | ZREMRANGEBYSCORE key min max | + | ZRANGE | Yes | ZRANGE key min max [BYSCORE|BYLEX] [REV] [LIMIT] [WITHSCORES] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | ZREVRANGE | Yes | ZREVRANGE key start stop [WITHSCORES] | + | ZRANGEBYLEX | Yes | ZRANGEBYLEX key min max [LIMIT] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | ZREVRANGEBYSCORE | Yes | ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count] | + | ZRANGEBYSCORE | Yes | ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT] | + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | ZRANGESTORE | Yes | ZRANGESTORE dst src min max [BYSCORE|BYLEX] [REV] [LIMIT] | + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | ZRANK | Yes | ZRANK key member | + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | ZREM | Yes | ZREM key member [member …] | + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | ZREMRANGEBYLEX | Yes | ZREMRANGEBYLEX key min max | + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | ZREMRANGEBYRANK | Yes | ZREMRANGEBYRANK key start stop | + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | ZREMRANGEBYSCORE | Yes | ZREMRANGEBYSCORE key min max | + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | ZREVRANGE | Yes | ZREVRANGE key start stop [WITHSCORES] | + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | ZREVRANGEBYLEX | Yes | ZREVRANGEBYLEX key max min [LIMIT] | + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | ZREVRANGEBYSCORE | Yes | ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ | ZREVRANK | Yes | ZREVRANK key member | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | ZSCORE | Yes | ZSCORE key member | + | ZSCAN | Yes | ZSCAN key cursor [MATCH] [COUNT] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | ZUNIONSTORE | Yes* | ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX] | + | ZSCORE | Yes | ZSCORE key member | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | ZSCAN | Yes | ZSCAN key cursor [MATCH pattern] [COUNT count] | + | ZUNION | Yes* | ZUNION numkeys key [key …] [WEIGHTS] [SUM|MIN|MAX] [WITHSCORES] | + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | ZUNIONSTORE | Yes* | ZUNIONSTORE destination numkeys key [key …] [WEIGHTS] [SUM|MIN|MAX] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ * ZINTERSTORE and ZUNIONSTORE support requires that the supplied keys hash to the same server. You can ensure this by using the same [hashtag](recommendation.md#hash-tags) for all keys in the command. Twemproxy does no checking on its end to verify that all the keys hash to the same server, and the given command is forwarded to the server that the first key hashes to. @@ -270,30 +310,53 @@ +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ | Command | Supported? | Format | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | PFADD | Yes | PFADD key element [element ...] | + | PFADD | Yes | PFADD key element [element …] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | PFCOUNT | Yes | PFCOUNT key [key ...] | + | PFCOUNT | Yes | PFCOUNT key [key …] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | PFMERGE | Yes* | PFMERGE destkey sourcekey [sourcekey ...] | + | PFMERGE | Yes* | PFMERGE destkey sourcekey [sourcekey …] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ * PFMERGE support requires that the supplied keys hash to the same server. You can ensure this by using the same [hashtag](recommendation.md#hash-tags) for all keys in the command. Twemproxy does no checking on its end to verify that all the keys hash to the same server, and the given command is forwarded to the server that the first key hashes to. +### Geo Command + + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | Command | Supported? | Format | + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | GEOADD | Yes | GEOADD key [NX|XX] [CH] longitude latitude member [longitude latitude member …] | + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | GEODIST | Yes | GEODIST key member1 member2 [m|km|ft|mi] | + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | GEOHASH | Yes | GEOHASH key member [member …] | + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | GEOPOS | Yes | GEOPOS key member [member …] | + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | GEORADIUS | Yes | GEORADIUS key longitude latitude radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [count] [ASC|DESC] [STORE] [STOREDIST]| + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | GEORADIUSBYMEMBER | Yes | GEORADIUSBYMEMBER key member radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [count] [ASC|DESC] [STORE] [STOREDIST]| + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | GEOSEARCH | Yes | GEOSEARCH key [FROMMEMBER] [FROMLONLAT] [circle] [box] [ASC|DESC] [count] [WITHCOORD] [WITHDIST] [WITHHASH] | + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | GEOSEARCHSTORE | Yes | GEOSEARCHSTORE destination source [FROMMEMBER] [FROMLONLAT] [circle] [box] [ASC|DESC] [count] [WITHCOORD] [WITHDIST] [WITHHASH] [STOREDIST]| + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ ### Pub/Sub +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ | Command | Supported? | Format | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | PSUBSCRIBE | No | PSUBSCRIBE pattern [pattern ...] | + | PSUBSCRIBE | No | PSUBSCRIBE pattern [pattern …] | + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | PUBLISH | No | PUBLISH channel message | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | PUBLISH | No | PUBLISH channel message | + | PUBSUB | No | PUBSUB subcommand [argument [argument …]] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | PUNSUBSCRIBE | No | PUNSUBSCRIBE [pattern [pattern ...]] | + | PUNSUBSCRIBE | No | PUNSUBSCRIBE [pattern [pattern …]] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | SUBSCRIBE | No | SUBSCRIBE channel [channel ...] | + | SUBSCRIBE | No | SUBSCRIBE channel [channel …] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | UNSUBSCRIBE | No | UNSUBSCRIBE [channel [channel ...]] | + | UNSUBSCRIBE | No | UNSUBSCRIBE [channel [channel …]] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ ### Transactions @@ -309,7 +372,7 @@ +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ | UNWATCH | No | UNWATCH | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | WATCH | No | WATCH key [key ...] | + | WATCH | No | WATCH key [key …] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ ### Scripting @@ -317,13 +380,15 @@ +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ | Command | Supported? | Format | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | EVAL | Yes* | EVAL script numkeys key [key ...] arg [arg ...] | + | EVAL | Yes* | EVAL script numkeys key [key …] arg [arg …] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | EVALSHA | Yes* | EVALSHA sha1 numkeys key [key ...] arg [arg ...] | + | EVALSHA | Yes* | EVALSHA sha1 numkeys key [key …] arg [arg …] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | SCRIPT EXISTS | No | SCRIPT EXISTS script [script ...] | + | SCRIPT DEBUG | No | SCRIPT DEBUG YES|SYNC|NO | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ - | SCRIPT FLUSH | No | SCRIPT FLUSH | + | SCRIPT EXISTS | No | SCRIPT EXISTS sha1 [sha1 …] | + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | SCRIPT FLUSH | No | SCRIPT FLUSH [ASYNC|SYNC] | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ | SCRIPT KILL | No | SCRIPT KILL | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ @@ -395,6 +460,17 @@ +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ | TIME | No | TIME | +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | COMMAND | Yes | COMMAND | + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + | LOLWUT | Yes | LOLWUT [ argument ...] | + +-------------------+------------+---------------------------------------------------------------------------------------------------------------------+ + +* COMMAND is forwarded to an arbitrarily chosen redis backend for the benefit of tools such as `redis-cli`. + It assumes that all proxied redis servers support the same backend. + There is no post-processing; Commands that are not supported by twemproxy are not filtered out. +* LOLWUT is also forwarded to an arbitrarily chosen redis backend because it does not depend on the state of the database and the presence of the command would not affect production applications. + It can be used as a reference for adding future commands with no keys and a variable-length argument list. + Other commands such as `TIME` continue to be unsupported. They may vary based on state of the database (e.g. out of sync clocks). Using EVAL with a key known to be on the specific backend server can be done instead. ## Note @@ -460,4 +536,28 @@ + *MUST* set all redis with a same passwd, and all twemproxy with the same passwd + Length of password should be less than 256 +## redis-sentinel feature + ++ You can configure sentinel for a pool with 'sentinels' to let twemproxy works with sentinel: + + sigma: + listen: 127.0.0.1:22125 + hash: fnv1a_64 + distribution: ketama + auto_eject_hosts: false + redis: true + server_retry_timeout: 2000 + server_failure_limit: 1 + servers: + - 127.0.0.1:6379:1 server1 + - 127.0.0.1:6380:1 server2 + sentinels: + - 127.0.0.1:26379:1 + - 127.0.0.1:26380:1 + - 127.0.0.1:26381:1 + ++ notice: + + You should configure all the sentinels you used. Twemproxy will connect to the alive sentinels when some are down + + Weight of sentinel is not used. Twemproxy keeps it because of the server load code reuse +See [sentinel.md](./sentinel.md) for more details. From 92587165743ed83cc70c3e251202e7d87f73a9a6 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Thu, 1 Jul 2021 17:17:03 -0400 Subject: [PATCH 36/69] [skip ci] Add script to extract redis key/arg count ranges This uses commands.json from redis's documentation to determine which category a given redis command falls into. This will be useful to ensure that twemproxy stays up to date with new redis commands. --- scripts/extract_redis_commands_argcounts.php | 359 +++++++++++++++++++ 1 file changed, 359 insertions(+) create mode 100755 scripts/extract_redis_commands_argcounts.php diff --git a/scripts/extract_redis_commands_argcounts.php b/scripts/extract_redis_commands_argcounts.php new file mode 100755 index 00000000..fbeeeeec --- /dev/null +++ b/scripts/extract_redis_commands_argcounts.php @@ -0,0 +1,359 @@ +#!/usr/bin/env php + version_compare($b['since'], $a['since'])); + +const INFINITE_ARGS = 100000; + +function categorize_arg(array $arg, string $commandName): array { + $min = 1; + $max = 1; + if ($arg['multiple']) { + $min = 0; + $max = INFINITE_ARGS; + } + if ($arg['optional']) { + $min = 0; + } + if ($arg['type'] === 'key') { + return ['min_key' => $min, 'max_key' => $max]; + } + return ['min_arg' => $min, 'max_arg' => $max]; +} + +function categorize(array $command, string $commandName): string { + $minKeyCount = 0; + $maxKeyCount = 0; + $minArgCount = 0; + $maxArgCount = 0; + $arguments = $command['arguments'] ?? []; + foreach ($arguments as $arg) { + $data = categorize_arg($arg, $commandName); + $minKeyCount += ($data['min_key'] ?? 0); + $maxKeyCount += ($data['max_key'] ?? 0); + $minArgCount += ($data['min_arg'] ?? 0); + $maxArgCount += ($data['max_arg'] ?? 0); + } + if (in_array($commandName, ['DEL', 'MGET', 'MSET', 'TOUCH', 'UNLINK'])) { + return "keyn"; + } + if ($maxKeyCount > $minKeyCount || $maxArgCount > $minArgCount) { + // return "key${minKeyCount}_argx"; + return "key1_argx"; + } + // Assume that + // min=max for arg and key + if ($minArgCount > 0 && $minKeyCount >= 2) { + return "key1_arg" . ($minArgCount + $maxKeyCount - 1); + } + return "key${minKeyCount}_arg" . $minArgCount; +} + +const KEY1 = [ + 'PERSIST', + 'PTTL', + 'TTL', + 'TYPE', + 'DUMP', + + 'DECR', + 'GET', + 'GETDEL', + 'INCR', + 'STRLEN', + + 'HGETALL', + 'HKEYS', + 'HLEN', + 'HVALS', + + 'LLEN', + + 'SCARD', + 'SMEMBERS', + + 'ZCARD', + // 'AUTH', +]; + +const KEY1_ARG1 = [ + 'EXPIRE', + 'EXPIREAT', + 'PEXPIRE', + 'PEXPIREAT', + 'MOVE', + + 'APPEND', + 'DECRBY', + 'GETBIT', + 'GETSET', + 'INCRBY', + 'INCRBYFLOAT', + 'SETNX', + + 'HEXISTS', + 'HGET', + 'HSTRLEN', + + 'LINDEX', + 'RPOPLPUSH', + + 'SISMEMBER', + + 'ZRANK', + 'ZREVRANK', + 'ZSCORE', +]; + +const KEY1_ARG2 = [ + 'GETRANGE', + 'PSETEX', + 'SETBIT', + 'SETEX', + 'SETRANGE', + + 'HINCRBY', + 'HINCRBYFLOAT', + 'HSETNX', + + 'LRANGE', + 'LREM', + 'LSET', + 'LTRIM', + + 'SMOVE', + + 'ZCOUNT', + 'ZLEXCOUNT', + 'ZINCRBY', + 'ZREMRANGEBYLEX', + 'ZREMRANGEBYRANK', + 'ZREMRANGEBYSCORE', +]; + +const KEY1_ARG3 = [ + 'LINSERT', + 'LMOVE', +]; + +const KEY1_ARGN = [ + 'SORT', + + 'BITCOUNT', + 'BITPOS', + 'BITFIELD', + 'BITOP', + + 'EXISTS', + 'GETEX', + 'SET', + + 'HDEL', + 'HMGET', + 'HMSET', + 'HSCAN', + 'HSET', + 'HRANDFIELD', + + 'LPUSH', + 'LPUSHX', + 'RPUSH', + 'RPUSHX', + 'LPOP', + 'RPOP', + 'LPOS', + + 'SADD', + 'SDIFF', + 'SDIFFSTORE', + 'SINTER', + 'SINTERSTORE', + 'SREM', + 'SUNION', + 'SUNIONSTORE', + 'SRANDMEMBER', + 'SSCAN', + 'SPOP', + 'SMISMEMBER', + + 'PFADD', + 'PFMERGE', + 'PFCOUNT', + + 'ZADD', + 'ZDIFF', + 'ZDIFFSTORE', + 'ZINTER', + 'ZINTERSTORE', + 'ZMSCORE', + 'ZPOPMAX', + 'ZPOPMIN', + 'ZRANDMEMBER', + 'ZRANGE', + 'ZRANGEBYLEX', + 'ZRANGEBYSCORE', + 'ZRANGESTORE', + 'ZREM', + 'ZREVRANGE', + 'ZREVRANGEBYLEX', + 'ZREVRANGEBYSCORE', + 'ZSCAN', + 'ZUNION', + 'ZUNIONSTORE', + + 'GEODIST', + 'GEOPOS', + 'GEOHASH', + 'GEOADD', + 'GEOSEARCH', + + 'RESTORE', +]; + +const EXPECTED_MAPS = [ + 'key1_arg0' => KEY1, + 'key1_arg1' => KEY1_ARG1, + 'key1_arg2' => KEY1_ARG2, + 'key1_arg3' => KEY1_ARG3, + 'key1_argx' => KEY1_ARGN, +]; + +function compute_types(): array { + global $commands; + $types = []; + foreach ($commands as $name => $cmd) { + // printf("%s: %s\n", $name, json_encode($cmd, JSON_PRETTY_PRINT)); + try { + $type = categorize($cmd, $name); + } catch (Exception $e) { + $type = "unknown: {$e->getMessage()} " . json_encode($cmd); + } + $types[$name] = $type; + } + return $types; +} + +function dump_mismatched_argument_types(array $types, array $commands): void { + foreach (EXPECTED_MAPS as $expected => $maps) { + foreach ($maps as $key) { + $actual = $types[$key]; + if ($actual !== $expected) { + echo "Unexpected type for $key: got $actual, want $expected: " . json_encode($commands[$key]['arguments']) . "\n"; + } + } + foreach ($types as $other_name => $type) { + if ($type === $expected && !in_array($other_name, $maps)) { + $command = $commands[$other_name]; + echo "Expected $other_name in $expected: " . json_encode($command['arguments']) . "\n"; + echo "> " . $command['group'] . ": " . $command['summary'] . "\n\n"; + } + } + } +} + +function render_arg(array $argument): string { + if ($argument['optional'] ?? false) { + unset($argument['optional']); + return '[' . render_arg($argument) . ']'; + } + if ($argument['enum'] ?? null) { + return implode('|', $argument['enum']); + } + if ($argument['command'] ?? null) { + return $argument['command']; + } + $name = $argument['name']; + + $repr = is_array($name) ? implode(' ', $name) : $name; + if ($argument['multiple'] ?? false) { + return "$repr [$repr …]"; + } + return $repr; +} + +function render_command(string $name, array $command): string { + $repr = $name; + foreach ($command['arguments'] ?? [] as $argument) { + $repr .= ' ' . render_arg($argument); + } + return $repr; +} + +function center_pad(string $name, int $len) { + if (mb_strlen($name) >= $len) { + return $name; + } + $name = str_repeat(' ', ($len - mb_strlen($name)) >> 1) . $name; + $name .= str_repeat(' ', $len - mb_strlen($name)); + return $name; +} + +function right_pad(string $name, int $len) { + if (mb_strlen($name) >= $len) { + return $name; + } + $name .= str_repeat(' ', $len - mb_strlen($name)); + return $name; +} + +function dump_table(array $commands) { + $header = << $command) { + $key = center_pad($name, 19); + $commandRepr = render_command($name, $command); + $supports = 'Yes'; + printf(" |%s|%s|%s|\n", center_pad($name, $nameLen), center_pad($supports, $supportsLen), right_pad(' ' . $commandRepr, $commandLen)); + echo $rowLine . "\n"; + + } + echo "\n"; +} + +function dump_table_groups(array $commands): void { + $groups = []; + foreach ($commands as $name => $command) { + $groups[$command['group']][$name] = $command; + } + foreach ($groups as $groupName => $group) { + printf("### %s Command\n\n", $groupName); + + dump_table($group); + } +} + +$types = compute_types(); +foreach ($types as $name => $type) { + printf("%s: %s\n", $name, $type); +} + +dump_mismatched_argument_types($types, $commands); +dump_table_groups($commands); From 34dcc49fbb9519e68233a809b9f842e4e65cafe8 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Thu, 1 Jul 2021 21:01:16 -0400 Subject: [PATCH 37/69] Fix a crash seen when logging redis `COMMAND` in recent patches The recent patches add support for a placeholder key, which is actually a constant string in memory. The logging helper method should not be mutating the data it's logging. Specify the length of the string to log instead of introducing a null byte. --- src/nc_request.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/nc_request.c b/src/nc_request.c index ca54572f..46ab7bad 100644 --- a/src/nc_request.c +++ b/src/nc_request.c @@ -33,14 +33,14 @@ req_get(struct conn *conn) } static void -req_log(struct msg *req) +req_log(const struct msg *req) { struct msg *rsp; /* peer message (response) */ int64_t req_time; /* time cost for this request */ - char *peer_str; /* peer client ip:port */ + const char *peer_str; /* peer client ip:port */ uint32_t req_len, rsp_len; /* request and response length */ - struct string *req_type; /* request type string */ - struct keypos *kpos; + const struct string *req_type; /* request type string */ + const struct keypos *kpos; if (log_loggable(LOG_NOTICE) == 0) { return; @@ -75,9 +75,6 @@ req_log(struct msg *req) } kpos = array_get(req->keys, 0); - if (kpos->end != NULL) { - *(kpos->end) = '\0'; - } /* * FIXME: add backend addr here @@ -90,10 +87,11 @@ req_log(struct msg *req) log_debug(LOG_NOTICE, "req %"PRIu64" done on c %d req_time %"PRIi64".%03"PRIi64 " msec type %.*s narg %"PRIu32" req_len %"PRIu32" rsp_len %"PRIu32 - " key0 '%s' peer '%s' done %d error %d", + " key0 '%.*s' peer '%s' done %d error %d", req->id, req->owner->sd, req_time / 1000, req_time % 1000, req_type->len, req_type->data, req->narg, req_len, rsp_len, - kpos->start, peer_str, req->done, req->error); + (int)(kpos->end ? kpos->end - kpos->start : 0), kpos->start, + peer_str, req->done, req->error); } void From 2e28feb6ca9ee092bdc340197363c9c02aa1c034 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Thu, 1 Jul 2021 22:19:14 -0400 Subject: [PATCH 38/69] [skip ci] Remove reference to outdated python-memcached version https://github.com/linsomniac/python-memcached/ 1.5.8 had the delete_multi signature fixed in 2016. Anyone who had installed an outdated version should have seen this recommendation already or worked around it differently. There are a large number of other languages that have their own memcache clients with different bugs, don't continue linking to the workaround for an outdated python-memcached client version Closes #475 --- notes/recommendation.md | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/notes/recommendation.md b/notes/recommendation.md index 13289297..45782f9c 100644 --- a/notes/recommendation.md +++ b/notes/recommendation.md @@ -151,12 +151,6 @@ You can also graph the timestamp at which any given server was ejected by graphi ## server_connections: > 1 -By design, twemproxy multiplexes several client connections over few server connections. It is important to note that **"read my last write"** constraint doesn't necessarily hold true when twemproxy is configured with `server_connections: > 1`. +By design, twemproxy multiplexes several client connections over few server connections. It is important to note that **"read my last write"** constraint doesn't necessarily hold true when twemproxy is configured with `server_connections: > 1`. To illustrate this, consider a scenario where twemproxy is configured with `server_connections: 2`. If a client makes pipelined requests with the first request in pipeline being `set foo 0 0 3\r\nbar\r\n` (write) and the second request being `get foo\r\n` (read), the expectation is that the read of key `foo` would return the value `bar`. However, with configuration of two server connections it is possible that write and read request are sent on different server connections which would mean that their completion could race with one another. In summary, if the client expects "read my last write" constraint, you either configure twemproxy to use `server_connections:1` or use clients that only make synchronous requests to twemproxy. - -## twemproxy and python-memcached - -The implementation of delete command in [python-memcached](https://github.com/linsomniac/python-memcached) conflicts with the one in twemproxy. See [issue 283](https://github.com/twitter/twemproxy/pull/283) for details. The workaround for this issue is to call `delete_multi` in python-memcached as follows: - - mc.delete_multi([key1, key2, ... keyN], time=None) From 9022647b74f28810f1798919cff08b0236c2c9ab Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Fri, 2 Jul 2021 10:10:16 -0400 Subject: [PATCH 39/69] Update tests --- src/test_all.c | 43 +++++++++++++++++++++++++++++-------------- 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/src/test_all.c b/src/test_all.c index 070498a3..88de2aa6 100644 --- a/src/test_all.c +++ b/src/test_all.c @@ -7,9 +7,20 @@ static int failures = 0; static int successes = 0; +static void expect_same_int(int expected, int actual, const char* message) { + if (expected != actual) { + printf("FAIL Expected %d, got %d (%s)\n", expected, actual, message); + failures++; + } else { + /* printf("PASS (%s)\n", message); */ + successes++; + } +} + static void expect_same_uint32_t(uint32_t expected, uint32_t actual, const char* message) { if (expected != actual) { - printf("FAIL Expected %u, got %u (%s)\n", (unsigned int) expected, (unsigned int) actual, message); + printf("FAIL Expected %u, got %u (%s)\n", (unsigned int) expected, + (unsigned int) actual, message); failures++; } else { /* printf("PASS (%s)\n", message); */ @@ -69,9 +80,9 @@ static void test_redis_parse_req_success_case(char* data, int expected_type) { redis_parse_req(req); expect_same_ptr(m->last, req->pos, "redis_parse_req: expected req->pos to be m->last"); - expect_same_uint32_t(SW_START, req->state, "redis_parse_req: expected full buffer to be parsed"); - expect_same_uint32_t(expected_type, req->type, "redis_parse_req: expected request type to be parsed"); - expect_same_uint32_t(0, fake_client.err, "redis_parse_req: expected no connection error"); + expect_same_int(SW_START, req->state, "redis_parse_req: expected full buffer to be parsed"); + expect_same_int(expected_type, req->type, "redis_parse_req: expected request type to be parsed"); + expect_same_int(0, fake_client.err, "redis_parse_req: expected no connection error"); msg_put(req); /* mbuf_put(m); */ @@ -85,6 +96,10 @@ static void test_redis_parse_req_success(void) { test_redis_parse_req_success_case("*3\r\n$4\r\nMGET\r\n$1\r\nx\r\n$10\r\nabcdefghij\r\n", MSG_REQ_REDIS_MGET); test_redis_parse_req_success_case("*3\r\n$3\r\nSET\r\n$10\r\nkey4567890\r\n$5\r\nVALUE\r\n", MSG_REQ_REDIS_SET); + + test_redis_parse_req_success_case("*1\r\n$7\r\nCOMMAND\r\n", MSG_REQ_REDIS_COMMAND); + test_redis_parse_req_success_case("*1\r\n$6\r\nLOLWUT\r\n", MSG_REQ_REDIS_LOLWUT); + test_redis_parse_req_success_case("*2\r\n$6\r\nLOLWUT\r\n$2\r\n40\r\n", MSG_REQ_REDIS_LOLWUT); test_redis_parse_req_success_case("*2\r\n$4\r\nLLEN\r\n$6\r\nmylist\r\n", MSG_REQ_REDIS_LLEN); /* LLEN command */ test_redis_parse_req_success_case("*1\r\n$4\r\nPING\r\n", MSG_REQ_REDIS_PING); } @@ -98,7 +113,7 @@ static void test_redis_parse_rsp_success_case(char* data) { struct msg *rsp = msg_get(&fake_client, 0, 1); rsp->state = SW_START; rsp->token = NULL; - const size_t datalen = (int)strlen(data); + const size_t datalen = strlen(data); /* Copy data into the message */ mbuf_copy(m, (uint8_t*)data, datalen); @@ -110,7 +125,7 @@ static void test_redis_parse_rsp_success_case(char* data) { redis_parse_rsp(rsp); expect_same_ptr(m->last, rsp->pos, "redis_parse_rsp: expected rsp->pos to be m->last"); - expect_same_uint32_t(SW_START, rsp->state, "redis_parse_rsp: expected full buffer to be parsed"); + expect_same_int(SW_START, rsp->state, "redis_parse_rsp: expected full buffer to be parsed"); expect_same_uint32_t(1, rsp->rnarg ? rsp->rnarg : 1, "expected remaining args to be 0 or 1"); msg_put(rsp); @@ -155,7 +170,7 @@ static void test_memcache_parse_rsp_success_case(char* data, int expected) { struct msg *rsp = msg_get(&fake_client, 0, 0); rsp->state = SW_START; rsp->token = NULL; - const size_t datalen = (int)strlen(data); + const size_t datalen = strlen(data); /* Copy data into the message */ mbuf_copy(m, (uint8_t*)data, datalen); @@ -167,9 +182,9 @@ static void test_memcache_parse_rsp_success_case(char* data, int expected) { memcache_parse_rsp(rsp); expect_same_ptr(m->last, rsp->pos, "memcache_parse_rsp: expected rsp->pos to be m->last"); - expect_same_uint32_t(SW_START, rsp->state, "memcache_parse_rsp: expected state to be SW_START after parsing full buffer"); - expect_same_uint32_t(expected, rsp->type, "memcache_parse_rsp: expected response type to be parsed"); - expect_same_uint32_t(0, fake_client.err, "redis_parse_req: expected no connection error"); + expect_same_int(SW_START, rsp->state, "memcache_parse_rsp: expected state to be SW_START after parsing full buffer"); + expect_same_int(expected, rsp->type, "memcache_parse_rsp: expected response type to be parsed"); + expect_same_int(0, fake_client.err, "redis_parse_req: expected no connection error"); msg_put(rsp); /* mbuf_put(m); */ @@ -195,7 +210,7 @@ static void test_memcache_parse_req_success_case(char* data, int expected) { struct msg *req = msg_get(&fake_client, 1, 0); req->state = SW_START; req->token = NULL; - const size_t datalen = (int)strlen(data); + const size_t datalen = strlen(data); /* Copy data into the message */ mbuf_copy(m, (uint8_t*)data, datalen); @@ -207,9 +222,9 @@ static void test_memcache_parse_req_success_case(char* data, int expected) { memcache_parse_req(req); expect_same_ptr(m->last, req->pos, "memcache_parse_req: expected req->pos to be m->last"); - expect_same_uint32_t(SW_START, req->state, "memcache_parse_req: expected state to be SW_START after parsing full buffer"); - expect_same_uint32_t(expected, req->type, "memcache_parse_req: expected response type to be parsed"); - expect_same_uint32_t(0, fake_client.err, "redis_parse_req: expected no connection error"); + expect_same_int(SW_START, req->state, "memcache_parse_req: expected state to be SW_START after parsing full buffer"); + expect_same_int(expected, req->type, "memcache_parse_req: expected response type to be parsed"); + expect_same_int(0, fake_client.err, "redis_parse_req: expected no connection error"); msg_put(req); /* mbuf_put(m); */ From d627f53d0e1f1b48779df4457c5cb191b017eaac Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Fri, 2 Jul 2021 18:08:23 -0400 Subject: [PATCH 40/69] Make pointers const qualified where possible --- src/hashkit/nc_hashkit.h | 6 +++--- src/hashkit/nc_ketama.c | 4 ++-- src/hashkit/nc_modula.c | 4 ++-- src/hashkit/nc_random.c | 4 ++-- src/nc_array.c | 10 +++++----- src/nc_array.h | 8 ++++---- src/nc_client.c | 2 +- src/nc_client.h | 2 +- src/nc_conf.c | 4 ++-- src/nc_conf.h | 4 ++-- src/nc_connection.c | 9 ++++----- src/nc_connection.h | 8 ++++---- src/nc_server.c | 2 +- src/nc_server.h | 2 +- 14 files changed, 34 insertions(+), 35 deletions(-) diff --git a/src/hashkit/nc_hashkit.h b/src/hashkit/nc_hashkit.h index 48a59bfa..5956edf4 100644 --- a/src/hashkit/nc_hashkit.h +++ b/src/hashkit/nc_hashkit.h @@ -69,11 +69,11 @@ uint32_t hash_jenkins(const char *key, size_t length); uint32_t hash_murmur(const char *key, size_t length); rstatus_t ketama_update(struct server_pool *pool); -uint32_t ketama_dispatch(struct continuum *continuum, uint32_t ncontinuum, uint32_t hash); +uint32_t ketama_dispatch(const struct continuum *continuum, uint32_t ncontinuum, uint32_t hash); rstatus_t modula_update(struct server_pool *pool); -uint32_t modula_dispatch(struct continuum *continuum, uint32_t ncontinuum, uint32_t hash); +uint32_t modula_dispatch(const struct continuum *continuum, uint32_t ncontinuum, uint32_t hash); rstatus_t random_update(struct server_pool *pool); -uint32_t random_dispatch(struct continuum *continuum, uint32_t ncontinuum, uint32_t hash); +uint32_t random_dispatch(const struct continuum *continuum, uint32_t ncontinuum, uint32_t hash); uint32_t ketama_hash(const char *key, size_t key_length, uint32_t alignment); #endif diff --git a/src/hashkit/nc_ketama.c b/src/hashkit/nc_ketama.c index 08913dea..87e05faf 100644 --- a/src/hashkit/nc_ketama.c +++ b/src/hashkit/nc_ketama.c @@ -219,9 +219,9 @@ ketama_update(struct server_pool *pool) } uint32_t -ketama_dispatch(struct continuum *continuum, uint32_t ncontinuum, uint32_t hash) +ketama_dispatch(const struct continuum *continuum, uint32_t ncontinuum, uint32_t hash) { - struct continuum *begin, *end, *left, *right, *middle; + const struct continuum *begin, *end, *left, *right, *middle; ASSERT(continuum != NULL); ASSERT(ncontinuum != 0); diff --git a/src/hashkit/nc_modula.c b/src/hashkit/nc_modula.c index 083f89a9..9b973cf5 100644 --- a/src/hashkit/nc_modula.c +++ b/src/hashkit/nc_modula.c @@ -143,9 +143,9 @@ modula_update(struct server_pool *pool) } uint32_t -modula_dispatch(struct continuum *continuum, uint32_t ncontinuum, uint32_t hash) +modula_dispatch(const struct continuum *continuum, uint32_t ncontinuum, uint32_t hash) { - struct continuum *c; + const struct continuum *c; ASSERT(continuum != NULL); ASSERT(ncontinuum != 0); diff --git a/src/hashkit/nc_random.c b/src/hashkit/nc_random.c index 8c6261c7..375fd020 100644 --- a/src/hashkit/nc_random.c +++ b/src/hashkit/nc_random.c @@ -133,9 +133,9 @@ random_update(struct server_pool *pool) } uint32_t -random_dispatch(struct continuum *continuum, uint32_t ncontinuum, uint32_t hash) +random_dispatch(const struct continuum *continuum, uint32_t ncontinuum, uint32_t hash) { - struct continuum *c; + const struct continuum *c; ASSERT(continuum != NULL); ASSERT(ncontinuum != 0); diff --git a/src/nc_array.c b/src/nc_array.c index 8a389827..efc8c08c 100644 --- a/src/nc_array.c +++ b/src/nc_array.c @@ -79,9 +79,9 @@ array_deinit(struct array *a) } uint32_t -array_idx(struct array *a, void *elem) +array_idx(const struct array *a, const void *elem) { - uint8_t *p, *q; + const uint8_t *p, *q; uint32_t off, idx; ASSERT(elem >= a->elem); @@ -136,7 +136,7 @@ array_pop(struct array *a) } void * -array_get(struct array *a, uint32_t idx) +array_get(const struct array *a, uint32_t idx) { void *elem; @@ -149,7 +149,7 @@ array_get(struct array *a, uint32_t idx) } void * -array_top(struct array *a) +array_top(const struct array *a) { ASSERT(a->nelem != 0); @@ -183,7 +183,7 @@ array_sort(struct array *a, array_compare_t compare) * success. On failure short-circuits and returns the error status. */ rstatus_t -array_each(struct array *a, array_each_t func, void *data) +array_each(const struct array *a, array_each_t func, void *data) { uint32_t i, nelem; diff --git a/src/nc_array.h b/src/nc_array.h index 6e79453c..61669457 100644 --- a/src/nc_array.h +++ b/src/nc_array.h @@ -61,13 +61,13 @@ void array_destroy(struct array *a); rstatus_t array_init(struct array *a, uint32_t n, size_t size); void array_deinit(struct array *a); -uint32_t array_idx(struct array *a, void *elem); +uint32_t array_idx(const struct array *a, const void *elem); void *array_push(struct array *a); void *array_pop(struct array *a); -void *array_get(struct array *a, uint32_t idx); -void *array_top(struct array *a); +void *array_get(const struct array *a, uint32_t idx); +void *array_top(const struct array *a); void array_swap(struct array *a, struct array *b); void array_sort(struct array *a, array_compare_t compare); -rstatus_t array_each(struct array *a, array_each_t func, void *data); +rstatus_t array_each(const struct array *a, array_each_t func, void *data); #endif diff --git a/src/nc_client.c b/src/nc_client.c index ba3cbf39..a3cecaac 100644 --- a/src/nc_client.c +++ b/src/nc_client.c @@ -66,7 +66,7 @@ client_unref(struct conn *conn) } bool -client_active(struct conn *conn) +client_active(const struct conn *conn) { ASSERT(conn->client && !conn->proxy); diff --git a/src/nc_client.h b/src/nc_client.h index 2becb0cb..347ca280 100644 --- a/src/nc_client.h +++ b/src/nc_client.h @@ -20,7 +20,7 @@ #include -bool client_active(struct conn *conn); +bool client_active(const struct conn *conn); void client_ref(struct conn *conn, void *owner); void client_unref(struct conn *conn); void client_close(struct context *ctx, struct conn *conn); diff --git a/src/nc_conf.c b/src/nc_conf.c index 401072c5..c62b9ba0 100644 --- a/src/nc_conf.c +++ b/src/nc_conf.c @@ -750,7 +750,7 @@ conf_parse(struct conf *cf) } static struct conf * -conf_open(char *filename) +conf_open(const char *filename) { rstatus_t status; struct conf *cf; @@ -1354,7 +1354,7 @@ conf_post_validate(struct conf *cf) } struct conf * -conf_create(char *filename) +conf_create(const char *filename) { rstatus_t status; struct conf *cf; diff --git a/src/nc_conf.h b/src/nc_conf.h index 296afc46..3e6e4ad6 100644 --- a/src/nc_conf.h +++ b/src/nc_conf.h @@ -98,7 +98,7 @@ struct conf_pool { }; struct conf { - char *fname; /* file name (ref in argv[]) */ + const char *fname; /* file name (ref in argv[]) */ FILE *fh; /* file handle */ struct array arg; /* string[] (parsed {key, value} pairs) */ struct array pool; /* conf_pool[] (parsed pools) */ @@ -135,7 +135,7 @@ char *conf_set_hashtag(struct conf *cf, struct command *cmd, void *conf); rstatus_t conf_server_each_transform(void *elem, void *data); rstatus_t conf_pool_each_transform(void *elem, void *data); -struct conf *conf_create(char *filename); +struct conf *conf_create(const char *filename); void conf_destroy(struct conf *cf); #endif diff --git a/src/nc_connection.c b/src/nc_connection.c index 5f8dd8a7..1d66f696 100644 --- a/src/nc_connection.c +++ b/src/nc_connection.c @@ -245,9 +245,8 @@ conn_get(void *owner, bool client, bool redis) } struct conn * -conn_get_proxy(void *owner) +conn_get_proxy(struct server_pool *pool) { - struct server_pool *pool = owner; struct conn *conn; conn = _conn_get(); @@ -278,7 +277,7 @@ conn_get_proxy(void *owner) conn->enqueue_outq = NULL; conn->dequeue_outq = NULL; - conn->ref(conn, owner); + conn->ref(conn, pool); log_debug(LOG_VVERB, "get conn %p proxy %d", conn, conn->proxy); @@ -382,7 +381,7 @@ conn_recv(struct conn *conn, void *buf, size_t size) } ssize_t -conn_sendv(struct conn *conn, struct array *sendv, size_t nsend) +conn_sendv(struct conn *conn, const struct array *sendv, size_t nsend) { ssize_t n; @@ -453,7 +452,7 @@ conn_ncurr_cconn(void) * authentication, otherwise return false */ bool -conn_authenticated(struct conn *conn) +conn_authenticated(const struct conn *conn) { struct server_pool *pool; diff --git a/src/nc_connection.h b/src/nc_connection.h index 7ece25ef..aede7f8b 100644 --- a/src/nc_connection.h +++ b/src/nc_connection.h @@ -29,7 +29,7 @@ typedef struct msg* (*conn_send_next_t)(struct context *, struct conn *); typedef void (*conn_send_done_t)(struct context *, struct conn *, struct msg *); typedef void (*conn_close_t)(struct context *, struct conn *); -typedef bool (*conn_active_t)(struct conn *); +typedef bool (*conn_active_t)(const struct conn *); typedef void (*conn_ref_t)(struct conn *, void *); typedef void (*conn_unref_t)(struct conn *); @@ -95,15 +95,15 @@ TAILQ_HEAD(conn_tqh, conn); struct context *conn_to_ctx(struct conn *conn); struct conn *conn_get(void *owner, bool client, bool redis); -struct conn *conn_get_proxy(void *owner); +struct conn *conn_get_proxy(struct server_pool *pool); void conn_put(struct conn *conn); ssize_t conn_recv(struct conn *conn, void *buf, size_t size); -ssize_t conn_sendv(struct conn *conn, struct array *sendv, size_t nsend); +ssize_t conn_sendv(struct conn *conn, const struct array *sendv, size_t nsend); void conn_init(void); void conn_deinit(void); uint32_t conn_ncurr_conn(void); uint64_t conn_ntotal_conn(void); uint32_t conn_ncurr_cconn(void); -bool conn_authenticated(struct conn *conn); +bool conn_authenticated(const struct conn *conn); #endif diff --git a/src/nc_server.c b/src/nc_server.c index 3afe7875..3c817486 100644 --- a/src/nc_server.c +++ b/src/nc_server.c @@ -92,7 +92,7 @@ server_timeout(struct conn *conn) } bool -server_active(struct conn *conn) +server_active(const struct conn *conn) { ASSERT(!conn->client && !conn->proxy); diff --git a/src/nc_server.h b/src/nc_server.h index 11cdaa77..cabbb573 100644 --- a/src/nc_server.h +++ b/src/nc_server.h @@ -126,7 +126,7 @@ struct server_pool { void server_ref(struct conn *conn, void *owner); void server_unref(struct conn *conn); int server_timeout(struct conn *conn); -bool server_active(struct conn *conn); +bool server_active(const struct conn *conn); rstatus_t server_init(struct array *server, struct array *conf_server, struct server_pool *sp); void server_deinit(struct array *server); struct conn *server_conn(struct server *server); From 35ee7a39b805738c4579bca2a5f0dde08b6cadba Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Fri, 2 Jul 2021 19:36:25 -0400 Subject: [PATCH 41/69] Add more const flags --- src/nc_connection.c | 2 +- src/nc_connection.h | 2 +- src/nc_core.c | 3 ++- src/nc_core.h | 8 ++++---- src/nc_log.c | 6 +++--- src/nc_log.h | 25 ++++++++----------------- src/nc_mbuf.c | 8 ++++---- src/nc_mbuf.h | 16 ++++++++-------- src/nc_message.c | 6 +++--- src/nc_message.h | 12 ++++++------ src/nc_rbtree.c | 6 +++--- src/nc_rbtree.h | 2 +- src/nc_server.c | 8 ++++---- src/nc_server.h | 2 +- src/nc_stats.c | 4 ++-- src/nc_stats.h | 2 +- src/nc_util.c | 14 +++++++------- src/nc_util.h | 24 ++++++++++++++++++------ src/proto/nc_memcache.c | 4 ++-- src/proto/nc_proto.h | 4 ++-- src/proto/nc_redis.c | 4 ++-- 21 files changed, 83 insertions(+), 79 deletions(-) diff --git a/src/nc_connection.c b/src/nc_connection.c index 1d66f696..d37ac8bb 100644 --- a/src/nc_connection.c +++ b/src/nc_connection.c @@ -91,7 +91,7 @@ static uint32_t ncurr_cconn; /* current # client connections */ * Return the context associated with this connection. */ struct context * -conn_to_ctx(struct conn *conn) +conn_to_ctx(const struct conn *conn) { struct server_pool *pool; diff --git a/src/nc_connection.h b/src/nc_connection.h index aede7f8b..2fe83d42 100644 --- a/src/nc_connection.h +++ b/src/nc_connection.h @@ -93,7 +93,7 @@ struct conn { TAILQ_HEAD(conn_tqh, conn); -struct context *conn_to_ctx(struct conn *conn); +struct context *conn_to_ctx(const struct conn *conn); struct conn *conn_get(void *owner, bool client, bool redis); struct conn *conn_get_proxy(struct server_pool *pool); void conn_put(struct conn *conn); diff --git a/src/nc_core.c b/src/nc_core.c index c39a8057..430bba7c 100644 --- a/src/nc_core.c +++ b/src/nc_core.c @@ -220,7 +220,8 @@ static void core_close(struct context *ctx, struct conn *conn) { rstatus_t status; - char type, *addrstr; + char type; + const char *addrstr; ASSERT(conn->sd > 0); diff --git a/src/nc_core.h b/src/nc_core.h index 3166ec9b..3ac6dce6 100644 --- a/src/nc_core.h +++ b/src/nc_core.h @@ -137,15 +137,15 @@ struct context { struct instance { struct context *ctx; /* active context */ int log_level; /* log level */ - char *log_filename; /* log filename */ - char *conf_filename; /* configuration filename */ + const char *log_filename; /* log filename */ + const char *conf_filename; /* configuration filename */ uint16_t stats_port; /* stats monitoring port */ int stats_interval; /* stats aggregation interval */ - char *stats_addr; /* stats monitoring addr */ + const char *stats_addr; /* stats monitoring addr */ char hostname[NC_MAXHOSTNAMELEN]; /* hostname */ size_t mbuf_chunk_size; /* mbuf chunk size */ pid_t pid; /* process id */ - char *pid_filename; /* pid filename */ + const char *pid_filename; /* pid filename */ unsigned pidfile:1; /* pid file created? */ }; diff --git a/src/nc_log.c b/src/nc_log.c index 3d451ffc..7beca678 100644 --- a/src/nc_log.c +++ b/src/nc_log.c @@ -27,7 +27,7 @@ static struct logger logger; int -log_init(int level, char *name) +log_init(int level, const char *name) { struct logger *l = &logger; @@ -202,7 +202,7 @@ _log_stderr(const char *fmt, ...) * See -C option in man hexdump */ void -_log_hexdump(const char *file, int line, char *data, int datalen, +_log_hexdump(const char *file, int line, const char *data, int datalen, const char *fmt, ...) { struct logger *l = &logger; @@ -221,7 +221,7 @@ _log_hexdump(const char *file, int line, char *data, int datalen, size = 8 * LOG_MAX_LEN; /* size of output buffer */ while (datalen != 0 && (len < size - 1)) { - char *save, *str; + const char *save, *str; unsigned char c; int savelen; diff --git a/src/nc_log.h b/src/nc_log.h index 80f82196..df55d307 100644 --- a/src/nc_log.h +++ b/src/nc_log.h @@ -18,11 +18,13 @@ #ifndef _NC_LOG_H_ #define _NC_LOG_H_ +#include + struct logger { - char *name; /* log file name */ - int level; /* log level */ - int fd; /* log file descriptor */ - int nerror; /* # log error */ + const char *name; /* log file name */ + int level; /* log level */ + int fd; /* log file descriptor */ + int nerror; /* # log error */ }; #define LOG_EMERG 0 /* system in unusable */ @@ -115,18 +117,7 @@ struct logger { } while (0) -#ifdef __GNUC__ -# define NC_GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__) -#else -# define NC_GCC_VERSION 0 -#endif -#if NC_GCC_VERSION >= 2007 -#define NC_ATTRIBUTE_FORMAT(type, idx, first) __attribute__ ((format(type, idx, first))) -#else -#define NC_ATTRIBUTE_FORMAT(type, idx, first) -#endif - -int log_init(int level, char *filename); +int log_init(int level, const char *filename); void log_deinit(void); void log_level_up(void); void log_level_down(void); @@ -138,6 +129,6 @@ void _log(const char *file, int line, int panic, const char *fmt, ...) NC_ATTRIB void _log_stderr(const char *fmt, ...) NC_ATTRIBUTE_FORMAT(printf, 1, 2); void _log_safe(const char *fmt, ...) NC_ATTRIBUTE_FORMAT(printf, 1, 2); void _log_stderr_safe(const char *fmt, ...) NC_ATTRIBUTE_FORMAT(printf, 1, 2); -void _log_hexdump(const char *file, int line, char *data, int datalen, const char *fmt, ...); +void _log_hexdump(const char *file, int line, const char *data, int datalen, const char *fmt, ...); #endif diff --git a/src/nc_mbuf.c b/src/nc_mbuf.c index c6e6505a..50fd742f 100644 --- a/src/nc_mbuf.c +++ b/src/nc_mbuf.c @@ -143,7 +143,7 @@ mbuf_rewind(struct mbuf *mbuf) * 2^32 bytes (4G). */ uint32_t -mbuf_length(struct mbuf *mbuf) +mbuf_length(const struct mbuf *mbuf) { ASSERT(mbuf->last >= mbuf->pos); @@ -155,7 +155,7 @@ mbuf_length(struct mbuf *mbuf) * contain more than 2^32 bytes (4G). */ uint32_t -mbuf_size(struct mbuf *mbuf) +mbuf_size(const struct mbuf *mbuf) { ASSERT(mbuf->end >= mbuf->last); @@ -203,7 +203,7 @@ mbuf_remove(struct mhdr *mhdr, struct mbuf *mbuf) * enough space for n bytes. */ void -mbuf_copy(struct mbuf *mbuf, uint8_t *pos, size_t n) +mbuf_copy(struct mbuf *mbuf, const uint8_t *pos, size_t n) { if (n == 0) { return; @@ -262,7 +262,7 @@ mbuf_split(struct mhdr *h, uint8_t *pos, mbuf_copy_t cb, void *cbarg) } void -mbuf_init(struct instance *nci) +mbuf_init(const struct instance *nci) { nfree_mbufq = 0; STAILQ_INIT(&free_mbufq); diff --git a/src/nc_mbuf.h b/src/nc_mbuf.h index 21d67704..c4b5dfd9 100644 --- a/src/nc_mbuf.h +++ b/src/nc_mbuf.h @@ -40,28 +40,28 @@ STAILQ_HEAD(mhdr, mbuf); #define MBUF_HSIZE sizeof(struct mbuf) static inline bool -mbuf_empty(struct mbuf *mbuf) +mbuf_empty(const struct mbuf *mbuf) { - return mbuf->pos == mbuf->last ? true : false; + return mbuf->pos == mbuf->last; } static inline bool -mbuf_full(struct mbuf *mbuf) +mbuf_full(const struct mbuf *mbuf) { - return mbuf->last == mbuf->end ? true : false; + return mbuf->last == mbuf->end; } -void mbuf_init(struct instance *nci); +void mbuf_init(const struct instance *nci); void mbuf_deinit(void); struct mbuf *mbuf_get(void); void mbuf_put(struct mbuf *mbuf); void mbuf_rewind(struct mbuf *mbuf); -uint32_t mbuf_length(struct mbuf *mbuf); -uint32_t mbuf_size(struct mbuf *mbuf); +uint32_t mbuf_length(const struct mbuf *mbuf); +uint32_t mbuf_size(const struct mbuf *mbuf); size_t mbuf_data_size(void); void mbuf_insert(struct mhdr *mhdr, struct mbuf *mbuf); void mbuf_remove(struct mhdr *mhdr, struct mbuf *mbuf); -void mbuf_copy(struct mbuf *mbuf, uint8_t *pos, size_t n); +void mbuf_copy(struct mbuf *mbuf, const uint8_t *pos, size_t n); struct mbuf *mbuf_split(struct mhdr *h, uint8_t *pos, mbuf_copy_t cb, void *cbarg); #endif diff --git a/src/nc_message.c b/src/nc_message.c index fe850883..426521dc 100644 --- a/src/nc_message.c +++ b/src/nc_message.c @@ -458,7 +458,7 @@ msg_empty(struct msg *msg) } uint32_t -msg_backend_idx(struct msg *msg, uint8_t *key, uint32_t keylen) +msg_backend_idx(struct msg *msg, const uint8_t *key, uint32_t keylen) { struct conn *conn = msg->owner; struct server_pool *pool = conn->owner; @@ -490,7 +490,7 @@ msg_ensure_mbuf(struct msg *msg, size_t len) * into mbuf */ rstatus_t -msg_append(struct msg *msg, uint8_t *pos, size_t n) +msg_append(struct msg *msg, const uint8_t *pos, size_t n) { struct mbuf *mbuf; @@ -514,7 +514,7 @@ msg_append(struct msg *msg, uint8_t *pos, size_t n) * into mbuf */ rstatus_t -msg_prepend(struct msg *msg, uint8_t *pos, size_t n) +msg_prepend(struct msg *msg, const uint8_t *pos, size_t n) { struct mbuf *mbuf; diff --git a/src/nc_message.h b/src/nc_message.h index ffb39004..f1a8be55 100644 --- a/src/nc_message.h +++ b/src/nc_message.h @@ -228,8 +228,8 @@ typedef enum msg_type { #undef DEFINE_ACTION struct keypos { - uint8_t *start; /* key start pos */ - uint8_t *end; /* key end pos */ + uint8_t *start; /* key start pos */ + uint8_t *end; /* key end pos */ }; /* @@ -279,7 +279,7 @@ struct msg { uint32_t rnarg; /* running # arg used by parsing fsa (redis) */ uint32_t rlen; /* running length in parsing fsa (redis) */ uint32_t integer; /* integer reply value (redis) */ - uint8_t is_top_level; /* is this top level (redis) */ + uint8_t is_top_level; /* is this top level (redis) */ struct msg *frag_owner; /* owner of fragment message */ uint32_t nfrag; /* # fragment */ @@ -318,10 +318,10 @@ void msg_read_line(struct msg* msg, struct mbuf *line_buf, int line_num); rstatus_t msg_recv(struct context *ctx, struct conn *conn); rstatus_t msg_send(struct context *ctx, struct conn *conn); uint64_t msg_gen_frag_id(void); -uint32_t msg_backend_idx(struct msg *msg, uint8_t *key, uint32_t keylen); +uint32_t msg_backend_idx(struct msg *msg, const uint8_t *key, uint32_t keylen); struct mbuf *msg_ensure_mbuf(struct msg *msg, size_t len); -rstatus_t msg_append(struct msg *msg, uint8_t *pos, size_t n); -rstatus_t msg_prepend(struct msg *msg, uint8_t *pos, size_t n); +rstatus_t msg_append(struct msg *msg, const uint8_t *pos, size_t n); +rstatus_t msg_prepend(struct msg *msg, const uint8_t *pos, size_t n); rstatus_t msg_prepend_format(struct msg *msg, const char *fmt, ...); struct msg *req_get(struct conn *conn); diff --git a/src/nc_rbtree.c b/src/nc_rbtree.c index 404789fe..d76ad861 100644 --- a/src/nc_rbtree.c +++ b/src/nc_rbtree.c @@ -38,7 +38,7 @@ rbtree_init(struct rbtree *tree, struct rbnode *node) } static struct rbnode * -rbtree_node_min(struct rbnode *node, struct rbnode *sentinel) +rbtree_node_min(struct rbnode *node, const struct rbnode *sentinel) { /* traverse left links */ @@ -50,10 +50,10 @@ rbtree_node_min(struct rbnode *node, struct rbnode *sentinel) } struct rbnode * -rbtree_min(struct rbtree *tree) +rbtree_min(const struct rbtree *tree) { struct rbnode *node = tree->root; - struct rbnode *sentinel = tree->sentinel; + const struct rbnode *sentinel = tree->sentinel; /* empty tree */ diff --git a/src/nc_rbtree.h b/src/nc_rbtree.h index bdf19525..4b6137ac 100644 --- a/src/nc_rbtree.h +++ b/src/nc_rbtree.h @@ -40,7 +40,7 @@ struct rbtree { void rbtree_node_init(struct rbnode *node); void rbtree_init(struct rbtree *tree, struct rbnode *node); -struct rbnode *rbtree_min(struct rbtree *tree); +struct rbnode *rbtree_min(const struct rbtree *tree); void rbtree_insert(struct rbtree *tree, struct rbnode *node); void rbtree_delete(struct rbtree *tree, struct rbnode *node); diff --git a/src/nc_server.c b/src/nc_server.c index 3c817486..fa8a0adc 100644 --- a/src/nc_server.c +++ b/src/nc_server.c @@ -627,7 +627,7 @@ server_pool_update(struct server_pool *pool) } static uint32_t -server_pool_hash(struct server_pool *pool, uint8_t *key, uint32_t keylen) +server_pool_hash(const struct server_pool *pool, const uint8_t *key, uint32_t keylen) { ASSERT(array_n(&pool->server) != 0); ASSERT(key != NULL); @@ -644,7 +644,7 @@ server_pool_hash(struct server_pool *pool, uint8_t *key, uint32_t keylen) } uint32_t -server_pool_idx(struct server_pool *pool, uint8_t *key, uint32_t keylen) +server_pool_idx(const struct server_pool *pool, const uint8_t *key, uint32_t keylen) { uint32_t hash, idx; @@ -657,8 +657,8 @@ server_pool_idx(struct server_pool *pool, uint8_t *key, uint32_t keylen) * we use the full key */ if (!string_empty(&pool->hash_tag)) { - struct string *tag = &pool->hash_tag; - uint8_t *tag_start, *tag_end; + const struct string *tag = &pool->hash_tag; + const uint8_t *tag_start, *tag_end; tag_start = nc_strchr(key, key + keylen, tag->data[0]); if (tag_start != NULL) { diff --git a/src/nc_server.h b/src/nc_server.h index cabbb573..42bf56fd 100644 --- a/src/nc_server.h +++ b/src/nc_server.h @@ -135,7 +135,7 @@ void server_close(struct context *ctx, struct conn *conn); void server_connected(struct context *ctx, struct conn *conn); void server_ok(struct context *ctx, struct conn *conn); -uint32_t server_pool_idx(struct server_pool *pool, uint8_t *key, uint32_t keylen); +uint32_t server_pool_idx(const struct server_pool *pool, const uint8_t *key, uint32_t keylen); struct conn *server_pool_conn(struct context *ctx, struct server_pool *pool, uint8_t *key, uint32_t keylen); rstatus_t server_pool_run(struct server_pool *pool); rstatus_t server_pool_preconnect(struct context *ctx); diff --git a/src/nc_stats.c b/src/nc_stats.c index 8687cd44..bb96ba3e 100644 --- a/src/nc_stats.c +++ b/src/nc_stats.c @@ -887,8 +887,8 @@ stats_stop_aggregator(struct stats *st) } struct stats * -stats_create(uint16_t stats_port, char *stats_ip, int stats_interval, - char *source, struct array *server_pool) +stats_create(uint16_t stats_port, const char *stats_ip, int stats_interval, + const char *source, struct array *server_pool) { rstatus_t status; struct stats *st; diff --git a/src/nc_stats.h b/src/nc_stats.h index 4a40a83c..0d9ca8ed 100644 --- a/src/nc_stats.h +++ b/src/nc_stats.h @@ -208,7 +208,7 @@ void _stats_server_incr_by(struct context *ctx, struct server *server, stats_ser void _stats_server_decr_by(struct context *ctx, struct server *server, stats_server_field_t fidx, int64_t val); void _stats_server_set_ts(struct context *ctx, struct server *server, stats_server_field_t fidx, int64_t val); -struct stats *stats_create(uint16_t stats_port, char *stats_ip, int stats_interval, char *source, struct array *server_pool); +struct stats *stats_create(uint16_t stats_port, const char *stats_ip, int stats_interval, const char *source, struct array *server_pool); void stats_destroy(struct stats *stats); void stats_swap(struct stats *stats); diff --git a/src/nc_util.c b/src/nc_util.c index e2768089..a8842958 100644 --- a/src/nc_util.c +++ b/src/nc_util.c @@ -188,7 +188,7 @@ nc_get_rcvbuf(int sd) } int -_nc_atoi(uint8_t *line, size_t n) +_nc_atoi(const uint8_t *line, size_t n) { int value; @@ -462,7 +462,7 @@ nc_msec_now(void) } static int -nc_resolve_inet(struct string *name, int port, struct sockinfo *si) +nc_resolve_inet(const struct string *name, int port, struct sockinfo *si) { int status; struct addrinfo *ai, *cai; /* head and current addrinfo */ @@ -532,7 +532,7 @@ nc_resolve_inet(struct string *name, int port, struct sockinfo *si) } static int -nc_resolve_unix(struct string *name, struct sockinfo *si) +nc_resolve_unix(const struct string *name, struct sockinfo *si) { struct sockaddr_un *un; @@ -560,7 +560,7 @@ nc_resolve_unix(struct string *name, struct sockinfo *si) * This routine is reentrant */ int -nc_resolve(struct string *name, int port, struct sockinfo *si) +nc_resolve(const struct string *name, int port, struct sockinfo *si) { if (name != NULL && name->data[0] == '/') { return nc_resolve_unix(name, si); @@ -575,7 +575,7 @@ nc_resolve(struct string *name, int port, struct sockinfo *si) * * This routine is not reentrant */ -char * +const char * nc_unresolve_addr(struct sockaddr *addr, socklen_t addrlen) { static char unresolve[NI_MAXHOST + NI_MAXSERV]; @@ -600,7 +600,7 @@ nc_unresolve_addr(struct sockaddr *addr, socklen_t addrlen) * * This routine is not reentrant */ -char * +const char * nc_unresolve_peer_desc(int sd) { static struct sockinfo si; @@ -626,7 +626,7 @@ nc_unresolve_peer_desc(int sd) * * This routine is not reentrant */ -char * +const char * nc_unresolve_desc(int sd) { static struct sockinfo si; diff --git a/src/nc_util.h b/src/nc_util.h index 986b7aef..da13aedc 100644 --- a/src/nc_util.h +++ b/src/nc_util.h @@ -20,6 +20,18 @@ #include +#ifdef __GNUC__ +# define NC_GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__) +#else +# define NC_GCC_VERSION 0 +#endif +#if NC_GCC_VERSION >= 2007 +#define NC_ATTRIBUTE_FORMAT(type, idx, first) __attribute__ ((format(type, idx, first))) +#else +#define NC_ATTRIBUTE_FORMAT(type, idx, first) +#endif + + #define LF (uint8_t) 10 #define CR (uint8_t) 13 #define CRLF "\x0d\x0a" @@ -90,7 +102,7 @@ int nc_get_soerror(int sd); int nc_get_sndbuf(int sd); int nc_get_rcvbuf(int sd); -int _nc_atoi(uint8_t *line, size_t n); +int _nc_atoi(const uint8_t *line, size_t n); bool nc_valid_port(int n); /* @@ -188,7 +200,7 @@ void nc_assert(const char *cond, const char *file, int line, int panic); void nc_stacktrace(int skip_count); void nc_stacktrace_fd(int fd); -int _scnprintf(char *buf, size_t size, const char *fmt, ...); +int _scnprintf(char *buf, size_t size, const char *fmt, ...) NC_ATTRIBUTE_FORMAT(printf, 3, 4); int _vscnprintf(char *buf, size_t size, const char *fmt, va_list args); int64_t nc_usec_now(void); int64_t nc_msec_now(void); @@ -208,9 +220,9 @@ struct sockinfo { } addr; }; -int nc_resolve(struct string *name, int port, struct sockinfo *si); -char *nc_unresolve_addr(struct sockaddr *addr, socklen_t addrlen); -char *nc_unresolve_peer_desc(int sd); -char *nc_unresolve_desc(int sd); +int nc_resolve(const struct string *name, int port, struct sockinfo *si); +const char *nc_unresolve_addr(struct sockaddr *addr, socklen_t addrlen); +const char *nc_unresolve_peer_desc(int sd); +const char *nc_unresolve_desc(int sd); #endif diff --git a/src/proto/nc_memcache.c b/src/proto/nc_memcache.c index 2c4dfa8e..d94c9a79 100644 --- a/src/proto/nc_memcache.c +++ b/src/proto/nc_memcache.c @@ -1232,13 +1232,13 @@ memcache_parse_rsp(struct msg *r) } bool -memcache_failure(struct msg *r) +memcache_failure(const struct msg *r) { return false; } static rstatus_t -memcache_append_key(struct msg *r, uint8_t *key, uint32_t keylen) +memcache_append_key(struct msg *r, const uint8_t *key, uint32_t keylen) { struct mbuf *mbuf; struct keypos *kpos; diff --git a/src/proto/nc_proto.h b/src/proto/nc_proto.h index 7290fd0e..6470f7b7 100644 --- a/src/proto/nc_proto.h +++ b/src/proto/nc_proto.h @@ -144,7 +144,7 @@ void memcache_parse_req(struct msg *r); void memcache_parse_rsp(struct msg *r); -bool memcache_failure(struct msg *r); +bool memcache_failure(const struct msg *r); void memcache_pre_coalesce(struct msg *r); void memcache_post_coalesce(struct msg *r); rstatus_t memcache_add_auth(struct context *ctx, struct conn *c_conn, struct conn *s_conn); @@ -155,7 +155,7 @@ void memcache_swallow_msg(struct conn *conn, struct msg *pmsg, struct msg *msg); void redis_parse_req(struct msg *r); void redis_parse_rsp(struct msg *r); -bool redis_failure(struct msg *r); +bool redis_failure(const struct msg *r); void redis_pre_coalesce(struct msg *r); void redis_post_coalesce(struct msg *r); rstatus_t redis_add_auth(struct context *ctx, struct conn *c_conn, struct conn *s_conn); diff --git a/src/proto/nc_redis.c b/src/proto/nc_redis.c index 85c9858e..b219c40b 100644 --- a/src/proto/nc_redis.c +++ b/src/proto/nc_redis.c @@ -2552,7 +2552,7 @@ redis_parse_rsp(struct msg *r) * See issue: https://github.com/twitter/twemproxy/issues/369 */ bool -redis_failure(struct msg *r) +redis_failure(const struct msg *r) { ASSERT(!r->request); @@ -2732,7 +2732,7 @@ redis_pre_coalesce(struct msg *r) } static rstatus_t -redis_append_key(struct msg *r, uint8_t *key, uint32_t keylen) +redis_append_key(struct msg *r, const uint8_t *key, uint32_t keylen) { uint32_t len; struct mbuf *mbuf; From ef03bf9f5364bae4eb76d30c35d65f4a30721440 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Fri, 2 Jul 2021 20:15:28 -0400 Subject: [PATCH 42/69] Add constant qualifiers. --- src/hashkit/nc_md5.c | 14 ++++++------- src/nc.c | 8 ++++---- src/nc_conf.c | 2 +- src/nc_message.c | 2 +- src/nc_message.h | 8 ++++---- src/nc_request.c | 12 ++++++----- src/nc_server.c | 6 +++--- src/nc_server.h | 2 +- src/nc_stats.c | 45 +++++++++++++++++++++-------------------- src/nc_stats.h | 26 ++++++++++++------------ src/proto/nc_memcache.c | 16 +++++++-------- src/proto/nc_redis.c | 30 +++++++++++++-------------- 12 files changed, 87 insertions(+), 84 deletions(-) diff --git a/src/hashkit/nc_md5.c b/src/hashkit/nc_md5.c index 94faa169..7bd73a8b 100644 --- a/src/hashkit/nc_md5.c +++ b/src/hashkit/nc_md5.c @@ -85,10 +85,10 @@ typedef struct { * This processes one or more 64-byte data blocks, but does NOT update * the bit counters. There are no alignment requirements. */ -static void * -body(MD5_CTX *ctx, void *data, unsigned long size) +static const void * +body(MD5_CTX *ctx, const void *data, unsigned long size) { - unsigned char *ptr; + const unsigned char *ptr; MD5_u32plus a, b, c, d; MD5_u32plus saved_a, saved_b, saved_c, saved_d; @@ -206,7 +206,7 @@ MD5_Init(MD5_CTX *ctx) } void -MD5_Update(MD5_CTX *ctx, void *data, unsigned long size) +MD5_Update(MD5_CTX *ctx, const void *data, unsigned long size) { MD5_u32plus saved_lo; unsigned long used, free; @@ -228,7 +228,7 @@ MD5_Update(MD5_CTX *ctx, void *data, unsigned long size) } memcpy(&ctx->buffer[used], data, free); - data = (unsigned char *)data + free; + data = (const unsigned char *)data + free; size -= free; body(ctx, ctx->buffer, 64); } @@ -298,7 +298,7 @@ MD5_Final(unsigned char *result, MD5_CTX *ctx) * result must be == 16 */ void -md5_signature(unsigned char *key, unsigned long length, unsigned char *result) +md5_signature(const unsigned char *key, unsigned long length, unsigned char *result) { MD5_CTX my_md5; @@ -312,7 +312,7 @@ hash_md5(const char *key, size_t key_length) { unsigned char results[16]; - md5_signature((unsigned char*)key, (unsigned long)key_length, results); + md5_signature((const unsigned char*)key, (unsigned long)key_length, results); return ((uint32_t) (results[3] & 0xFF) << 24) | ((uint32_t) (results[2] & 0xFF) << 16) | diff --git a/src/nc.c b/src/nc.c index 8c594559..4668a3a5 100644 --- a/src/nc.c +++ b/src/nc.c @@ -51,7 +51,7 @@ static int test_conf; static int daemonize; static int describe_stats; -static struct option long_options[] = { +static const struct option long_options[] = { { "help", no_argument, NULL, 'h' }, { "version", no_argument, NULL, 'V' }, { "test-conf", no_argument, NULL, 't' }, @@ -68,7 +68,7 @@ static struct option long_options[] = { { NULL, 0, NULL, 0 } }; -static char short_options[] = "hVtdDv:o:c:s:i:a:p:m:"; +static const char short_options[] = "hVtdDv:o:c:s:i:a:p:m:"; static rstatus_t nc_daemonize(int dump_core) @@ -173,7 +173,7 @@ nc_daemonize(int dump_core) } static void -nc_print_run(struct instance *nci) +nc_print_run(const struct instance *nci) { int status; struct utsname name; @@ -446,7 +446,7 @@ nc_get_options(int argc, char **argv, struct instance *nci) * returns false */ static bool -nc_test_conf(struct instance *nci) +nc_test_conf(const struct instance *nci) { struct conf *cf; diff --git a/src/nc_conf.c b/src/nc_conf.c index c62b9ba0..901236b7 100644 --- a/src/nc_conf.c +++ b/src/nc_conf.c @@ -315,7 +315,7 @@ conf_pool_each_transform(void *elem, void *data) } static void -conf_dump(struct conf *cf) +conf_dump(const struct conf *cf) { uint32_t i, j, npool, nserver; struct conf_pool *cp; diff --git a/src/nc_message.c b/src/nc_message.c index 426521dc..42b43d44 100644 --- a/src/nc_message.c +++ b/src/nc_message.c @@ -458,7 +458,7 @@ msg_empty(struct msg *msg) } uint32_t -msg_backend_idx(struct msg *msg, const uint8_t *key, uint32_t keylen) +msg_backend_idx(const struct msg *msg, const uint8_t *key, uint32_t keylen) { struct conn *conn = msg->owner; struct server_pool *pool = conn->owner; diff --git a/src/nc_message.h b/src/nc_message.h index f1a8be55..3461e868 100644 --- a/src/nc_message.h +++ b/src/nc_message.h @@ -26,7 +26,7 @@ typedef rstatus_t (*msg_add_auth_t)(struct context *ctx, struct conn *c_conn, st typedef rstatus_t (*msg_fragment_t)(struct msg *, uint32_t, struct msg_tqh *); typedef void (*msg_coalesce_t)(struct msg *r); typedef rstatus_t (*msg_reply_t)(struct msg *r); -typedef bool (*msg_failure_t)(struct msg *r); +typedef bool (*msg_failure_t)(const struct msg *r); typedef enum msg_parse_result { MSG_PARSE_OK, /* parsing ok */ @@ -318,7 +318,7 @@ void msg_read_line(struct msg* msg, struct mbuf *line_buf, int line_num); rstatus_t msg_recv(struct context *ctx, struct conn *conn); rstatus_t msg_send(struct context *ctx, struct conn *conn); uint64_t msg_gen_frag_id(void); -uint32_t msg_backend_idx(struct msg *msg, const uint8_t *key, uint32_t keylen); +uint32_t msg_backend_idx(const struct msg *msg, const uint8_t *key, uint32_t keylen); struct mbuf *msg_ensure_mbuf(struct msg *msg, size_t len); rstatus_t msg_append(struct msg *msg, const uint8_t *pos, size_t n); rstatus_t msg_prepend(struct msg *msg, const uint8_t *pos, size_t n); @@ -326,8 +326,8 @@ rstatus_t msg_prepend_format(struct msg *msg, const char *fmt, ...); struct msg *req_get(struct conn *conn); void req_put(struct msg *msg); -bool req_done(struct conn *conn, struct msg *msg); -bool req_error(struct conn *conn, struct msg *msg); +bool req_done(const struct conn *conn, struct msg *msg); +bool req_error(const struct conn *conn, struct msg *msg); void req_server_enqueue_imsgq(struct context *ctx, struct conn *conn, struct msg *msg); void req_server_enqueue_imsgq_head(struct context *ctx, struct conn *conn, struct msg *msg); void req_server_dequeue_imsgq(struct context *ctx, struct conn *conn, struct msg *msg); diff --git a/src/nc_request.c b/src/nc_request.c index 46ab7bad..d69dd1ee 100644 --- a/src/nc_request.c +++ b/src/nc_request.c @@ -35,7 +35,7 @@ req_get(struct conn *conn) static void req_log(const struct msg *req) { - struct msg *rsp; /* peer message (response) */ + const struct msg *rsp; /* peer message (response) */ int64_t req_time; /* time cost for this request */ const char *peer_str; /* peer client ip:port */ uint32_t req_len, rsp_len; /* request and response length */ @@ -122,9 +122,11 @@ req_put(struct msg *msg) * A request is done, if we received response for the given request. * A request vector is done if we received responses for all its * fragments. + * + * msg->fdone is modified to cache whether this request was done. */ bool -req_done(struct conn *conn, struct msg *msg) +req_done(const struct conn *conn, struct msg *msg) { struct msg *cmsg; /* current message */ uint64_t id; /* fragment id */ @@ -215,7 +217,7 @@ req_done(struct conn *conn, struct msg *msg) * receiving response for any its fragments. */ bool -req_error(struct conn *conn, struct msg *msg) +req_error(const struct conn *conn, struct msg *msg) { struct msg *cmsg; /* current message */ uint64_t id; @@ -470,7 +472,7 @@ req_make_reply(struct context *ctx, struct conn *conn, struct msg *req) } static bool -req_filter(struct context *ctx, struct conn *conn, struct msg *msg) +req_filter(struct conn *conn, struct msg *msg) { ASSERT(conn->client && !conn->proxy); @@ -640,7 +642,7 @@ req_recv_done(struct context *ctx, struct conn *conn, struct msg *msg, /* enqueue next message (request), if any */ conn->rmsg = nmsg; - if (req_filter(ctx, conn, msg)) { + if (req_filter(conn, msg)) { return; } diff --git a/src/nc_server.c b/src/nc_server.c index fa8a0adc..60dd15b5 100644 --- a/src/nc_server.c +++ b/src/nc_server.c @@ -640,7 +640,7 @@ server_pool_hash(const struct server_pool *pool, const uint8_t *key, uint32_t ke return 0; } - return pool->key_hash((char *)key, keylen); + return pool->key_hash((const char *)key, keylen); } uint32_t @@ -694,7 +694,7 @@ server_pool_idx(const struct server_pool *pool, const uint8_t *key, uint32_t key } static struct server * -server_pool_server(struct server_pool *pool, uint8_t *key, uint32_t keylen) +server_pool_server(struct server_pool *pool, const uint8_t *key, uint32_t keylen) { struct server *server; uint32_t idx; @@ -709,7 +709,7 @@ server_pool_server(struct server_pool *pool, uint8_t *key, uint32_t keylen) } struct conn * -server_pool_conn(struct context *ctx, struct server_pool *pool, uint8_t *key, +server_pool_conn(struct context *ctx, struct server_pool *pool, const uint8_t *key, uint32_t keylen) { rstatus_t status; diff --git a/src/nc_server.h b/src/nc_server.h index 42bf56fd..b9798db0 100644 --- a/src/nc_server.h +++ b/src/nc_server.h @@ -136,7 +136,7 @@ void server_connected(struct context *ctx, struct conn *conn); void server_ok(struct context *ctx, struct conn *conn); uint32_t server_pool_idx(const struct server_pool *pool, const uint8_t *key, uint32_t keylen); -struct conn *server_pool_conn(struct context *ctx, struct server_pool *pool, uint8_t *key, uint32_t keylen); +struct conn *server_pool_conn(struct context *ctx, struct server_pool *pool, const uint8_t *key, uint32_t keylen); rstatus_t server_pool_run(struct server_pool *pool); rstatus_t server_pool_preconnect(struct context *ctx); void server_pool_disconnect(struct context *ctx); diff --git a/src/nc_stats.c b/src/nc_stats.c index bb96ba3e..5e9925d5 100644 --- a/src/nc_stats.c +++ b/src/nc_stats.c @@ -188,7 +188,7 @@ stats_server_init(struct stats_server *sts, struct server *s) } static rstatus_t -stats_server_map(struct array *stats_server, struct array *server) +stats_server_map(struct array *stats_server, const struct array *server) { rstatus_t status; uint32_t i, nserver; @@ -233,7 +233,7 @@ stats_server_unmap(struct array *stats_server) } static rstatus_t -stats_pool_init(struct stats_pool *stp, struct server_pool *sp) +stats_pool_init(struct stats_pool *stp, const struct server_pool *sp) { rstatus_t status; @@ -281,7 +281,7 @@ stats_pool_reset(struct array *stats_pool) } static rstatus_t -stats_pool_map(struct array *stats_pool, struct array *server_pool) +stats_pool_map(struct array *stats_pool, const struct array *server_pool) { rstatus_t status; uint32_t i, npool; @@ -295,7 +295,7 @@ stats_pool_map(struct array *stats_pool, struct array *server_pool) } for (i = 0; i < npool; i++) { - struct server_pool *sp = array_get(server_pool, i); + const struct server_pool *sp = array_get(server_pool, i); struct stats_pool *stp = array_push(stats_pool); status = stats_pool_init(stp, sp); @@ -432,7 +432,7 @@ stats_destroy_buf(struct stats *st) } static rstatus_t -stats_add_string(struct stats *st, struct string *key, struct string *val) +stats_add_string(struct stats *st, const struct string *key, const struct string *val) { struct stats_buffer *buf; uint8_t *pos; @@ -455,7 +455,7 @@ stats_add_string(struct stats *st, struct string *key, struct string *val) } static rstatus_t -stats_add_num(struct stats *st, struct string *key, int64_t val) +stats_add_num(struct stats *st, const struct string *key, int64_t val) { struct stats_buffer *buf; uint8_t *pos; @@ -551,7 +551,7 @@ stats_add_footer(struct stats *st) } static rstatus_t -stats_begin_nesting(struct stats *st, struct string *key) +stats_begin_nesting(struct stats *st, const struct string *key) { struct stats_buffer *buf; uint8_t *pos; @@ -628,12 +628,13 @@ stats_copy_metric(struct stats *st, struct array *metric) } static void -stats_aggregate_metric(struct array *dst, struct array *src) +stats_aggregate_metric(struct array *dst, const struct array *src) { uint32_t i; for (i = 0; i < array_n(src); i++) { - struct stats_metric *stm1, *stm2; + const struct stats_metric *stm1; + struct stats_metric *stm2; stm1 = array_get(src, i); stm2 = array_get(dst, i); @@ -888,7 +889,7 @@ stats_stop_aggregator(struct stats *st) struct stats * stats_create(uint16_t stats_port, const char *stats_ip, int stats_interval, - const char *source, struct array *server_pool) + const char *source, const struct array *server_pool) { rstatus_t status; struct stats *st; @@ -1013,7 +1014,7 @@ stats_swap(struct stats *st) } static struct stats_metric * -stats_pool_to_metric(struct context *ctx, struct server_pool *pool, +stats_pool_to_metric(struct context *ctx, const struct server_pool *pool, stats_pool_field_t fidx) { struct stats *st; @@ -1036,7 +1037,7 @@ stats_pool_to_metric(struct context *ctx, struct server_pool *pool, } void -_stats_pool_incr(struct context *ctx, struct server_pool *pool, +_stats_pool_incr(struct context *ctx, const struct server_pool *pool, stats_pool_field_t fidx) { struct stats_metric *stm; @@ -1051,7 +1052,7 @@ _stats_pool_incr(struct context *ctx, struct server_pool *pool, } void -_stats_pool_decr(struct context *ctx, struct server_pool *pool, +_stats_pool_decr(struct context *ctx, const struct server_pool *pool, stats_pool_field_t fidx) { struct stats_metric *stm; @@ -1066,7 +1067,7 @@ _stats_pool_decr(struct context *ctx, struct server_pool *pool, } void -_stats_pool_incr_by(struct context *ctx, struct server_pool *pool, +_stats_pool_incr_by(struct context *ctx, const struct server_pool *pool, stats_pool_field_t fidx, int64_t val) { struct stats_metric *stm; @@ -1081,7 +1082,7 @@ _stats_pool_incr_by(struct context *ctx, struct server_pool *pool, } void -_stats_pool_decr_by(struct context *ctx, struct server_pool *pool, +_stats_pool_decr_by(struct context *ctx, const struct server_pool *pool, stats_pool_field_t fidx, int64_t val) { struct stats_metric *stm; @@ -1096,7 +1097,7 @@ _stats_pool_decr_by(struct context *ctx, struct server_pool *pool, } void -_stats_pool_set_ts(struct context *ctx, struct server_pool *pool, +_stats_pool_set_ts(struct context *ctx, const struct server_pool *pool, stats_pool_field_t fidx, int64_t val) { struct stats_metric *stm; @@ -1111,7 +1112,7 @@ _stats_pool_set_ts(struct context *ctx, struct server_pool *pool, } static struct stats_metric * -stats_server_to_metric(struct context *ctx, struct server *server, +stats_server_to_metric(struct context *ctx, const struct server *server, stats_server_field_t fidx) { struct stats *st; @@ -1137,7 +1138,7 @@ stats_server_to_metric(struct context *ctx, struct server *server, } void -_stats_server_incr(struct context *ctx, struct server *server, +_stats_server_incr(struct context *ctx, const struct server *server, stats_server_field_t fidx) { struct stats_metric *stm; @@ -1152,7 +1153,7 @@ _stats_server_incr(struct context *ctx, struct server *server, } void -_stats_server_decr(struct context *ctx, struct server *server, +_stats_server_decr(struct context *ctx, const struct server *server, stats_server_field_t fidx) { struct stats_metric *stm; @@ -1167,7 +1168,7 @@ _stats_server_decr(struct context *ctx, struct server *server, } void -_stats_server_incr_by(struct context *ctx, struct server *server, +_stats_server_incr_by(struct context *ctx, const struct server *server, stats_server_field_t fidx, int64_t val) { struct stats_metric *stm; @@ -1182,7 +1183,7 @@ _stats_server_incr_by(struct context *ctx, struct server *server, } void -_stats_server_decr_by(struct context *ctx, struct server *server, +_stats_server_decr_by(struct context *ctx, const struct server *server, stats_server_field_t fidx, int64_t val) { struct stats_metric *stm; @@ -1197,7 +1198,7 @@ _stats_server_decr_by(struct context *ctx, struct server *server, } void -_stats_server_set_ts(struct context *ctx, struct server *server, +_stats_server_set_ts(struct context *ctx, const struct server *server, stats_server_field_t fidx, int64_t val) { struct stats_metric *stm; diff --git a/src/nc_stats.h b/src/nc_stats.h index 0d9ca8ed..dc22e574 100644 --- a/src/nc_stats.h +++ b/src/nc_stats.h @@ -196,19 +196,19 @@ typedef enum stats_server_field { void stats_describe(void); -void _stats_pool_incr(struct context *ctx, struct server_pool *pool, stats_pool_field_t fidx); -void _stats_pool_decr(struct context *ctx, struct server_pool *pool, stats_pool_field_t fidx); -void _stats_pool_incr_by(struct context *ctx, struct server_pool *pool, stats_pool_field_t fidx, int64_t val); -void _stats_pool_decr_by(struct context *ctx, struct server_pool *pool, stats_pool_field_t fidx, int64_t val); -void _stats_pool_set_ts(struct context *ctx, struct server_pool *pool, stats_pool_field_t fidx, int64_t val); - -void _stats_server_incr(struct context *ctx, struct server *server, stats_server_field_t fidx); -void _stats_server_decr(struct context *ctx, struct server *server, stats_server_field_t fidx); -void _stats_server_incr_by(struct context *ctx, struct server *server, stats_server_field_t fidx, int64_t val); -void _stats_server_decr_by(struct context *ctx, struct server *server, stats_server_field_t fidx, int64_t val); -void _stats_server_set_ts(struct context *ctx, struct server *server, stats_server_field_t fidx, int64_t val); - -struct stats *stats_create(uint16_t stats_port, const char *stats_ip, int stats_interval, const char *source, struct array *server_pool); +void _stats_pool_incr(struct context *ctx, const struct server_pool *pool, stats_pool_field_t fidx); +void _stats_pool_decr(struct context *ctx, const struct server_pool *pool, stats_pool_field_t fidx); +void _stats_pool_incr_by(struct context *ctx, const struct server_pool *pool, stats_pool_field_t fidx, int64_t val); +void _stats_pool_decr_by(struct context *ctx, const struct server_pool *pool, stats_pool_field_t fidx, int64_t val); +void _stats_pool_set_ts(struct context *ctx, const struct server_pool *pool, stats_pool_field_t fidx, int64_t val); + +void _stats_server_incr(struct context *ctx, const struct server *server, stats_server_field_t fidx); +void _stats_server_decr(struct context *ctx, const struct server *server, stats_server_field_t fidx); +void _stats_server_incr_by(struct context *ctx, const struct server *server, stats_server_field_t fidx, int64_t val); +void _stats_server_decr_by(struct context *ctx, const struct server *server, stats_server_field_t fidx, int64_t val); +void _stats_server_set_ts(struct context *ctx, const struct server *server, stats_server_field_t fidx, int64_t val); + +struct stats *stats_create(uint16_t stats_port, const char *stats_ip, int stats_interval, const char *source, const struct array *server_pool); void stats_destroy(struct stats *stats); void stats_swap(struct stats *stats); diff --git a/src/proto/nc_memcache.c b/src/proto/nc_memcache.c index d94c9a79..0fee3cc6 100644 --- a/src/proto/nc_memcache.c +++ b/src/proto/nc_memcache.c @@ -37,7 +37,7 @@ * return false */ static bool -memcache_storage(struct msg *r) +memcache_storage(const struct msg *r) { switch (r->type) { case MSG_REQ_MC_SET: @@ -60,7 +60,7 @@ memcache_storage(struct msg *r) * return false */ static bool -memcache_cas(struct msg *r) +memcache_cas(const struct msg *r) { if (r->type == MSG_REQ_MC_CAS) { return true; @@ -74,7 +74,7 @@ memcache_cas(struct msg *r) * return false */ static bool -memcache_retrieval(struct msg *r) +memcache_retrieval(const struct msg *r) { switch (r->type) { case MSG_REQ_MC_GET: @@ -101,7 +101,7 @@ memcache_retrieval(struct msg *r) * so avoid them when possible. */ static bool -memcache_should_fragment(struct msg *r) +memcache_should_fragment(const struct msg *r) { switch (r->type) { case MSG_REQ_MC_GET: @@ -124,7 +124,7 @@ memcache_should_fragment(struct msg *r) * return false */ static bool -memcache_arithmetic(struct msg *r) +memcache_arithmetic(const struct msg *r) { switch (r->type) { case MSG_REQ_MC_INCR: @@ -143,7 +143,7 @@ memcache_arithmetic(struct msg *r) * return false */ static bool -memcache_delete(struct msg *r) +memcache_delete(const struct msg *r) { if (r->type == MSG_REQ_MC_DELETE) { return true; @@ -157,7 +157,7 @@ memcache_delete(struct msg *r) * return false */ static bool -memcache_touch(struct msg *r) +memcache_touch(const struct msg *r) { if (r->type == MSG_REQ_MC_TOUCH) { return true; @@ -1258,7 +1258,7 @@ memcache_append_key(struct msg *r, const uint8_t *key, uint32_t keylen) mbuf_copy(mbuf, key, keylen); r->mlen += keylen; - mbuf_copy(mbuf, (uint8_t *)" ", 1); + mbuf_copy(mbuf, (const uint8_t *)" ", 1); r->mlen += 1; return NC_OK; } diff --git a/src/proto/nc_redis.c b/src/proto/nc_redis.c index b219c40b..ebebddc0 100644 --- a/src/proto/nc_redis.c +++ b/src/proto/nc_redis.c @@ -40,7 +40,7 @@ static rstatus_t redis_handle_auth_req(struct msg *request, struct msg *response * return false */ static bool -redis_argz(struct msg *r) +redis_argz(const struct msg *r) { switch (r->type) { /* TODO: PING has an optional argument, emulate that? */ @@ -61,7 +61,7 @@ redis_argz(struct msg *r) * return false */ static bool -redis_arg0(struct msg *r) +redis_arg0(const struct msg *r) { switch (r->type) { case MSG_REQ_REDIS_PERSIST: @@ -103,7 +103,7 @@ redis_arg0(struct msg *r) * return false */ static bool -redis_arg1(struct msg *r) +redis_arg1(const struct msg *r) { switch (r->type) { case MSG_REQ_REDIS_EXPIRE: @@ -146,7 +146,7 @@ redis_arg1(struct msg *r) * return false */ static bool -redis_arg2(struct msg *r) +redis_arg2(const struct msg *r) { switch (r->type) { case MSG_REQ_REDIS_GETRANGE: @@ -186,7 +186,7 @@ redis_arg2(struct msg *r) * return false */ static bool -redis_arg3(struct msg *r) +redis_arg3(const struct msg *r) { switch (r->type) { case MSG_REQ_REDIS_LINSERT: @@ -205,7 +205,7 @@ redis_arg3(struct msg *r) * return false */ static bool -redis_argn(struct msg *r) +redis_argn(const struct msg *r) { switch (r->type) { case MSG_REQ_REDIS_SORT: @@ -297,7 +297,7 @@ redis_argn(struct msg *r) * more keys, otherwise return false */ static bool -redis_argx(struct msg *r) +redis_argx(const struct msg *r) { switch (r->type) { case MSG_REQ_REDIS_MGET: @@ -318,7 +318,7 @@ redis_argx(struct msg *r) * more key-value pairs, otherwise return false */ static bool -redis_argkvx(struct msg *r) +redis_argkvx(const struct msg *r) { switch (r->type) { case MSG_REQ_REDIS_MSET: @@ -338,7 +338,7 @@ redis_argkvx(struct msg *r) * that at least one argument is required, but that shouldn't be the case). */ static bool -redis_argeval(struct msg *r) +redis_argeval(const struct msg *r) { switch (r->type) { case MSG_REQ_REDIS_EVAL: @@ -353,7 +353,7 @@ redis_argeval(struct msg *r) } static bool -redis_nokey(struct msg *r) +redis_nokey(const struct msg *r) { switch (r->type) { case MSG_REQ_REDIS_LOLWUT: @@ -371,7 +371,7 @@ redis_nokey(struct msg *r) * string whose first character is '-', otherwise return false. */ static bool -redis_error(struct msg *r) +redis_error(const struct msg *r) { switch (r->type) { case MSG_RSP_REDIS_ERROR: @@ -3105,15 +3105,15 @@ static rstatus_t redis_handle_auth_req(struct msg *req, struct msg *rsp) { struct conn *conn = (struct conn *)rsp->owner; - struct server_pool *pool; - struct keypos *kpos; - uint8_t *key; + const struct server_pool *pool; + const struct keypos *kpos; + const uint8_t *key; uint32_t keylen; bool valid; ASSERT(conn->client && !conn->proxy); - pool = (struct server_pool *)conn->owner; + pool = (const struct server_pool *)conn->owner; if (!pool->require_auth) { /* From ca2683f48ea11e6fb643c5ed785d64db8ddecfc2 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Fri, 2 Jul 2021 20:15:15 -0400 Subject: [PATCH 43/69] Update tests --- src/test_all.c | 52 +++++++++++++++++++++++++++++++------------------- 1 file changed, 32 insertions(+), 20 deletions(-) diff --git a/src/test_all.c b/src/test_all.c index 88de2aa6..f862b54d 100644 --- a/src/test_all.c +++ b/src/test_all.c @@ -60,7 +60,7 @@ static void test_config_parsing(void) { } } -static void test_redis_parse_req_success_case(char* data, int expected_type) { +static void test_redis_parse_req_success_case(const char* data, int expected_type) { struct conn fake_client = {0}; struct mbuf *m = mbuf_get(); const int SW_START = 0; /* Same as SW_START in redis_parse_req */ @@ -71,7 +71,7 @@ static void test_redis_parse_req_success_case(char* data, int expected_type) { const size_t datalen = strlen(data); /* Copy data into the message */ - mbuf_copy(m, (uint8_t*)data, datalen); + mbuf_copy(m, (const uint8_t*)data, datalen); /* Insert a single buffer into the message mbuf header */ STAILQ_INIT(&req->mhdr); ASSERT(STAILQ_EMPTY(&req->mhdr)); @@ -104,7 +104,7 @@ static void test_redis_parse_req_success(void) { test_redis_parse_req_success_case("*1\r\n$4\r\nPING\r\n", MSG_REQ_REDIS_PING); } -static void test_redis_parse_rsp_success_case(char* data) { +static void test_redis_parse_rsp_success_case(const char* data, int expected) { int original_failures = failures; struct conn fake_client = {0}; struct mbuf *m = mbuf_get(); @@ -116,7 +116,7 @@ static void test_redis_parse_rsp_success_case(char* data) { const size_t datalen = strlen(data); /* Copy data into the message */ - mbuf_copy(m, (uint8_t*)data, datalen); + mbuf_copy(m, (const uint8_t*)data, datalen); /* Insert a single buffer into the message mbuf header */ STAILQ_INIT(&rsp->mhdr); ASSERT(STAILQ_EMPTY(&rsp->mhdr)); @@ -126,6 +126,7 @@ static void test_redis_parse_rsp_success_case(char* data) { redis_parse_rsp(rsp); expect_same_ptr(m->last, rsp->pos, "redis_parse_rsp: expected rsp->pos to be m->last"); expect_same_int(SW_START, rsp->state, "redis_parse_rsp: expected full buffer to be parsed"); + expect_same_int(expected, rsp->type, "redis_parse_rsp: expected response type to be parsed"); expect_same_uint32_t(1, rsp->rnarg ? rsp->rnarg : 1, "expected remaining args to be 0 or 1"); msg_put(rsp); @@ -137,17 +138,28 @@ static void test_redis_parse_rsp_success_case(char* data) { /* Test support for https://redis.io/topics/protocol */ static void test_redis_parse_rsp_success(void) { - test_redis_parse_rsp_success_case("-CUSTOMERR\r\n"); /* Error message without a space */ - test_redis_parse_rsp_success_case("-Error message\r\n"); /* Error message */ - test_redis_parse_rsp_success_case("+OK\r\n"); /* Error message without a space */ - - test_redis_parse_rsp_success_case("$6\r\nfoobar\r\n"); /* bulk string */ - test_redis_parse_rsp_success_case("$0\r\n\r\n"); /* empty bulk string */ - test_redis_parse_rsp_success_case("$-1\r\n"); /* null value */ - test_redis_parse_rsp_success_case("*0\r\n"); /* empty array */ - test_redis_parse_rsp_success_case("*2\r\n$3\r\nfoo\r\n$3\r\nbar\r\n"); /* array with 2 bulk strings */ - test_redis_parse_rsp_success_case("*3\r\n:1\r\n:2\r\n:3\r\n"); /* array with 3 integers */ - test_redis_parse_rsp_success_case("*-1\r\n"); /* null array for BLPOP */ + /* Error message without a space */ + test_redis_parse_rsp_success_case("-CUSTOMERR\r\n", MSG_RSP_REDIS_ERROR); + /* Error message */ + test_redis_parse_rsp_success_case("-Error message\r\n", MSG_RSP_REDIS_ERROR); + /* Error message without a space */ + test_redis_parse_rsp_success_case("+OK\r\n", MSG_RSP_REDIS_STATUS); + /* bulk string */ + test_redis_parse_rsp_success_case("$6\r\nfoobar\r\n", MSG_RSP_REDIS_BULK); + /* empty bulk string */ + test_redis_parse_rsp_success_case("$0\r\n\r\n", MSG_RSP_REDIS_BULK); + /* null value */ + test_redis_parse_rsp_success_case("$-1\r\n", MSG_RSP_REDIS_BULK); + /* empty array */ + test_redis_parse_rsp_success_case("*0\r\n", MSG_RSP_REDIS_MULTIBULK); + /* array with 2 bulk strings */ + test_redis_parse_rsp_success_case("*2\r\n$3\r\nfoo\r\n$3\r\nbar\r\n", + MSG_RSP_REDIS_MULTIBULK); + /* array with 3 integers */ + test_redis_parse_rsp_success_case("*3\r\n:1\r\n:2\r\n:3\r\n", + MSG_RSP_REDIS_MULTIBULK); + /* null array for BLPOP */ + test_redis_parse_rsp_success_case("*-1\r\n", MSG_RSP_REDIS_MULTIBULK); /* * Test support for parsing arrays of arrays. * They can be returned by COMMAND, EVAL, etc. @@ -159,10 +171,10 @@ static void test_redis_parse_rsp_success(void) { ":3\r\n" "*2\r\n" "+Foo\r\n" - "-Bar\r\n"); /* array of 2 arrays */ + "-Bar\r\n", MSG_RSP_REDIS_MULTIBULK); /* array of 2 arrays */ } -static void test_memcache_parse_rsp_success_case(char* data, int expected) { +static void test_memcache_parse_rsp_success_case(const char* data, int expected) { struct conn fake_client = {0}; struct mbuf *m = mbuf_get(); const int SW_START = 0; /* Same as SW_START in memcache_parse_rsp */ @@ -173,7 +185,7 @@ static void test_memcache_parse_rsp_success_case(char* data, int expected) { const size_t datalen = strlen(data); /* Copy data into the message */ - mbuf_copy(m, (uint8_t*)data, datalen); + mbuf_copy(m, (const uint8_t*)data, datalen); /* Insert a single buffer into the message mbuf header */ STAILQ_INIT(&rsp->mhdr); ASSERT(STAILQ_EMPTY(&rsp->mhdr)); @@ -202,7 +214,7 @@ static void test_memcache_parse_rsp_success(void) { test_memcache_parse_rsp_success_case("VALUE key 0 2\r\nab\r\nVALUE key2 0 2\r\ncd\r\nEND\r\n", MSG_RSP_MC_END); } -static void test_memcache_parse_req_success_case(char* data, int expected) { +static void test_memcache_parse_req_success_case(const char* data, int expected) { struct conn fake_client = {0}; struct mbuf *m = mbuf_get(); const int SW_START = 0; /* Same as SW_START in memcache_parse_req */ @@ -213,7 +225,7 @@ static void test_memcache_parse_req_success_case(char* data, int expected) { const size_t datalen = strlen(data); /* Copy data into the message */ - mbuf_copy(m, (uint8_t*)data, datalen); + mbuf_copy(m, (const uint8_t*)data, datalen); /* Insert a single buffer into the message mbuf header */ STAILQ_INIT(&req->mhdr); ASSERT(STAILQ_EMPTY(&req->mhdr)); From 04401122be7cabd4b3a4407d1beab05596307f0d Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Fri, 2 Jul 2021 20:28:22 -0400 Subject: [PATCH 44/69] Make static variables const where usage is const --- src/hashkit/nc_fnv.c | 8 ++++---- src/nc_conf.c | 32 +++++++++++++++++--------------- src/nc_conf.h | 18 +++++++++--------- src/nc_message.c | 10 +++++----- src/nc_message.h | 7 +++---- src/nc_signal.c | 6 +++--- src/nc_stats.c | 4 ++-- 7 files changed, 43 insertions(+), 42 deletions(-) diff --git a/src/hashkit/nc_fnv.c b/src/hashkit/nc_fnv.c index 7ea3c450..3fcf5ef5 100644 --- a/src/hashkit/nc_fnv.c +++ b/src/hashkit/nc_fnv.c @@ -17,10 +17,10 @@ #include -static uint64_t FNV_64_INIT = UINT64_C(0xcbf29ce484222325); -static uint64_t FNV_64_PRIME = UINT64_C(0x100000001b3); -static uint32_t FNV_32_INIT = 2166136261UL; -static uint32_t FNV_32_PRIME = 16777619; +static const uint64_t FNV_64_INIT = UINT64_C(0xcbf29ce484222325); +static const uint64_t FNV_64_PRIME = UINT64_C(0x100000001b3); +static const uint32_t FNV_32_INIT = 2166136261UL; +static const uint32_t FNV_32_PRIME = 16777619; uint32_t hash_fnv1_64(const char *key, size_t key_length) diff --git a/src/nc_conf.c b/src/nc_conf.c index 901236b7..1a6c94e5 100644 --- a/src/nc_conf.c +++ b/src/nc_conf.c @@ -21,27 +21,27 @@ #include #define DEFINE_ACTION(_hash, _name) string(#_name), -static struct string hash_strings[] = { +static const struct string hash_strings[] = { HASH_CODEC( DEFINE_ACTION ) null_string }; #undef DEFINE_ACTION #define DEFINE_ACTION(_hash, _name) hash_##_name, -static hash_t hash_algos[] = { +static const hash_t hash_algos[] = { HASH_CODEC( DEFINE_ACTION ) NULL }; #undef DEFINE_ACTION #define DEFINE_ACTION(_dist, _name) string(#_name), -static struct string dist_strings[] = { +static const struct string dist_strings[] = { DIST_CODEC( DEFINE_ACTION ) null_string }; #undef DEFINE_ACTION -static struct command conf_commands[] = { +static const struct command conf_commands[] = { { string("listen"), conf_set_listen, offsetof(struct conf_pool, listen) }, @@ -497,7 +497,7 @@ conf_pop_scalar(struct conf *cf) static rstatus_t conf_handler(struct conf *cf, void *data) { - struct command *cmd; + const struct command *cmd; struct string *key, *value; uint32_t narg; @@ -1415,7 +1415,7 @@ conf_destroy(struct conf *cf) } char * -conf_set_string(struct conf *cf, struct command *cmd, void *conf) +conf_set_string(struct conf *cf, const struct command *cmd, void *conf) { rstatus_t status; uint8_t *p; @@ -1439,7 +1439,7 @@ conf_set_string(struct conf *cf, struct command *cmd, void *conf) } char * -conf_set_listen(struct conf *cf, struct command *cmd, void *conf) +conf_set_listen(struct conf *cf, const struct command *cmd, void *conf) { rstatus_t status; struct string *value; @@ -1528,7 +1528,7 @@ conf_set_listen(struct conf *cf, struct command *cmd, void *conf) } char * -conf_add_server(struct conf *cf, struct command *cmd, void *conf) +conf_add_server(struct conf *cf, const struct command *cmd, void *conf) { rstatus_t status; struct array *a; @@ -1668,7 +1668,7 @@ conf_add_server(struct conf *cf, struct command *cmd, void *conf) } char * -conf_set_num(struct conf *cf, struct command *cmd, void *conf) +conf_set_num(struct conf *cf, const struct command *cmd, void *conf) { uint8_t *p; int num, *np; @@ -1694,7 +1694,7 @@ conf_set_num(struct conf *cf, struct command *cmd, void *conf) } char * -conf_set_bool(struct conf *cf, struct command *cmd, void *conf) +conf_set_bool(struct conf *cf, const struct command *cmd, void *conf) { uint8_t *p; int *bp; @@ -1723,11 +1723,12 @@ conf_set_bool(struct conf *cf, struct command *cmd, void *conf) } char * -conf_set_hash(struct conf *cf, struct command *cmd, void *conf) +conf_set_hash(struct conf *cf, const struct command *cmd, void *conf) { uint8_t *p; hash_type_t *hp; - struct string *value, *hash; + struct string *value; + const struct string *hash; p = conf; hp = (hash_type_t *)(p + cmd->offset); @@ -1752,11 +1753,12 @@ conf_set_hash(struct conf *cf, struct command *cmd, void *conf) } char * -conf_set_distribution(struct conf *cf, struct command *cmd, void *conf) +conf_set_distribution(struct conf *cf, const struct command *cmd, void *conf) { uint8_t *p; dist_type_t *dp; - struct string *value, *dist; + struct string *value; + const struct string *dist; p = conf; dp = (dist_type_t *)(p + cmd->offset); @@ -1781,7 +1783,7 @@ conf_set_distribution(struct conf *cf, struct command *cmd, void *conf) } char * -conf_set_hashtag(struct conf *cf, struct command *cmd, void *conf) +conf_set_hashtag(struct conf *cf, const struct command *cmd, void *conf) { rstatus_t status; uint8_t *p; diff --git a/src/nc_conf.h b/src/nc_conf.h index 3e6e4ad6..44494f35 100644 --- a/src/nc_conf.h +++ b/src/nc_conf.h @@ -117,20 +117,20 @@ struct conf { struct command { struct string name; - char *(*set)(struct conf *cf, struct command *cmd, void *data); + char *(*set)(struct conf *cf, const struct command *cmd, void *data); int offset; }; #define null_command { null_string, NULL, 0 } -char *conf_set_string(struct conf *cf, struct command *cmd, void *conf); -char *conf_set_listen(struct conf *cf, struct command *cmd, void *conf); -char *conf_add_server(struct conf *cf, struct command *cmd, void *conf); -char *conf_set_num(struct conf *cf, struct command *cmd, void *conf); -char *conf_set_bool(struct conf *cf, struct command *cmd, void *conf); -char *conf_set_hash(struct conf *cf, struct command *cmd, void *conf); -char *conf_set_distribution(struct conf *cf, struct command *cmd, void *conf); -char *conf_set_hashtag(struct conf *cf, struct command *cmd, void *conf); +char *conf_set_string(struct conf *cf, const struct command *cmd, void *conf); +char *conf_set_listen(struct conf *cf, const struct command *cmd, void *conf); +char *conf_add_server(struct conf *cf, const struct command *cmd, void *conf); +char *conf_set_num(struct conf *cf, const struct command *cmd, void *conf); +char *conf_set_bool(struct conf *cf, const struct command *cmd, void *conf); +char *conf_set_hash(struct conf *cf, const struct command *cmd, void *conf); +char *conf_set_distribution(struct conf *cf, const struct command *cmd, void *conf); +char *conf_set_hashtag(struct conf *cf, const struct command *cmd, void *conf); rstatus_t conf_server_each_transform(void *elem, void *data); rstatus_t conf_pool_each_transform(void *elem, void *data); diff --git a/src/nc_message.c b/src/nc_message.c index 42b43d44..49d722f7 100644 --- a/src/nc_message.c +++ b/src/nc_message.c @@ -117,7 +117,7 @@ static struct rbtree tmo_rbt; /* timeout rbtree */ static struct rbnode tmo_rbs; /* timeout rbtree sentinel */ #define DEFINE_ACTION(_name) string(#_name), -static struct string msg_type_strings[] = { +static const struct string msg_type_strings[] = { MSG_TYPE_CODEC( DEFINE_ACTION ) null_string }; @@ -396,9 +396,9 @@ msg_put(struct msg *msg) } void -msg_dump(struct msg *msg, int level) +msg_dump(const struct msg *msg, int level) { - struct mbuf *mbuf; + const struct mbuf *mbuf; if (log_loggable(level) == 0) { return; @@ -445,14 +445,14 @@ msg_deinit(void) ASSERT(nfree_msgq == 0); } -struct string * +const struct string * msg_type_string(msg_type_t type) { return &msg_type_strings[type]; } bool -msg_empty(struct msg *msg) +msg_empty(const struct msg *msg) { return msg->mlen == 0 ? true : false; } diff --git a/src/nc_message.h b/src/nc_message.h index 3461e868..07757947 100644 --- a/src/nc_message.h +++ b/src/nc_message.h @@ -308,13 +308,12 @@ void msg_tmo_delete(struct msg *msg); void msg_init(void); void msg_deinit(void); -struct string *msg_type_string(msg_type_t type); +const struct string *msg_type_string(msg_type_t type); struct msg *msg_get(struct conn *conn, bool request, bool redis); void msg_put(struct msg *msg); struct msg *msg_get_error(bool redis, err_t err); -void msg_dump(struct msg *msg, int level); -bool msg_empty(struct msg *msg); -void msg_read_line(struct msg* msg, struct mbuf *line_buf, int line_num); +void msg_dump(const struct msg *msg, int level); +bool msg_empty(const struct msg *msg); rstatus_t msg_recv(struct context *ctx, struct conn *conn); rstatus_t msg_send(struct context *ctx, struct conn *conn); uint64_t msg_gen_frag_id(void); diff --git a/src/nc_signal.c b/src/nc_signal.c index dd579cd1..a1cc54f3 100644 --- a/src/nc_signal.c +++ b/src/nc_signal.c @@ -21,7 +21,7 @@ #include #include -static struct signal signals[] = { +static const struct signal signals[] = { { SIGUSR1, "SIGUSR1", 0, signal_handler }, { SIGUSR2, "SIGUSR2", 0, signal_handler }, { SIGTTIN, "SIGTTIN", 0, signal_handler }, @@ -36,7 +36,7 @@ static struct signal signals[] = { rstatus_t signal_init(void) { - struct signal *sig; + const struct signal *sig; for (sig = signals; sig->signo != 0; sig++) { rstatus_t status; @@ -66,7 +66,7 @@ signal_deinit(void) void signal_handler(int signo) { - struct signal *sig; + const struct signal *sig; void (*action)(void); char *actionstr; bool done; diff --git a/src/nc_stats.c b/src/nc_stats.c index 5e9925d5..8937dea2 100644 --- a/src/nc_stats.c +++ b/src/nc_stats.c @@ -42,11 +42,11 @@ static struct stats_metric stats_server_codec[] = { #undef DEFINE_ACTION #define DEFINE_ACTION(_name, _type, _desc) { .name = #_name, .desc = _desc }, -static struct stats_desc stats_pool_desc[] = { +static const struct stats_desc stats_pool_desc[] = { STATS_POOL_CODEC( DEFINE_ACTION ) }; -static struct stats_desc stats_server_desc[] = { +static const struct stats_desc stats_server_desc[] = { STATS_SERVER_CODEC( DEFINE_ACTION ) }; #undef DEFINE_ACTION From abb362355eac054102a336bc18e4bb11a02dcc07 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Fri, 2 Jul 2021 20:35:11 -0400 Subject: [PATCH 45/69] Add more const annotations --- src/nc_conf.c | 20 ++++++++++---------- src/nc_conf.h | 18 +++++++++--------- src/nc_message.c | 2 +- src/nc_string.c | 6 +++--- src/proto/nc_redis.c | 2 +- 5 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/nc_conf.c b/src/nc_conf.c index 1a6c94e5..e273c773 100644 --- a/src/nc_conf.c +++ b/src/nc_conf.c @@ -515,7 +515,7 @@ conf_handler(struct conf *cf, void *data) value->len, value->data); for (cmd = conf_commands; cmd->name.len != 0; cmd++) { - char *rv; + const char *rv; if (string_compare(key, &cmd->name) != 0) { continue; @@ -1414,7 +1414,7 @@ conf_destroy(struct conf *cf) nc_free(cf); } -char * +const char * conf_set_string(struct conf *cf, const struct command *cmd, void *conf) { rstatus_t status; @@ -1438,7 +1438,7 @@ conf_set_string(struct conf *cf, const struct command *cmd, void *conf) return CONF_OK; } -char * +const char * conf_set_listen(struct conf *cf, const struct command *cmd, void *conf) { rstatus_t status; @@ -1527,7 +1527,7 @@ conf_set_listen(struct conf *cf, const struct command *cmd, void *conf) return CONF_OK; } -char * +const char * conf_add_server(struct conf *cf, const struct command *cmd, void *conf) { rstatus_t status; @@ -1537,7 +1537,7 @@ conf_add_server(struct conf *cf, const struct command *cmd, void *conf) uint8_t *p, *q, *start; uint8_t *pname, *addr, *port, *weight, *name; uint32_t k, delimlen, pnamelen, addrlen, portlen, weightlen, namelen; - char delim[] = " ::"; + const char *const delim = " ::"; p = conf; a = (struct array *)(p + cmd->offset); @@ -1667,7 +1667,7 @@ conf_add_server(struct conf *cf, const struct command *cmd, void *conf) return CONF_OK; } -char * +const char * conf_set_num(struct conf *cf, const struct command *cmd, void *conf) { uint8_t *p; @@ -1693,7 +1693,7 @@ conf_set_num(struct conf *cf, const struct command *cmd, void *conf) return CONF_OK; } -char * +const char * conf_set_bool(struct conf *cf, const struct command *cmd, void *conf) { uint8_t *p; @@ -1722,7 +1722,7 @@ conf_set_bool(struct conf *cf, const struct command *cmd, void *conf) return CONF_OK; } -char * +const char * conf_set_hash(struct conf *cf, const struct command *cmd, void *conf) { uint8_t *p; @@ -1752,7 +1752,7 @@ conf_set_hash(struct conf *cf, const struct command *cmd, void *conf) return "is not a valid hash"; } -char * +const char * conf_set_distribution(struct conf *cf, const struct command *cmd, void *conf) { uint8_t *p; @@ -1782,7 +1782,7 @@ conf_set_distribution(struct conf *cf, const struct command *cmd, void *conf) return "is not a valid distribution"; } -char * +const char * conf_set_hashtag(struct conf *cf, const struct command *cmd, void *conf) { rstatus_t status; diff --git a/src/nc_conf.h b/src/nc_conf.h index 44494f35..6f861949 100644 --- a/src/nc_conf.h +++ b/src/nc_conf.h @@ -117,20 +117,20 @@ struct conf { struct command { struct string name; - char *(*set)(struct conf *cf, const struct command *cmd, void *data); + const char *(*set)(struct conf *cf, const struct command *cmd, void *data); int offset; }; #define null_command { null_string, NULL, 0 } -char *conf_set_string(struct conf *cf, const struct command *cmd, void *conf); -char *conf_set_listen(struct conf *cf, const struct command *cmd, void *conf); -char *conf_add_server(struct conf *cf, const struct command *cmd, void *conf); -char *conf_set_num(struct conf *cf, const struct command *cmd, void *conf); -char *conf_set_bool(struct conf *cf, const struct command *cmd, void *conf); -char *conf_set_hash(struct conf *cf, const struct command *cmd, void *conf); -char *conf_set_distribution(struct conf *cf, const struct command *cmd, void *conf); -char *conf_set_hashtag(struct conf *cf, const struct command *cmd, void *conf); +const char *conf_set_string(struct conf *cf, const struct command *cmd, void *conf); +const char *conf_set_listen(struct conf *cf, const struct command *cmd, void *conf); +const char *conf_add_server(struct conf *cf, const struct command *cmd, void *conf); +const char *conf_set_num(struct conf *cf, const struct command *cmd, void *conf); +const char *conf_set_bool(struct conf *cf, const struct command *cmd, void *conf); +const char *conf_set_hash(struct conf *cf, const struct command *cmd, void *conf); +const char *conf_set_distribution(struct conf *cf, const struct command *cmd, void *conf); +const char *conf_set_hashtag(struct conf *cf, const struct command *cmd, void *conf); rstatus_t conf_server_each_transform(void *elem, void *data); rstatus_t conf_pool_each_transform(void *elem, void *data); diff --git a/src/nc_message.c b/src/nc_message.c index 49d722f7..3549a9a3 100644 --- a/src/nc_message.c +++ b/src/nc_message.c @@ -454,7 +454,7 @@ msg_type_string(msg_type_t type) bool msg_empty(const struct msg *msg) { - return msg->mlen == 0 ? true : false; + return msg->mlen == 0; } uint32_t diff --git a/src/nc_string.c b/src/nc_string.c index 31637c8e..dffaeafd 100644 --- a/src/nc_string.c +++ b/src/nc_string.c @@ -61,7 +61,7 @@ string_empty(const struct string *str) { ASSERT((str->len == 0 && str->data == NULL) || (str->len != 0 && str->data != NULL)); - return str->len == 0 ? true : false; + return str->len == 0; } rstatus_t @@ -108,10 +108,11 @@ string_compare(const struct string *s1, const struct string *s2) return nc_strncmp(s1->data, s2->data, s1->len); } +static const char *const hex = "0123456789abcdef"; + static char * _safe_utoa(int _base, uint64_t val, char *buf) { - char hex[] = "0123456789abcdef"; uint32_t base = (uint32_t) _base; *buf-- = 0; do { @@ -123,7 +124,6 @@ _safe_utoa(int _base, uint64_t val, char *buf) static char * _safe_itoa(int base, int64_t val, char *buf) { - char hex[] = "0123456789abcdef"; char *orig_buf = buf; const int32_t is_neg = (val < 0); *buf-- = 0; diff --git a/src/proto/nc_redis.c b/src/proto/nc_redis.c index ebebddc0..1fe4f81c 100644 --- a/src/proto/nc_redis.c +++ b/src/proto/nc_redis.c @@ -3127,7 +3127,7 @@ redis_handle_auth_req(struct msg *req, struct msg *rsp) key = kpos->start; keylen = (uint32_t)(kpos->end - kpos->start); valid = (keylen == pool->redis_auth.len) && - (memcmp(pool->redis_auth.data, key, keylen) == 0) ? true : false; + (memcmp(pool->redis_auth.data, key, keylen) == 0); if (valid) { conn->authenticated = 1; return msg_append(rsp, rsp_ok.data, rsp_ok.len); From 219d16776f9b3a7aca6a0855dc888a1a67e3121f Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Fri, 2 Jul 2021 20:47:05 -0400 Subject: [PATCH 46/69] Add const qualifier --- src/nc_conf.c | 23 ++++++++++++----------- src/nc_message.c | 4 ++-- src/test_all.c | 2 +- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/nc_conf.c b/src/nc_conf.c index e273c773..32470236 100644 --- a/src/nc_conf.c +++ b/src/nc_conf.c @@ -113,6 +113,9 @@ static const struct command conf_commands[] = { null_command }; +static const struct string true_str = string("true"); +static const struct string false_str = string("false"); + static void conf_server_init(struct conf_server *cs) { @@ -175,7 +178,7 @@ conf_server_each_transform(void *elem, void *data) } static rstatus_t -conf_pool_init(struct conf_pool *cp, struct string *name) +conf_pool_init(struct conf_pool *cp, const struct string *name) { rstatus_t status; @@ -1419,7 +1422,8 @@ conf_set_string(struct conf *cf, const struct command *cmd, void *conf) { rstatus_t status; uint8_t *p; - struct string *field, *value; + struct string *field; + const struct string *value; p = conf; field = (struct string *)(p + cmd->offset); @@ -1672,7 +1676,7 @@ conf_set_num(struct conf *cf, const struct command *cmd, void *conf) { uint8_t *p; int num, *np; - struct string *value; + const struct string *value; p = conf; np = (int *)(p + cmd->offset); @@ -1698,7 +1702,7 @@ conf_set_bool(struct conf *cf, const struct command *cmd, void *conf) { uint8_t *p; int *bp; - struct string *value, true_str, false_str; + const struct string *value; p = conf; bp = (int *)(p + cmd->offset); @@ -1708,8 +1712,6 @@ conf_set_bool(struct conf *cf, const struct command *cmd, void *conf) } value = array_top(&cf->arg); - string_set_text(&true_str, "true"); - string_set_text(&false_str, "false"); if (string_compare(value, &true_str) == 0) { *bp = 1; @@ -1727,8 +1729,7 @@ conf_set_hash(struct conf *cf, const struct command *cmd, void *conf) { uint8_t *p; hash_type_t *hp; - struct string *value; - const struct string *hash; + const struct string *value, *hash; p = conf; hp = (hash_type_t *)(p + cmd->offset); @@ -1757,8 +1758,7 @@ conf_set_distribution(struct conf *cf, const struct command *cmd, void *conf) { uint8_t *p; dist_type_t *dp; - struct string *value; - const struct string *dist; + const struct string *value, *dist; p = conf; dp = (dist_type_t *)(p + cmd->offset); @@ -1787,7 +1787,8 @@ conf_set_hashtag(struct conf *cf, const struct command *cmd, void *conf) { rstatus_t status; uint8_t *p; - struct string *field, *value; + struct string *field; + const struct string *value; p = conf; field = (struct string *)(p + cmd->offset); diff --git a/src/nc_message.c b/src/nc_message.c index 3549a9a3..f5110bd1 100644 --- a/src/nc_message.c +++ b/src/nc_message.c @@ -332,8 +332,8 @@ msg_get_error(bool redis, err_t err) struct msg *msg; struct mbuf *mbuf; int n; - char *errstr = err ? strerror(err) : "unknown"; - char *protstr = redis ? "-ERR" : "SERVER_ERROR"; + const char *errstr = err ? strerror(err) : "unknown"; + const char *protstr = redis ? "-ERR" : "SERVER_ERROR"; msg = _msg_get(); if (msg == NULL) { diff --git a/src/test_all.c b/src/test_all.c index f862b54d..9a998bae 100644 --- a/src/test_all.c +++ b/src/test_all.c @@ -47,7 +47,7 @@ static void test_hash_algorithms(void) { } static void test_config_parsing(void) { - char* conf_file = "../conf/nutcracker.yml"; + const char* conf_file = "../conf/nutcracker.yml"; struct conf * conf = conf_create(conf_file); if (conf == NULL) { printf("FAIL could not parse %s (this test should be run within src/ folder)\n", conf_file); From b7177baf46f176ca2e20529fa6f02e97b2c6ef4f Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Fri, 2 Jul 2021 20:55:24 -0400 Subject: [PATCH 47/69] Use the renamed redis repo url in CI docker build --- ci/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/Dockerfile b/ci/Dockerfile index 05b3f1d4..86e1b5dc 100644 --- a/ci/Dockerfile +++ b/ci/Dockerfile @@ -30,7 +30,7 @@ RUN pip3.6 install nose && \ # RUN yum install -y redis redis-sentinel ARG REDIS_VER=3.2.11 -RUN wget https://github.com/antirez/redis/archive/$REDIS_VER.tar.gz && \ +RUN wget https://github.com/redis/redis/archive/$REDIS_VER.tar.gz && \ tar zxvf $REDIS_VER.tar.gz && \ pushd redis-$REDIS_VER && \ make install && \ From a5e58a437219160d5fc62fa62c66c2d480d12320 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Fri, 2 Jul 2021 21:52:06 -0400 Subject: [PATCH 48/69] Log the async event backend used in the version/help output --- src/nc.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/nc.c b/src/nc.c index 4668a3a5..0d606bad 100644 --- a/src/nc.c +++ b/src/nc.c @@ -551,7 +551,22 @@ main(int argc, char **argv) } if (show_version) { - log_stderr("This is nutcracker-%s" CRLF, NC_VERSION_STRING); + log_stderr("This is nutcracker-%s", NC_VERSION_STRING); +#if NC_HAVE_EPOLL + log_stderr("async event backend: epoll"); +#elif NC_HAVE_KQUEUE + log_stderr("async event backend: kqueue"); +#elif NC_HAVE_EVENT_PORTS + log_stderr("async event backend: event_ports"); +#else + log_stderr("async event backend: unknown"); +#endif +#if HAVE_ASSERT_PANIC || HAVE_ASSERT_LOG + log_stderr("debugging assertions are enabled (--enable-debug=yes|full), nutcracker may be less efficient"); +#endif + // Log a blank line after the version + log_stderr(""); + if (show_help) { nc_show_usage(); } From 60252e1b971d8255e9e19e58c4548ba8b44e0c94 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Fri, 2 Jul 2021 21:56:49 -0400 Subject: [PATCH 49/69] Skip hashing and dispatching keys for single server pools The computed index would always be 0. --- src/nc_server.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/nc_server.c b/src/nc_server.c index 60dd15b5..dab6a79b 100644 --- a/src/nc_server.c +++ b/src/nc_server.c @@ -647,10 +647,16 @@ uint32_t server_pool_idx(const struct server_pool *pool, const uint8_t *key, uint32_t keylen) { uint32_t hash, idx; + uint32_t nserver = array_n(&pool->server); - ASSERT(array_n(&pool->server) != 0); + ASSERT(nserver != 0); ASSERT(key != NULL); + if (nserver == 1) { + /* Optimization: Skip hashing and dispatching for pools with only one server */ + return 0; + } + /* * If hash_tag: is configured for this server pool, we use the part of * the key within the hash tag as an input to the distributor. Otherwise From da3c4b45961da2d33696ca7038d6887b646c45f0 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Fri, 2 Jul 2021 21:59:12 -0400 Subject: [PATCH 50/69] Update ChangeLog --- ChangeLog | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 348bb998..8cf11470 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,5 @@ 2021-??-?? Tyson Andre - * twemproxy: version 0.4.2 release (dev) + * twemproxy: version 0.5.0 release (dev) Fix parsing of redis error response for error type with no space, add tests (tyson, tom dalton) Update integration tests, add C unit test suite for 'make check' (tyson) @@ -23,6 +23,12 @@ Upgrade from libyaml 0.1.4 to 0.2.5 (tyson) Fix compiler warnings about wrong conversion specifiers in format strings for logging (tyson) + Log the async backend used and any debug options in the + '--help'/'--version' output. + Add support for many more new redis commands and updates to existing + redis commands (tyson) + Optimization: Skip hashing and choosing server index when a pool has + exactly one server (tyson) 2015-22-06 Manju Rajashekhar * twemproxy: version 0.4.1 release From 50b6c8d48b8ddf60bcd5ba54f9dd7a5a6a203107 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Sat, 3 Jul 2021 08:31:08 -0400 Subject: [PATCH 51/69] Avoid warning about implicit loss of precision in clang --- src/nc_conf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/nc_conf.c b/src/nc_conf.c index 32470236..c4e48ddb 100644 --- a/src/nc_conf.c +++ b/src/nc_conf.c @@ -1745,7 +1745,7 @@ conf_set_hash(struct conf *cf, const struct command *cmd, void *conf) continue; } - *hp = hash - hash_strings; + *hp = (hash_type_t)(hash - hash_strings); return CONF_OK; } @@ -1774,7 +1774,7 @@ conf_set_distribution(struct conf *cf, const struct command *cmd, void *conf) continue; } - *dp = dist - dist_strings; + *dp = (dist_type_t)(dist - dist_strings); return CONF_OK; } From 84733fc875c61dffd0a377e4b5eaa2284338bc7c Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Sat, 3 Jul 2021 09:35:31 -0400 Subject: [PATCH 52/69] Support memcache 'version' request, add memcache tests And update documentation --- .github/workflows/main.yml | 4 ++- ChangeLog | 2 ++ notes/debug.txt | 6 ++--- notes/memcache.md | 16 ++++++++---- src/nc_message.c | 18 ++++++++++++++ src/nc_message.h | 3 +++ src/proto/nc_memcache.c | 18 ++++++++++++-- src/proto/nc_redis.c | 22 ++-------------- src/test_all.c | 51 ++++++++++++++++++++++++++++++-------- 9 files changed, 98 insertions(+), 42 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1b141dc3..cb4034df 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -22,13 +22,15 @@ jobs: # See https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#using-environment-variables-in-a-matrix strategy: + # Run to completion even if one redis version has failures + fail-fast: false matrix: include: - REDIS_VER: 3.0.7 - REDIS_VER: 3.2.13 - REDIS_VER: 4.0.14 - REDIS_VER: 5.0.12 - - REDIS_VER: 6.2.1 + - REDIS_VER: 6.2.4 # Steps represent a sequence of tasks that will be executed as part of the job steps: diff --git a/ChangeLog b/ChangeLog index 8cf11470..a1c22ee7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -29,6 +29,8 @@ redis commands (tyson) Optimization: Skip hashing and choosing server index when a pool has exactly one server (tyson) + Support memcache 'version' requests by proxying the request to a single + backend memcache server. (tyson) 2015-22-06 Manju Rajashekhar * twemproxy: version 0.4.1 release diff --git a/notes/debug.txt b/notes/debug.txt index a746baf1..176fa338 100644 --- a/notes/debug.txt +++ b/notes/debug.txt @@ -109,9 +109,9 @@ EPOLLET = (1 << 31) /* opcodes */ - EPOLL_CTL_ADD = 1 /* add a file decriptor to the interface */ - EPOLL_CTL_DEL = 2 /* remove a file decriptor from the interface */ - EPOLL_CTL_MOD = 3 /* change file decriptor epoll_event structure */ + EPOLL_CTL_ADD = 1 /* add a file descriptor to the interface */ + EPOLL_CTL_DEL = 2 /* remove a file descriptor from the interface */ + EPOLL_CTL_MOD = 3 /* change file descriptor epoll_event structure */ - kqueue (bsd) diff --git a/notes/memcache.md b/notes/memcache.md index 5c42aaff..f25a1149 100644 --- a/notes/memcache.md +++ b/notes/memcache.md @@ -30,7 +30,7 @@ * - uint8_t[]: data block * - uint64_t -#### Ascii Retrival Command +#### Ascii Retrieval Command +-------------------+------------+--------------------------------------------------------------------------+ | Command | Supported? | Format | @@ -68,11 +68,15 @@ +-------------------+------------+--------------------------------------------------------------------------+ | touch | Yes | touch [noreply]\r\n | +-------------------+------------+--------------------------------------------------------------------------+ + | gat | Planned | gat +\r\n | + +-------------------+------------+--------------------------------------------------------------------------+ + | gats | Planned | gats +\r\n | + +-------------------+------------+--------------------------------------------------------------------------+ | quit | Yes | quit\r\n | +-------------------+------------+--------------------------------------------------------------------------+ | flush_all | No | flush_all [] [noreply]\r\n | +-------------------+------------+--------------------------------------------------------------------------+ - | version | No | version\r\n | + | version | Yes | version\r\n | +-------------------+------------+--------------------------------------------------------------------------+ | verbosity | No | verbosity [noreply]\r\n | +-------------------+------------+--------------------------------------------------------------------------+ @@ -112,7 +116,7 @@ NOT_FOUND\r\n DELETED\r\n -#### Retrival Responses +#### Retrieval Responses END\r\n VALUE []\r\n\r\nEND\r\n @@ -158,5 +162,7 @@ - ascii protocol is easier to debug - think using strace or tcpdump to see protocol on the wire, Or using telnet or netcat or socat to build memcache requests and responses - http://stackoverflow.com/questions/2525188/are-binary-protocols-dead - - http://news.ycombinator.com/item?id=1712788 + https://stackoverflow.com/questions/2525188/are-binary-protocols-dead + - nutcracker will support the more efficient meta-text protocol after the protocol + is marked as stable and memcached servers using it have had several releases. + - https://news.ycombinator.com/item?id=1712788 diff --git a/src/nc_message.c b/src/nc_message.c index f5110bd1..cf53ed46 100644 --- a/src/nc_message.c +++ b/src/nc_message.c @@ -892,3 +892,21 @@ msg_send(struct context *ctx, struct conn *conn) return NC_OK; } + +/* + * Set a placeholder key for a command with no key that is forwarded to an + * arbitrary backend. + */ +bool msg_set_placeholder_key(struct msg *r) +{ + struct keypos *kpos; + ASSERT(array_n(r->keys) == 0); + kpos = array_push(r->keys); + if (kpos == NULL) { + return false; + } + kpos->start = (uint8_t *)"placeholder"; + kpos->end = kpos->start + sizeof("placeholder") - 1; + return true; +} + diff --git a/src/nc_message.h b/src/nc_message.h index 07757947..26a063bc 100644 --- a/src/nc_message.h +++ b/src/nc_message.h @@ -50,6 +50,7 @@ typedef enum msg_parse_result { ACTION( REQ_MC_DECR ) \ ACTION( REQ_MC_TOUCH ) /* memcache touch request */ \ ACTION( REQ_MC_QUIT ) /* memcache quit request */ \ + ACTION( REQ_MC_VERSION ) /* memcache version request */ \ ACTION( RSP_MC_NUM ) /* memcache arithmetic response */ \ ACTION( RSP_MC_STORED ) /* memcache cas and storage response */ \ ACTION( RSP_MC_NOT_STORED ) \ @@ -59,6 +60,7 @@ typedef enum msg_parse_result { ACTION( RSP_MC_VALUE ) \ ACTION( RSP_MC_DELETED ) /* memcache delete response */ \ ACTION( RSP_MC_TOUCHED ) /* memcache touch response */ \ + ACTION( RSP_MC_VERSION ) /* memcache version response */ \ ACTION( RSP_MC_ERROR ) /* memcache error responses */ \ ACTION( RSP_MC_CLIENT_ERROR ) \ ACTION( RSP_MC_SERVER_ERROR ) \ @@ -322,6 +324,7 @@ struct mbuf *msg_ensure_mbuf(struct msg *msg, size_t len); rstatus_t msg_append(struct msg *msg, const uint8_t *pos, size_t n); rstatus_t msg_prepend(struct msg *msg, const uint8_t *pos, size_t n); rstatus_t msg_prepend_format(struct msg *msg, const char *fmt, ...); +bool msg_set_placeholder_key(struct msg *r); struct msg *req_get(struct conn *conn); void req_put(struct msg *msg); diff --git a/src/proto/nc_memcache.c b/src/proto/nc_memcache.c index 0fee3cc6..51a89f9c 100644 --- a/src/proto/nc_memcache.c +++ b/src/proto/nc_memcache.c @@ -320,6 +320,14 @@ memcache_parse_req(struct msg *r) break; } + if (str7cmp(m, 'v', 'e', 'r', 's', 'i', 'o', 'n')) { + r->type = MSG_REQ_MC_VERSION; + if (!msg_set_placeholder_key(r)) { + goto enomem; + } + break; + } + break; } @@ -342,6 +350,7 @@ memcache_parse_req(struct msg *r) state = SW_SPACES_BEFORE_KEY; break; + case MSG_REQ_MC_VERSION: case MSG_REQ_MC_QUIT: p = p - 1; /* go back by 1 byte */ state = SW_CRLF; @@ -402,11 +411,10 @@ memcache_parse_req(struct msg *r) state = SW_SPACES_BEFORE_FLAGS; } else if (memcache_arithmetic(r) || memcache_touch(r) ) { state = SW_SPACES_BEFORE_NUM; - } else if (memcache_delete(r)) { - state = SW_RUNTO_CRLF; } else if (memcache_retrieval(r)) { state = SW_SPACES_BEFORE_KEYS; } else { + /* delete, etc. */ state = SW_RUNTO_CRLF; } @@ -917,6 +925,11 @@ memcache_parse_rsp(struct msg *r) break; } + if (str7cmp(m, 'V', 'E', 'R', 'S', 'I', 'O', 'N')) { + r->type = MSG_RSP_MC_VERSION; + break; + } + break; case 9: @@ -976,6 +989,7 @@ memcache_parse_rsp(struct msg *r) case MSG_RSP_MC_CLIENT_ERROR: case MSG_RSP_MC_SERVER_ERROR: + case MSG_RSP_MC_VERSION: state = SW_RUNTO_CRLF; break; diff --git a/src/proto/nc_redis.c b/src/proto/nc_redis.c index 1fe4f81c..6f2a030f 100644 --- a/src/proto/nc_redis.c +++ b/src/proto/nc_redis.c @@ -397,24 +397,6 @@ redis_error(const struct msg *r) return false; } -/* - * Set a placeholder key for a command with no key that is forwarded to an - * arbitrary backend. - */ -static bool -set_placeholder_key(struct msg *r) -{ - struct keypos *kpos; - ASSERT(array_n(r->keys) == 0); - kpos = array_push(r->keys); - if (kpos == NULL) { - return false; - } - kpos->start = (uint8_t *)"placeholder"; - kpos->end = kpos->start + sizeof("placeholder") - 1; - return true; -} - /* * Reference: http://redis.io/topics/protocol * @@ -1021,7 +1003,7 @@ redis_parse_req(struct msg *r) if (str6icmp(m, 'l', 'o', 'l', 'w', 'u', 't')) { r->type = MSG_REQ_REDIS_LOLWUT; - if (!set_placeholder_key(r)) { + if (!msg_set_placeholder_key(r)) { goto enomem; } break; @@ -1117,7 +1099,7 @@ redis_parse_req(struct msg *r) if (str7icmp(m, 'c', 'o', 'm', 'm', 'a', 'n', 'd')) { r->type = MSG_REQ_REDIS_COMMAND; - if (!set_placeholder_key(r)) { + if (!msg_set_placeholder_key(r)) { goto enomem; } break; diff --git a/src/test_all.c b/src/test_all.c index 9a998bae..cd51a2d9 100644 --- a/src/test_all.c +++ b/src/test_all.c @@ -178,6 +178,7 @@ static void test_memcache_parse_rsp_success_case(const char* data, int expected) struct conn fake_client = {0}; struct mbuf *m = mbuf_get(); const int SW_START = 0; /* Same as SW_START in memcache_parse_rsp */ + const int original_failures = failures; struct msg *rsp = msg_get(&fake_client, 0, 0); rsp->state = SW_START; @@ -200,21 +201,31 @@ static void test_memcache_parse_rsp_success_case(const char* data, int expected) msg_put(rsp); /* mbuf_put(m); */ + if (original_failures != failures) { + printf("Saw test failures for test_memcache_parse_rsp_success_case (%s)\n", + data); + } } static void test_memcache_parse_rsp_success(void) { - test_memcache_parse_rsp_success_case("END\r\n", MSG_RSP_MC_END); + test_memcache_parse_rsp_success_case("0\r\n", MSG_RSP_MC_NUM); + /* The number returned by the server may be space-padded at the end */ + test_memcache_parse_rsp_success_case("0 \r\n", MSG_RSP_MC_NUM); + test_memcache_parse_rsp_success_case("9223372036854775807\r\n", MSG_RSP_MC_NUM); test_memcache_parse_rsp_success_case("DELETED\r\n", MSG_RSP_MC_DELETED); - test_memcache_parse_rsp_success_case("TOUCHED\r\n", MSG_RSP_MC_TOUCHED); - test_memcache_parse_rsp_success_case("STORED\r\n", MSG_RSP_MC_STORED); - test_memcache_parse_rsp_success_case("EXISTS\r\n", MSG_RSP_MC_EXISTS); + test_memcache_parse_rsp_success_case("END\r\n", MSG_RSP_MC_END); test_memcache_parse_rsp_success_case("ERROR\r\n", MSG_RSP_MC_ERROR); + test_memcache_parse_rsp_success_case("EXISTS\r\n", MSG_RSP_MC_EXISTS); test_memcache_parse_rsp_success_case("NOT_FOUND\r\n", MSG_RSP_MC_NOT_FOUND); + test_memcache_parse_rsp_success_case("STORED\r\n", MSG_RSP_MC_STORED); + test_memcache_parse_rsp_success_case("TOUCHED\r\n", MSG_RSP_MC_TOUCHED); test_memcache_parse_rsp_success_case("VALUE key 0 2\r\nab\r\nEND\r\n", MSG_RSP_MC_END); test_memcache_parse_rsp_success_case("VALUE key 0 2\r\nab\r\nVALUE key2 0 2\r\ncd\r\nEND\r\n", MSG_RSP_MC_END); + test_memcache_parse_rsp_success_case("VERSION 1.5.22\r\n", MSG_RSP_MC_VERSION); } static void test_memcache_parse_req_success_case(const char* data, int expected) { + const int original_failures = failures; struct conn fake_client = {0}; struct mbuf *m = mbuf_get(); const int SW_START = 0; /* Same as SW_START in memcache_parse_req */ @@ -240,23 +251,41 @@ static void test_memcache_parse_req_success_case(const char* data, int expected) msg_put(req); /* mbuf_put(m); */ + if (original_failures != failures) { + printf("Saw test failures for test_memcache_parse_req_success_case (%s)\n", + data); + } } static void test_memcache_parse_req_success(void) { - test_memcache_parse_req_success_case("get key\r\n", MSG_REQ_MC_GET); - test_memcache_parse_req_success_case("gets u\r\n", MSG_REQ_MC_GETS); - test_memcache_parse_req_success_case("get a b xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\n", MSG_REQ_MC_GET); - test_memcache_parse_req_success_case("set key 0 600 5\r\nvalue\r\n", MSG_REQ_MC_SET); - test_memcache_parse_req_success_case("set key 0 5 10 noreply\r\nvalue12345\r\n", MSG_REQ_MC_SET); test_memcache_parse_req_success_case("add key 0 600 5\r\nvalue\r\n", MSG_REQ_MC_ADD); - test_memcache_parse_req_success_case("replace key 0 600 5\r\nvalue\r\n", MSG_REQ_MC_REPLACE); + /* Can add any binary data such as '\n' */ + test_memcache_parse_req_success_case("add key 0 0 1 noreply\r\n\n\r\n", MSG_REQ_MC_ADD); test_memcache_parse_req_success_case("append key 0 600 5\r\nvalue\r\n", MSG_REQ_MC_APPEND); - test_memcache_parse_req_success_case("prepend key 0 600 5\r\nvalue\r\n", MSG_REQ_MC_PREPEND); + test_memcache_parse_req_success_case("append key 0 1 0 noreply\r\n\r\n", MSG_REQ_MC_APPEND); test_memcache_parse_req_success_case("cas key 0 600 5 123456\r\nvalue\r\n", MSG_REQ_MC_CAS); + test_memcache_parse_req_success_case("cas key 0 1 1 1 noreply\r\nx\r\n", MSG_REQ_MC_CAS); + test_memcache_parse_req_success_case("decr key 0\r\n", MSG_REQ_MC_DECR); + test_memcache_parse_req_success_case("decr key 0 noreply\r\n", MSG_REQ_MC_DECR); + test_memcache_parse_req_success_case("delete a noreply\r\n", MSG_REQ_MC_DELETE); test_memcache_parse_req_success_case("delete key\r\n", MSG_REQ_MC_DELETE); + /* TODO https://github.com/twitter/twemproxy/issues/631 gat/gats */ + /* test_memcache_parse_req_success_case("gat 3600 key\r\n", MSG_REQ_MC_GAT); */ + test_memcache_parse_req_success_case("get a b xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\n", MSG_REQ_MC_GET); + test_memcache_parse_req_success_case("get key\r\n", MSG_REQ_MC_GET); + test_memcache_parse_req_success_case("gets u\r\n", MSG_REQ_MC_GETS); test_memcache_parse_req_success_case("incr key 1\r\n", MSG_REQ_MC_INCR); + test_memcache_parse_req_success_case("incr key 9223372036854775807 noreply\r\n", MSG_REQ_MC_INCR); + test_memcache_parse_req_success_case("prepend key 0 600 5\r\nvalue\r\n", MSG_REQ_MC_PREPEND); + test_memcache_parse_req_success_case("prepend key 0 600 0 noreply\r\n\r\n", MSG_REQ_MC_PREPEND); test_memcache_parse_req_success_case("quit\r\n", MSG_REQ_MC_QUIT); + test_memcache_parse_req_success_case("replace key 0 600 5\r\nvalue\r\n", MSG_REQ_MC_REPLACE); + test_memcache_parse_req_success_case("replace key 0 9 0 noreply\r\n\r\n", MSG_REQ_MC_REPLACE); + test_memcache_parse_req_success_case("set key 0 5 10 noreply\r\nvalue12345\r\n", MSG_REQ_MC_SET); + test_memcache_parse_req_success_case("set key 0 600 5\r\nvalue\r\n", MSG_REQ_MC_SET); test_memcache_parse_req_success_case("touch key 12345\r\n", MSG_REQ_MC_TOUCH); + test_memcache_parse_req_success_case("touch key 12345 noreply\r\n", MSG_REQ_MC_TOUCH); + test_memcache_parse_req_success_case("version\r\n", MSG_REQ_MC_VERSION); } int main(int argc, char **argv) { From 848d7c1635ed8c6251a68fac67c3206cecec0878 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Sat, 3 Jul 2021 10:10:23 -0400 Subject: [PATCH 53/69] Test edge cases of parsing memcache/redis protocol --- src/proto/nc_redis.c | 11 +-- src/test_all.c | 174 ++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 173 insertions(+), 12 deletions(-) diff --git a/src/proto/nc_redis.c b/src/proto/nc_redis.c index 6f2a030f..a5ea210f 100644 --- a/src/proto/nc_redis.c +++ b/src/proto/nc_redis.c @@ -1960,7 +1960,6 @@ redis_parse_rsp(struct msg *r) SW_START, SW_STATUS, SW_ERROR, - SW_INTEGER, SW_INTEGER_START, SW_SIMPLE, SW_BULK, @@ -2014,8 +2013,8 @@ redis_parse_rsp(struct msg *r) case ':': r->type = MSG_RSP_REDIS_INTEGER; - p = p - 1; /* go back by 1 byte */ - state = SW_INTEGER; + r->integer = 0; + state = SW_INTEGER_START; break; case '$': @@ -2168,12 +2167,6 @@ redis_parse_rsp(struct msg *r) break; - case SW_INTEGER: - /* rsp_start <- p */ - state = SW_INTEGER_START; - r->integer = 0; - break; - case SW_SIMPLE: if (ch == CR) { ASSERT(r->rnarg > 0); diff --git a/src/test_all.c b/src/test_all.c index cd51a2d9..33743596 100644 --- a/src/test_all.c +++ b/src/test_all.c @@ -132,7 +132,7 @@ static void test_redis_parse_rsp_success_case(const char* data, int expected) { msg_put(rsp); /* mbuf_put(m); */ if (failures > original_failures) { - fprintf(stderr, "test_redis_parse_rsp_success_case failed for %s", data); + fprintf(stderr, "test_redis_parse_rsp_success_case failed for (%s)", data); } } @@ -174,6 +174,56 @@ static void test_redis_parse_rsp_success(void) { "-Bar\r\n", MSG_RSP_REDIS_MULTIBULK); /* array of 2 arrays */ } +static void test_redis_parse_rsp_failure_case(const char* data) { + int original_failures = failures; + struct conn fake_client = {0}; + struct mbuf *m = mbuf_get(); + const int SW_START = 0; /* Same as SW_START in redis_parse_rsp */ + + struct msg *rsp = msg_get(&fake_client, 0, 1); + rsp->state = SW_START; + rsp->token = NULL; + const size_t datalen = strlen(data); + + /* Copy data into the message */ + mbuf_copy(m, (const uint8_t*)data, datalen); + /* Insert a single buffer into the message mbuf header */ + STAILQ_INIT(&rsp->mhdr); + ASSERT(STAILQ_EMPTY(&rsp->mhdr)); + mbuf_insert(&rsp->mhdr, m); + rsp->pos = m->start; + errno = 0; + + redis_parse_rsp(rsp); + expect_same_ptr(m->start, rsp->pos, "redis_parse_rsp: expected rsp->pos to be m->start"); + expect_same_int(MSG_PARSE_ERROR, rsp->result, "redis_parse_rsp: expected MSG_PARSE_ERROR"); + expect_same_int(EINVAL, errno, "redis_parse_rsp: expected errno=EINVAL"); + + msg_put(rsp); + /* mbuf_put(m); */ + if (failures > original_failures) { + fprintf(stderr, "test_redis_parse_rsp_failure_case failed for (%s)", data); + } +} + + +/* Test support for https://redis.io/topics/protocol */ +static void test_redis_parse_rsp_failure(void) { + test_redis_parse_rsp_failure_case("*\r\n"); + test_redis_parse_rsp_failure_case(":x\r\n"); + test_redis_parse_rsp_failure_case("$6\r\nfoobarr\r\n"); + test_redis_parse_rsp_failure_case("$6\r\nfoobar\n\n"); + test_redis_parse_rsp_failure_case("$0\r\nx\r\n"); + test_redis_parse_rsp_failure_case("$0\n"); + test_redis_parse_rsp_failure_case("*2\r\n" + "*3\r\n" + ":1\r\n" + ":2\r\n" + ":3\r\n" + "*2\r\n" + "\r\n"); +} + static void test_memcache_parse_rsp_success_case(const char* data, int expected) { struct conn fake_client = {0}; struct mbuf *m = mbuf_get(); @@ -197,7 +247,11 @@ static void test_memcache_parse_rsp_success_case(const char* data, int expected) expect_same_ptr(m->last, rsp->pos, "memcache_parse_rsp: expected rsp->pos to be m->last"); expect_same_int(SW_START, rsp->state, "memcache_parse_rsp: expected state to be SW_START after parsing full buffer"); expect_same_int(expected, rsp->type, "memcache_parse_rsp: expected response type to be parsed"); - expect_same_int(0, fake_client.err, "redis_parse_req: expected no connection error"); + expect_same_int(0, fake_client.err, "memcache_parse_rsp: expected no connection error"); + expect_same_int(0, rsp->request, "memcache_parse_rsp: expected response"); + expect_same_int(0, rsp->error, "memcache_parse_rsp: expected no error"); + expect_same_int(0, rsp->swallow, "memcache_parse_rsp: expected swallow=0"); + expect_same_int(0, errno, "memcache_parse_rsp: expected errno=0"); msg_put(rsp); /* mbuf_put(m); */ @@ -224,11 +278,55 @@ static void test_memcache_parse_rsp_success(void) { test_memcache_parse_rsp_success_case("VERSION 1.5.22\r\n", MSG_RSP_MC_VERSION); } +static void test_memcache_parse_rsp_failure_case(const char* data) { + struct conn fake_client = {0}; + struct mbuf *m = mbuf_get(); + const int SW_START = 0; /* Same as SW_START in memcache_parse_rsp */ + const int original_failures = failures; + + struct msg *rsp = msg_get(&fake_client, 0, 0); + rsp->state = SW_START; + rsp->token = NULL; + const size_t datalen = strlen(data); + + /* Copy data into the message */ + mbuf_copy(m, (const uint8_t*)data, datalen); + /* Insert a single buffer into the message mbuf header */ + STAILQ_INIT(&rsp->mhdr); + ASSERT(STAILQ_EMPTY(&rsp->mhdr)); + mbuf_insert(&rsp->mhdr, m); + rsp->pos = m->start; + errno = 0; + + memcache_parse_rsp(rsp); + expect_same_ptr(m->start, rsp->pos, "memcache_parse_rsp: expected rsp->pos to be m->start"); + expect_same_int(0, rsp->type, "memcache_parse_rsp: expected response type to be parsed"); + expect_same_int(MSG_PARSE_ERROR, rsp->result, "memcache_parse_rsp: expected MSG_PARSE_ERROR"); + expect_same_int(EINVAL, errno, "memcache_parse_rsp: expected EINVAL"); + + msg_put(rsp); + /* mbuf_put(m); */ + if (original_failures != failures) { + printf("Saw test failures for test_memcache_parse_rsp_success_case (%s)\n", + data); + } +} + + +static void test_memcache_parse_rsp_failure(void) { + test_memcache_parse_rsp_failure_case("\r\n"); + test_memcache_parse_rsp_failure_case("ENDD\r\n"); + test_memcache_parse_rsp_failure_case("\r"); + test_memcache_parse_rsp_failure_case("-1\r\n"); +} + static void test_memcache_parse_req_success_case(const char* data, int expected) { const int original_failures = failures; struct conn fake_client = {0}; struct mbuf *m = mbuf_get(); const int SW_START = 0; /* Same as SW_START in memcache_parse_req */ + /* in the test cases, the substring noreply only occurs for valid noreply requests */ + const int expected_noreply = strstr(data, " noreply") != NULL; struct msg *req = msg_get(&fake_client, 1, 0); req->state = SW_START; @@ -247,7 +345,13 @@ static void test_memcache_parse_req_success_case(const char* data, int expected) expect_same_ptr(m->last, req->pos, "memcache_parse_req: expected req->pos to be m->last"); expect_same_int(SW_START, req->state, "memcache_parse_req: expected state to be SW_START after parsing full buffer"); expect_same_int(expected, req->type, "memcache_parse_req: expected response type to be parsed"); - expect_same_int(0, fake_client.err, "redis_parse_req: expected no connection error"); + expect_same_int(expected_noreply, req->noreply, "memcache_parse_req: unexpected noreply value"); + expect_same_int(0, req->noforward, "memcache_parse_req: unexpected noforward value"); + expect_same_int(1, req->request, "memcache_parse_req: expected request"); + expect_same_int(0, req->error, "memcache_parse_req: expected no error"); + expect_same_int(strstr(data, "quit\r\n") != NULL ? 1 : 0, req->quit, + "memcache_parse_req: unexpected quit value"); + expect_same_int(0, fake_client.err, "memcache_parse_req: expected no connection error"); msg_put(req); /* mbuf_put(m); */ @@ -288,6 +392,66 @@ static void test_memcache_parse_req_success(void) { test_memcache_parse_req_success_case("version\r\n", MSG_REQ_MC_VERSION); } +static void test_memcache_parse_req_failure_case(const char* data) { + const int original_failures = failures; + struct conn fake_client = {0}; + struct mbuf *m = mbuf_get(); + const int SW_START = 0; /* Same as SW_START in memcache_parse_req */ + + struct msg *req = msg_get(&fake_client, 1, 0); + req->state = SW_START; + req->token = NULL; + const size_t datalen = strlen(data); + + /* Copy data into the message */ + mbuf_copy(m, (const uint8_t*)data, datalen); + /* Insert a single buffer into the message mbuf header */ + STAILQ_INIT(&req->mhdr); + ASSERT(STAILQ_EMPTY(&req->mhdr)); + mbuf_insert(&req->mhdr, m); + req->pos = m->start; + errno = 0; + + memcache_parse_req(req); + + expect_same_ptr(m->start, req->pos, "memcache_parse_rsp: expected rsp->pos to be m->start"); + expect_same_int(MSG_PARSE_ERROR, req->result, "memcache_parse_rsp: expected MSG_PARSE_ERROR"); + expect_same_int(EINVAL, errno, "memcache_parse_rsp: expected EINVAL"); + + msg_put(req); + /* mbuf_put(m); */ + if (original_failures != failures) { + printf("Saw test failures for test_memcache_parse_req_success_case (%s)\n", + data); + } +} + +static void test_memcache_parse_req_failure(void) { + /* key length exceeds 250 */ + test_memcache_parse_req_failure_case("add xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 0 600 5\r\nvalue\r\n"); + test_memcache_parse_req_failure_case("add\r\n"); + test_memcache_parse_req_failure_case("get\r\n"); + test_memcache_parse_req_failure_case("get \r\n"); + test_memcache_parse_req_failure_case("get key\r\r"); + test_memcache_parse_req_failure_case("append key 0 600\r\n"); + test_memcache_parse_req_failure_case("cas key 0 600 5 \r\n"); + test_memcache_parse_req_failure_case("decr key 0 extra\r\n"); + test_memcache_parse_req_failure_case("decr key\r\n"); + test_memcache_parse_req_failure_case("delete \r\n"); + test_memcache_parse_req_failure_case("DELETE key\r\n"); + test_memcache_parse_req_failure_case("gets\r\n"); + test_memcache_parse_req_failure_case("incr\r\n"); + test_memcache_parse_req_failure_case("incr key 0notanint\r\n"); + test_memcache_parse_req_failure_case("prepend key 0 600 5\r\nvalueextra\r\n"); + test_memcache_parse_req_failure_case("prepend key 0 600 0 noreply\r\r"); + /* test_memcache_parse_req_failure_case("quit unknownarg\r\n"); */ + test_memcache_parse_req_failure_case("replace key 0 9 ?\r\n\r\n"); + test_memcache_parse_req_failure_case("set key 0 5 10 noreply\r\nvalue12345\r\r"); + test_memcache_parse_req_failure_case("set key 0 600 5\r\nvaluee\r\n"); + test_memcache_parse_req_failure_case("touch missingarg\r\n"); + test_memcache_parse_req_failure_case("version extra\r\n"); +} + int main(int argc, char **argv) { struct instance nci = {0}; nci.mbuf_chunk_size = MBUF_SIZE; @@ -301,6 +465,10 @@ int main(int argc, char **argv) { test_redis_parse_req_success(); test_memcache_parse_rsp_success(); test_memcache_parse_req_success(); + printf("Starting tests of request/response parsing failures\n"); + test_memcache_parse_rsp_failure(); + test_memcache_parse_req_failure(); + test_redis_parse_rsp_failure(); printf("%d successes, %d failures\n", successes, failures); msg_deinit(); From 4bd87c0f7e0e87b2a4062402119046f7d2c5117e Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Sat, 3 Jul 2021 15:00:52 -0400 Subject: [PATCH 54/69] Update the changelog --- ChangeLog | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index a1c22ee7..e64a356f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2021-??-?? Tyson Andre * twemproxy: version 0.5.0 release (dev) + Add 'tcpkeepalive' pool boolean config flag setting + to enable tcp keepalive (charsyam, manju) + Support redis bitpos command (clark kang) Fix parsing of redis error response for error type with no space, add tests (tyson, tom dalton) Update integration tests, add C unit test suite for 'make check' (tyson) @@ -11,6 +14,7 @@ sharding requests to backend services to improve sharding performance and fix potential invalid memory access when all hosts were ejected from a pool. (tyson) + Optimize performance of deletion of single redis keys (vincentve) Don't fragment memcache/redis get commands when they only have a single key (improves performance and error handling of single key case) (tyson) Don't let requests hang when there is a dns error when processing a @@ -30,7 +34,7 @@ Optimization: Skip hashing and choosing server index when a pool has exactly one server (tyson) Support memcache 'version' requests by proxying the request to a single - backend memcache server. (tyson) + backend memcache server to fetch the server version. (tyson) 2015-22-06 Manju Rajashekhar * twemproxy: version 0.4.1 release @@ -43,7 +47,6 @@ implemented support for parsing fine grained redis error response remove redundant conditional judgement in rbtree deletion (leo ma) fix bug mset has invalid pair (charsyam) - fix bug mset has invalid pair (charsyam) temp fix a core on kqueue (idning) support "touch" command for memcached (panmiaocai) fix redis parse rsp bug (charsyam) From f95c0ab7dcd2d098b77ad4f91bcce1b85a26cec5 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Sun, 4 Jul 2021 15:39:21 -0400 Subject: [PATCH 55/69] Fix possible crash copying malformed memcache value responses Closes #436 --- src/proto/nc_memcache.c | 43 +++++++++++++++++++++++++++-------------- 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/src/proto/nc_memcache.c b/src/proto/nc_memcache.c index 51a89f9c..d4c91273 100644 --- a/src/proto/nc_memcache.c +++ b/src/proto/nc_memcache.c @@ -1355,9 +1355,9 @@ memcache_fragment_retrieval(struct msg *r, uint32_t nserver, /* prepend get/gets */ if (r->type == MSG_REQ_MC_GET) { - status = msg_prepend(sub_msg, (uint8_t *)"get ", 4); + status = msg_prepend(sub_msg, (const uint8_t *)"get ", 4); } else if (r->type == MSG_REQ_MC_GETS) { - status = msg_prepend(sub_msg, (uint8_t *)"gets ", 5); + status = msg_prepend(sub_msg, (const uint8_t *)"gets ", 5); } if (status != NC_OK) { nc_free(sub_msgs); @@ -1365,7 +1365,7 @@ memcache_fragment_retrieval(struct msg *r, uint32_t nserver, } /* append \r\n */ - status = msg_append(sub_msg, (uint8_t *)CRLF, CRLF_LEN); + status = msg_append(sub_msg, (const uint8_t *)CRLF, CRLF_LEN); if (status != NC_OK) { nc_free(sub_msgs); return status; @@ -1472,7 +1472,8 @@ static rstatus_t memcache_copy_bulk(struct msg *dst, struct msg *src) { struct mbuf *mbuf, *nbuf; - uint8_t *p; + const uint8_t *p; + const uint8_t *last; uint32_t len = 0; uint32_t bytes = 0; uint32_t i = 0; @@ -1490,31 +1491,45 @@ memcache_copy_bulk(struct msg *dst, struct msg *src) return NC_OK; /* key not exists */ } p = mbuf->pos; + last = mbuf->last; /* - * get : VALUE key 0 len\r\nval\r\n - * gets: VALUE key 0 len cas\r\nval\r\n + * get : VALUE key flags len\r\nval\r\n + * gets: VALUE key flags len cas\r\nval\r\n */ ASSERT(*p == 'V'); - for (i = 0; i < 3; i++) { /* eat 'VALUE key 0 ' */ - for (; *p != ' ';) { - p++; + i = 0; + while (p < last) { /* eat 'VALUE key flags ' */ + if (*p == ' ') { + i++; + if (i >= 3) { + p++; + break; + } } p++; } len = 0; - for (; p < mbuf->last && isdigit(*p); p++) { + for (; p < last && isdigit(*p); p++) { len = len * 10 + (uint32_t)(*p - '0'); } - for (; p < mbuf->last && ('\r' != *p); p++) { /* eat cas for gets */ + for (; p < last && ('\r' != *p); p++) { /* eat cas for gets */ ; } len += CRLF_LEN * 2; len += (p - mbuf->pos); + if (p >= last) { + log_error("Saw memcache value response where header was not " + "parsed or header length %d unexpectedly exceeded mbuf size limit", + (int)(p - mbuf->pos)); + return NC_ERROR; + } + + bytes = len; /* copy len bytes to dst */ @@ -1564,8 +1579,8 @@ memcache_post_coalesce(struct msg *request) return; } - for (i = 0; i < array_n(request->keys); i++) { /* for each key */ - sub_msg = request->frag_seq[i]->peer; /* get it's peer response */ + for (i = 0; i < array_n(request->keys); i++) { /* for each key */ + sub_msg = request->frag_seq[i]->peer; /* get its peer response */ if (sub_msg == NULL) { response->owner->err = 1; return; @@ -1578,7 +1593,7 @@ memcache_post_coalesce(struct msg *request) } /* append END\r\n */ - status = msg_append(response, (uint8_t *)"END\r\n", 5); + status = msg_append(response, (const uint8_t *)"END\r\n", 5); if (status != NC_OK) { response->owner->err = 1; return; From 2d491790dfa1d1c6f579ac72059493222a0c3190 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Sun, 4 Jul 2021 16:17:28 -0400 Subject: [PATCH 56/69] Make error messages starting the stats server clearer Closes #618 --- ChangeLog | 1 + src/nc_stats.c | 9 +++++---- src/proto/nc_memcache.c | 1 + 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index e64a356f..72bb3e69 100644 --- a/ChangeLog +++ b/ChangeLog @@ -35,6 +35,7 @@ exactly one server (tyson) Support memcache 'version' requests by proxying the request to a single backend memcache server to fetch the server version. (tyson) + Make error messages for creating the stats server during startup clearer. (tyson) 2015-22-06 Manju Rajashekhar * twemproxy: version 0.4.1 release diff --git a/src/nc_stats.c b/src/nc_stats.c index 8937dea2..2ebc7588 100644 --- a/src/nc_stats.c +++ b/src/nc_stats.c @@ -831,24 +831,25 @@ stats_listen(struct stats *st) status = nc_set_reuseaddr(st->sd); if (status < 0) { - log_error("set reuseaddr on m %d failed: %s", st->sd, strerror(errno)); + log_error("set reuseaddr on m %d failed for stats server: %s", st->sd, strerror(errno)); return NC_ERROR; } status = bind(st->sd, (struct sockaddr *)&si.addr, si.addrlen); if (status < 0) { - log_error("bind on m %d to addr '%.*s:%u' failed: %s", st->sd, + log_error("bind on m %d to stats server addr '%.*s:%u' failed: %s", st->sd, st->addr.len, st->addr.data, st->port, strerror(errno)); return NC_ERROR; } status = listen(st->sd, SOMAXCONN); if (status < 0) { - log_error("listen on m %d failed: %s", st->sd, strerror(errno)); + log_error("listen on m %d for stats server '%.*s:%u' failed: %s", st->sd, + st->addr.len, st->addr.data, st->port, strerror(errno)); return NC_ERROR; } - log_debug(LOG_NOTICE, "m %d listening on '%.*s:%u'", st->sd, + log_debug(LOG_NOTICE, "m %d listening on stats server '%.*s:%u'", st->sd, st->addr.len, st->addr.data, st->port); return NC_OK; diff --git a/src/proto/nc_memcache.c b/src/proto/nc_memcache.c index d4c91273..79545976 100644 --- a/src/proto/nc_memcache.c +++ b/src/proto/nc_memcache.c @@ -1518,6 +1518,7 @@ memcache_copy_bulk(struct msg *dst, struct msg *src) for (; p < last && ('\r' != *p); p++) { /* eat cas for gets */ ; } + /* "*p" should be pointing to '\r' */ len += CRLF_LEN * 2; len += (p - mbuf->pos); From be8fa000d33d8924a38423627afa4bfde06f0c70 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Sun, 4 Jul 2021 16:22:39 -0400 Subject: [PATCH 57/69] [skip ci] Update README descriptions of distributions Related to #578 --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 21b07b48..395855d2 100644 --- a/README.md +++ b/README.md @@ -96,10 +96,10 @@ Twemproxy can be configured through a YAML file specified by the -c or --conf-fi + murmur + jenkins + **hash_tag**: A two character string that specifies the part of the key used for hashing. Eg "{}" or "$$". [Hash tag](notes/recommendation.md#hash-tags) enable mapping different keys to the same server as long as the part of the key within the tag is the same. -+ **distribution**: The key distribution mode. Possible values are: - + ketama - + modula - + random ++ **distribution**: The key distribution mode for choosing backend servers based on the computed hash value. Possible values are: + + ketama (default, recommended. An implementation of https://en.wikipedia.org/wiki/Consistent_hashing) + + modula (use hash modulo number of servers to choose the backend) + + random (choose a random backend for each key of each request) + **timeout**: The timeout value in msec that we wait for to establish a connection to the server or receive a response from a server. By default, we wait indefinitely. + **backlog**: The TCP backlog argument. Defaults to 512. + **preconnect**: A boolean value that controls if twemproxy should preconnect to all the servers in this pool on process start. Defaults to false. From dd81b7872e93d1a8c91837635678e0c9edc201d9 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Sun, 4 Jul 2021 16:28:39 -0400 Subject: [PATCH 58/69] [skip ci] Remove outdated ppa link from README The last ubuntu release that this PPA supported was from 2016 (ubuntu 16.10). If the ppa receives updates, this can be reverted. Closes #625 Closes #588 --- README.md | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/README.md b/README.md index 395855d2..d2d4edde 100644 --- a/README.md +++ b/README.md @@ -231,16 +231,6 @@ If you are deploying twemproxy in production, you might consider reading through ## Packages -### Ubuntu - -#### PPA Stable - -https://launchpad.net/~twemproxy/+archive/ubuntu/stable - -#### PPA Daily - -https://launchpad.net/~twemproxy/+archive/ubuntu/daily - ## Utils + [collectd-plugin](https://github.com/bewie/collectd-twemproxy) + [munin-plugin](https://github.com/eveiga/contrib/tree/nutcracker/plugins/nutcracker) From 71f9950a92a2f4eec94b18c10cfb23d561df04e2 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Sun, 4 Jul 2021 16:34:39 -0400 Subject: [PATCH 59/69] [skip ci] Document tcpkeepalive in README, update setting descriptions. Closes #621 --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d2d4edde..83dec45d 100644 --- a/README.md +++ b/README.md @@ -89,7 +89,7 @@ Twemproxy can be configured through a YAML file specified by the -c or --conf-fi + crc32 (crc32 implementation compatible with [libmemcached](http://libmemcached.org/)) + crc32a (correct crc32 implementation as per the spec) + fnv1_64 - + fnv1a_64 + + fnv1a_64 (default) + fnv1_32 + fnv1a_32 + hsieh @@ -102,14 +102,15 @@ Twemproxy can be configured through a YAML file specified by the -c or --conf-fi + random (choose a random backend for each key of each request) + **timeout**: The timeout value in msec that we wait for to establish a connection to the server or receive a response from a server. By default, we wait indefinitely. + **backlog**: The TCP backlog argument. Defaults to 512. ++ **tcpkeepalive**: A boolean value that controls if tcp keepalive is enabled for connections to servers. Defaults to false. + **preconnect**: A boolean value that controls if twemproxy should preconnect to all the servers in this pool on process start. Defaults to false. + **redis**: A boolean value that controls if a server pool speaks redis or memcached protocol. Defaults to false. + **redis_auth**: Authenticate to the Redis server on connect. + **redis_db**: The DB number to use on the pool servers. Defaults to 0. Note: Twemproxy will always present itself to clients as DB 0. + **server_connections**: The maximum number of connections that can be opened to each server. By default, we open at most 1 server connection. + **auto_eject_hosts**: A boolean value that controls if server should be ejected temporarily when it fails consecutively server_failure_limit times. See [liveness recommendations](notes/recommendation.md#liveness) for information. Defaults to false. -+ **server_retry_timeout**: The timeout value in msec to wait for before retrying on a temporarily ejected server, when auto_eject_host is set to true. Defaults to 30000 msec. -+ **server_failure_limit**: The number of consecutive failures on a server that would lead to it being temporarily ejected when auto_eject_host is set to true. Defaults to 2. ++ **server_retry_timeout**: The timeout value in msec to wait for before retrying on a temporarily ejected server, when auto_eject_hosts is set to true. Defaults to 30000 msec. ++ **server_failure_limit**: The number of consecutive failures on a server that would lead to it being temporarily ejected when auto_eject_hosts is set to true. Defaults to 2. + **servers**: A list of server address, port and weight (name:port:weight or ip:port:weight) for this server pool. From c26092e2e90679fbe15ba3936469636087c2d450 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Sun, 4 Jul 2021 16:36:36 -0400 Subject: [PATCH 60/69] Rename travis.sh to test_in_docker.sh --- .github/workflows/main.yml | 2 +- ci/Dockerfile | 2 +- travis.sh => test_in_docker.sh | 0 tests/README.rst | 3 +++ 4 files changed, 5 insertions(+), 2 deletions(-) rename travis.sh => test_in_docker.sh (100%) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index cb4034df..4444674f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -39,4 +39,4 @@ jobs: # Runs a single command using the runners shell - name: Build and test in docker - run: bash ./travis.sh ${{ matrix.REDIS_VER }} + run: bash ./test_in_docker.sh ${{ matrix.REDIS_VER }} diff --git a/ci/Dockerfile b/ci/Dockerfile index 86e1b5dc..c360264c 100644 --- a/ci/Dockerfile +++ b/ci/Dockerfile @@ -1,6 +1,6 @@ # Dockerfile to build nutcracker # ARGS: none -# Also see travis.sh +# Also see test_in_docker.sh FROM centos:7 ENV LAST_MODIFIED_DATE 2021-04-09 diff --git a/travis.sh b/test_in_docker.sh similarity index 100% rename from travis.sh rename to test_in_docker.sh diff --git a/tests/README.rst b/tests/README.rst index 5a4c924c..d8e805df 100644 --- a/tests/README.rst +++ b/tests/README.rst @@ -4,6 +4,9 @@ already add to https://travis-ci.org/idning/twemproxy as travis-ci see https://github.com/idning/twemproxy/blob/travis-ci/travis.sh +dockerized tests +================ + usage ===== From 93f3dd989bcdd38f8810e61a616bab6e74e66bb5 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Sun, 4 Jul 2021 16:43:21 -0400 Subject: [PATCH 61/69] Add instructions on running unit tests, docker checks. Closes #617 --- tests/README.rst | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/tests/README.rst b/tests/README.rst index d8e805df..0ae657ea 100644 --- a/tests/README.rst +++ b/tests/README.rst @@ -1,16 +1,19 @@ Python testing facilities for twemproxy, this test suite is based on https://github.com/idning/redis-mgr -already add to https://travis-ci.org/idning/twemproxy as travis-ci +Testing in docker +================= -see https://github.com/idning/twemproxy/blob/travis-ci/travis.sh +The script `test_in_docker.sh` can be run to run all of twemproxy's compiler checks, C unit tests, and this folder's integration tests in docker. -dockerized tests -================ + REDIS_VERSION=6.2.4 + ./test_in_docker.sh $REDIS_VERSION usage ===== -1. install dependency (redis-py must be 3.0 or newer):: +Information on setting up integration tests, running integration tests, and creating new integration tests is below. + +1. install dependencies (redis-py must be 3.0 or newer):: pip install nose pip install git+https://github.com/andymccurdy/redis-py.git@3.5.3 @@ -39,7 +42,7 @@ usage OK -4. add A case:: +4. add a case:: cp tests/test_del.py tests/test_xxx.py vim tests/test_xxx.py @@ -72,6 +75,13 @@ T_LOGFILE: notes ===== -- After all the tests. you get a core dump because we have a case in test_signal which will send SEGV to nutcracker +- After all of the integration tests, you may get a core dump because we have a case in test_signal which will send SEGV to nutcracker - If tests are failing, you may have to `pkill` redis-server, redis-sentinel, or nutcracker + +Unit tests +========== + +See src/test_all.c - unit tests are separate from these integration tests and do not require python. They can be compiled and run with `make check`. + +To view the output of the failing tests, run `cd src; make test_all; ./test_all`. From b649777f3e32a8ec47b2ee59595ca1e49f6b6602 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Sun, 4 Jul 2021 17:24:17 -0400 Subject: [PATCH 62/69] [skip ci] Link to documentation of how to read stats from the stats port Closes #543 --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 83dec45d..ca4e7d4c 100644 --- a/README.md +++ b/README.md @@ -190,7 +190,7 @@ Finally, to make writing a syntactically correct configuration file easier, twem Observability in twemproxy is through logs and stats. -Twemproxy exposes stats at the granularity of server pool and servers per pool through the stats monitoring port. The stats are essentially JSON formatted key-value pairs, with the keys corresponding to counter names. By default stats are exposed on port 22222 and aggregated every 30 seconds. Both these values can be configured on program start using the `-c` or `--conf-file` and `-i` or `--stats-interval` command-line arguments respectively. You can print the description of all stats exported by using the `-D` or `--describe-stats` command-line argument. +Twemproxy exposes stats at the granularity of server pool and servers per pool through the stats monitoring port by responding with the raw data over TCP. The stats are essentially JSON formatted key-value pairs, with the keys corresponding to counter names. By default stats are exposed on port 22222 and aggregated every 30 seconds. Both these values can be configured on program start using the `-c` or `--conf-file` and `-i` or `--stats-interval` command-line arguments respectively. You can print the description of all stats exported by using the `-D` or `--describe-stats` command-line argument. $ nutcracker --describe-stats @@ -216,6 +216,8 @@ Twemproxy exposes stats at the granularity of server pool and servers per pool t out_queue "# requests in outgoing queue" out_queue_bytes "current request bytes in outgoing queue" +See [`notes/debug.txt`](notes/debug.txt) for examples of how to read the stats from the stats port. + Logging in twemproxy is only available when twemproxy is built with logging enabled. By default logs are written to stderr. Twemproxy can also be configured to write logs to a specific file through the `-o` or `--output` command-line argument. On a running twemproxy, we can turn log levels up and down by sending it SIGTTIN and SIGTTOU signals respectively and reopen log files by sending it SIGHUP signal. ## Pipelining @@ -230,8 +232,6 @@ Pipelining is the reason why twemproxy ends up doing better in terms of throughp If you are deploying twemproxy in production, you might consider reading through the [recommendation document](notes/recommendation.md) to understand the parameters you could tune in twemproxy to run it efficiently in the production environment. -## Packages - ## Utils + [collectd-plugin](https://github.com/bewie/collectd-twemproxy) + [munin-plugin](https://github.com/eveiga/contrib/tree/nutcracker/plugins/nutcracker) From fb66ae73ddc2deb5027fdde06587712f7394f403 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Sun, 4 Jul 2021 18:05:01 -0400 Subject: [PATCH 63/69] Adapt unit tests from redis-check.sh --- src/test_all.c | 125 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 120 insertions(+), 5 deletions(-) diff --git a/src/test_all.c b/src/test_all.c index 33743596..22d147cc 100644 --- a/src/test_all.c +++ b/src/test_all.c @@ -61,6 +61,7 @@ static void test_config_parsing(void) { } static void test_redis_parse_req_success_case(const char* data, int expected_type) { + const int original_failures = failures; struct conn fake_client = {0}; struct mbuf *m = mbuf_get(); const int SW_START = 0; /* Same as SW_START in redis_parse_req */ @@ -86,22 +87,133 @@ static void test_redis_parse_req_success_case(const char* data, int expected_typ msg_put(req); /* mbuf_put(m); */ + if (failures > original_failures) { + fprintf(stderr, "test_redis_parse_req_success_case failed for (%s)", data); + } } /* Test support for https://redis.io/topics/protocol */ static void test_redis_parse_req_success(void) { /* Redis requests from clients are serialized as arrays before sending them (* is array length, $ is string length) */ - test_redis_parse_req_success_case("*2\r\n$3\r\nGET\r\n$3\r\nkey\r\n", MSG_REQ_REDIS_GET); - test_redis_parse_req_success_case("*2\r\n$4\r\nMGET\r\n$1\r\nx\r\n", MSG_REQ_REDIS_MGET); - test_redis_parse_req_success_case("*3\r\n$4\r\nMGET\r\n$1\r\nx\r\n$10\r\nabcdefghij\r\n", MSG_REQ_REDIS_MGET); - test_redis_parse_req_success_case("*3\r\n$3\r\nSET\r\n$10\r\nkey4567890\r\n$5\r\nVALUE\r\n", MSG_REQ_REDIS_SET); + test_redis_parse_req_success_case("*4\r\n$4\r\neval\r\n$10\r\nreturn 123\r\n$1\r\n1\r\n$1\r\n1\r\n", MSG_REQ_REDIS_EVAL); + test_redis_parse_req_success_case("*7\r\n$4\r\neval\r\n$40\r\nreturn {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}\r\n$1\r\n2\r\n$9\r\nkey1{tag}\r\n$4\r\narg1\r\n$9\r\nkey2{tag}\r\n$4\r\narg2\r\n", MSG_REQ_REDIS_EVAL); + test_redis_parse_req_success_case("*3\r\n$6\r\nappend\r\n$3\r\n999\r\n$3\r\nbar\r\n", MSG_REQ_REDIS_APPEND); + test_redis_parse_req_success_case("*2\r\n$8\r\nbitcount\r\n$3\r\nfoo\r\n", MSG_REQ_REDIS_BITCOUNT); + test_redis_parse_req_success_case("*4\r\n$8\r\nbitcount\r\n$3\r\nfoo\r\n$1\r\n1\r\n$1\r\n1\r\n", MSG_REQ_REDIS_BITCOUNT); test_redis_parse_req_success_case("*1\r\n$7\r\nCOMMAND\r\n", MSG_REQ_REDIS_COMMAND); + test_redis_parse_req_success_case("*2\r\n$4\r\ndecr\r\n$7\r\ncounter\r\n", MSG_REQ_REDIS_DECR); + test_redis_parse_req_success_case("*3\r\n$6\r\ndecrby\r\n$7\r\ncounter\r\n$3\r\n100\r\n", MSG_REQ_REDIS_DECRBY); + test_redis_parse_req_success_case("*2\r\n$3\r\ndel\r\n$3\r\nfoo\r\n", MSG_REQ_REDIS_DEL); + test_redis_parse_req_success_case("*3\r\n$3\r\ndel\r\n$3\r\nfoo\r\n$3\r\nbar\r\n", MSG_REQ_REDIS_DEL); + test_redis_parse_req_success_case("*2\r\n$4\r\ndump\r\n$3\r\nfoo\r\n", MSG_REQ_REDIS_DUMP); + test_redis_parse_req_success_case("*2\r\n$6\r\nexists\r\n$3\r\nfoo\r\n", MSG_REQ_REDIS_EXISTS); + test_redis_parse_req_success_case("*3\r\n$6\r\nexpire\r\n$3\r\nfoo\r\n$1\r\n0\r\n", MSG_REQ_REDIS_EXPIRE); + test_redis_parse_req_success_case("*3\r\n$8\r\nexpireat\r\n$3\r\nfoo\r\n$10\r\n1282463464\r\n", MSG_REQ_REDIS_EXPIREAT); + test_redis_parse_req_success_case("*2\r\n$3\r\nGET\r\n$3\r\nkey\r\n", MSG_REQ_REDIS_GET); + test_redis_parse_req_success_case("*3\r\n$6\r\ngetbit\r\n$3\r\nfoo\r\n$1\r\n1\r\n", MSG_REQ_REDIS_GETBIT); + test_redis_parse_req_success_case("*4\r\n$8\r\ngetrange\r\n$3\r\nfoo\r\n$1\r\n1\r\n$1\r\n2\r\n", MSG_REQ_REDIS_GETRANGE); + test_redis_parse_req_success_case("*3\r\n$6\r\ngetset\r\n$3\r\nfoo\r\n$3\r\nbar\r\n", MSG_REQ_REDIS_GETSET); + test_redis_parse_req_success_case("*4\r\n$4\r\nhdel\r\n$4\r\nhfoo\r\n$6\r\nfield1\r\n$3\r\nbar\r\n", MSG_REQ_REDIS_HDEL); + test_redis_parse_req_success_case("*3\r\n$7\r\nhexists\r\n$4\r\nhfoo\r\n$6\r\nfield1\r\n", MSG_REQ_REDIS_HEXISTS); + test_redis_parse_req_success_case("*3\r\n$4\r\nhget\r\n$4\r\nhfoo\r\n$6\r\nfield1\r\n", MSG_REQ_REDIS_HGET); + test_redis_parse_req_success_case("*2\r\n$7\r\nhgetall\r\n$4\r\nhfoo\r\n", MSG_REQ_REDIS_HGETALL); + test_redis_parse_req_success_case("*4\r\n$7\r\nhincrby\r\n$4\r\nhfoo\r\n$6\r\nfield1\r\n$3\r\n100\r\n", MSG_REQ_REDIS_HINCRBY); + test_redis_parse_req_success_case("*4\r\n$12\r\nhincrbyfloat\r\n$4\r\nhfoo\r\n$6\r\nfield1\r\n$6\r\n100.12\r\n", MSG_REQ_REDIS_HINCRBYFLOAT); + test_redis_parse_req_success_case("*2\r\n$5\r\nhkeys\r\n$4\r\nhfoo\r\n", MSG_REQ_REDIS_HKEYS); + test_redis_parse_req_success_case("*2\r\n$4\r\nhlen\r\n$4\r\nhfoo\r\n", MSG_REQ_REDIS_HLEN); + test_redis_parse_req_success_case("*3\r\n$5\r\nhmget\r\n$4\r\nhfoo\r\n$6\r\nfield1\r\n", MSG_REQ_REDIS_HMGET); + test_redis_parse_req_success_case("*4\r\n$5\r\nhmget\r\n$4\r\nhfoo\r\n$6\r\nfield1\r\n$6\r\n1dleif\r\n", MSG_REQ_REDIS_HMGET); + test_redis_parse_req_success_case("*6\r\n$5\r\nhmset\r\n$4\r\nhfoo\r\n$6\r\nfield1\r\n$3\r\nbar\r\n$6\r\nfield2\r\n$3\r\nbas\r\n", MSG_REQ_REDIS_HMSET); + test_redis_parse_req_success_case("*4\r\n$4\r\nhset\r\n$4\r\nhfoo\r\n$6\r\n1dleif\r\n$3\r\nrab\r\n", MSG_REQ_REDIS_HSET); + test_redis_parse_req_success_case("*4\r\n$6\r\nhsetnx\r\n$4\r\nhfoo\r\n$6\r\nfield1\r\n$3\r\nbar\r\n", MSG_REQ_REDIS_HSETNX); + test_redis_parse_req_success_case("*2\r\n$5\r\nhvals\r\n$4\r\nhfoo\r\n", MSG_REQ_REDIS_HVALS); + test_redis_parse_req_success_case("*2\r\n$4\r\nincr\r\n$7\r\ncounter\r\n", MSG_REQ_REDIS_INCR); + test_redis_parse_req_success_case("*3\r\n$6\r\nincrby\r\n$7\r\ncounter\r\n$3\r\n100\r\n", MSG_REQ_REDIS_INCRBY); + test_redis_parse_req_success_case("*3\r\n$11\r\nincrbyfloat\r\n$7\r\ncounter\r\n$5\r\n10.10\r\n", MSG_REQ_REDIS_INCRBYFLOAT); + test_redis_parse_req_success_case("*3\r\n$6\r\nlindex\r\n$4\r\nlfoo\r\n$1\r\n0\r\n", MSG_REQ_REDIS_LINDEX); + test_redis_parse_req_success_case("*5\r\n$7\r\nlinsert\r\n$4\r\nlfoo\r\n$6\r\nBEFORE\r\n$3\r\nbar\r\n$3\r\nbaq\r\n", MSG_REQ_REDIS_LINSERT); + test_redis_parse_req_success_case("*2\r\n$4\r\nllen\r\n$4\r\nlfoo\r\n", MSG_REQ_REDIS_LLEN); + test_redis_parse_req_success_case("*2\r\n$4\r\nLLEN\r\n$6\r\nmylist\r\n", MSG_REQ_REDIS_LLEN); /* LLEN command */ test_redis_parse_req_success_case("*1\r\n$6\r\nLOLWUT\r\n", MSG_REQ_REDIS_LOLWUT); test_redis_parse_req_success_case("*2\r\n$6\r\nLOLWUT\r\n$2\r\n40\r\n", MSG_REQ_REDIS_LOLWUT); - test_redis_parse_req_success_case("*2\r\n$4\r\nLLEN\r\n$6\r\nmylist\r\n", MSG_REQ_REDIS_LLEN); /* LLEN command */ + test_redis_parse_req_success_case("*2\r\n$4\r\nlpop\r\n$4\r\nlfoo\r\n", MSG_REQ_REDIS_LPOP); + test_redis_parse_req_success_case("*3\r\n$5\r\nlpush\r\n$4\r\nlfoo\r\n$3\r\nbar\r\n", MSG_REQ_REDIS_LPUSH); + test_redis_parse_req_success_case("*4\r\n$5\r\nlpush\r\n$4\r\nlfoo\r\n$3\r\nbaq\r\n$3\r\nbap\r\n", MSG_REQ_REDIS_LPUSH); + test_redis_parse_req_success_case("*6\r\n$5\r\nlpush\r\n$4\r\nlfoo\r\n$3\r\nbar\r\n$3\r\nbar\r\n$3\r\nbar\r\n$3\r\nbau\r\n", MSG_REQ_REDIS_LPUSH); + test_redis_parse_req_success_case("*3\r\n$6\r\nlpushx\r\n$4\r\nlfoo\r\n$3\r\nbar\r\n", MSG_REQ_REDIS_LPUSHX); + test_redis_parse_req_success_case("*4\r\n$6\r\nlrange\r\n$4\r\nlfoo\r\n$1\r\n0\r\n$1\r\n2\r\n", MSG_REQ_REDIS_LRANGE); + test_redis_parse_req_success_case("*4\r\n$6\r\nlrange\r\n$4\r\nlfoo\r\n$1\r\n0\r\n$1\r\n3\r\n", MSG_REQ_REDIS_LRANGE); + test_redis_parse_req_success_case("*4\r\n$4\r\nlrem\r\n$4\r\nlfoo\r\n$1\r\n2\r\n$3\r\nbar\r\n", MSG_REQ_REDIS_LREM); + test_redis_parse_req_success_case("*4\r\n$4\r\nlset\r\n$4\r\nlfoo\r\n$1\r\n0\r\n$3\r\nbaq\r\n", MSG_REQ_REDIS_LSET); + test_redis_parse_req_success_case("*4\r\n$5\r\nltrim\r\n$4\r\nlfoo\r\n$1\r\n0\r\n$1\r\n2\r\n", MSG_REQ_REDIS_LTRIM); + test_redis_parse_req_success_case("*13\r\n$4\r\nmget\r\n$3\r\nfoo\r\n$3\r\nbar\r\n$3\r\nbar\r\n$3\r\nbar\r\n$3\r\nbar\r\n$3\r\nbar\r\n$3\r\nbar\r\n$3\r\nbar\r\n$3\r\nbar\r\n$3\r\nbar\r\n$3\r\nbar\r\n$3\r\nbar\r\n", MSG_REQ_REDIS_MGET); + test_redis_parse_req_success_case("*2\r\n$4\r\nMGET\r\n$1\r\nx\r\n", MSG_REQ_REDIS_MGET); + test_redis_parse_req_success_case("*3\r\n$4\r\nMGET\r\n$1\r\nx\r\n$10\r\nabcdefghij\r\n", MSG_REQ_REDIS_MGET); + test_redis_parse_req_success_case("*3\r\n$4\r\nmget\r\n$3\r\nfoo\r\n$3\r\nbar\r\n", MSG_REQ_REDIS_MGET); + test_redis_parse_req_success_case("*3\r\n$4\r\nmget\r\n$3\r\nfoo\r\n$3\r\nbar\r\n", MSG_REQ_REDIS_MGET); + test_redis_parse_req_success_case("*2\r\n$7\r\npersist\r\n$3\r\nfoo\r\n", MSG_REQ_REDIS_PERSIST); + test_redis_parse_req_success_case("*3\r\n$7\r\npexpire\r\n$3\r\nfoo\r\n$1\r\n0\r\n", MSG_REQ_REDIS_PEXPIRE); + test_redis_parse_req_success_case("*3\r\n$5\r\npfadd\r\n$7\r\n{pfoo}2\r\n$3\r\nbas\r\n", MSG_REQ_REDIS_PFADD); + test_redis_parse_req_success_case("*4\r\n$5\r\npfadd\r\n$4\r\npfoo\r\n$3\r\nbar\r\n$3\r\nbas\r\n", MSG_REQ_REDIS_PFADD); + test_redis_parse_req_success_case("*2\r\n$7\r\npfcount\r\n$4\r\npfoo\r\n", MSG_REQ_REDIS_PFCOUNT); + test_redis_parse_req_success_case("*5\r\n$7\r\npfmerge\r\n$7\r\n{pfoo}3\r\n$1\r\n2\r\n$6\r\n{pfoo}\r\n$7\r\n{pfoo}2\r\n", MSG_REQ_REDIS_PFMERGE); test_redis_parse_req_success_case("*1\r\n$4\r\nPING\r\n", MSG_REQ_REDIS_PING); + test_redis_parse_req_success_case("*4\r\n$6\r\npsetex\r\n$3\r\nfoo\r\n$4\r\n1000\r\n$3\r\noof\r\n", MSG_REQ_REDIS_PSETEX); + test_redis_parse_req_success_case("*2\r\n$4\r\npttl\r\n$3\r\nfoo\r\n", MSG_REQ_REDIS_PTTL); + test_redis_parse_req_success_case("*4\r\n$7\r\nrestore\r\n$3\r\nfoo\r\n$1\r\n0\r\n$3\r\noof\r\n", MSG_REQ_REDIS_RESTORE); + test_redis_parse_req_success_case("*2\r\n$4\r\nrpop\r\n$4\r\nlfoo\r\n", MSG_REQ_REDIS_RPOP); + test_redis_parse_req_success_case("*3\r\n$9\r\nrpoplpush\r\n$6\r\n{lfoo}\r\n$7\r\n{lfoo}2\r\n", MSG_REQ_REDIS_RPOPLPUSH); + test_redis_parse_req_success_case("*3\r\n$5\r\nrpush\r\n$4\r\nlfoo\r\n$3\r\nbar\r\n", MSG_REQ_REDIS_RPUSH); + test_redis_parse_req_success_case("*4\r\n$5\r\nrpush\r\n$4\r\nlfoo\r\n$3\r\nbat\r\n$3\r\nbau\r\n", MSG_REQ_REDIS_RPUSH); + test_redis_parse_req_success_case("*3\r\n$6\r\nrpushx\r\n$4\r\nlfoo\r\n$3\r\nbar\r\n", MSG_REQ_REDIS_RPUSHX); + test_redis_parse_req_success_case("*3\r\n$4\r\nsadd\r\n$7\r\n{sfoo}2\r\n$3\r\nbar\r\n", MSG_REQ_REDIS_SADD); + test_redis_parse_req_success_case("*4\r\n$4\r\nsadd\r\n$4\r\nsfoo\r\n$3\r\nbar\r\n$3\r\nbas\r\n", MSG_REQ_REDIS_SADD); + test_redis_parse_req_success_case("*5\r\n$4\r\nsadd\r\n$4\r\nsfoo\r\n$3\r\nbar\r\n$3\r\nbas\r\n$3\r\nbat\r\n", MSG_REQ_REDIS_SADD); + test_redis_parse_req_success_case("*2\r\n$5\r\nscard\r\n$4\r\nsfoo\r\n", MSG_REQ_REDIS_SCARD); + test_redis_parse_req_success_case("*3\r\n$5\r\nsdiff\r\n$6\r\n{sfoo}\r\n$7\r\n{sfoo}2\r\n", MSG_REQ_REDIS_SDIFF); + test_redis_parse_req_success_case("*4\r\n$10\r\nsdiffstore\r\n$7\r\n{sfoo}3\r\n$6\r\n{sfoo}\r\n$7\r\n{sfoo}2\r\n", MSG_REQ_REDIS_SDIFFSTORE); + test_redis_parse_req_success_case("*3\r\n$3\r\nSET\r\n$10\r\nkey4567890\r\n$5\r\nVALUE\r\n", MSG_REQ_REDIS_SET); + test_redis_parse_req_success_case("*3\r\n$3\r\nset\r\n$3\r\nbar\r\n$3\r\nrab\r\n", MSG_REQ_REDIS_SET); + test_redis_parse_req_success_case("*4\r\n$6\r\nsetbit\r\n$3\r\nfoo\r\n$1\r\n1\r\n$1\r\n1\r\n", MSG_REQ_REDIS_SETBIT); + test_redis_parse_req_success_case("*4\r\n$5\r\nsetex\r\n$3\r\nfoo\r\n$4\r\n1000\r\n$3\r\noof\r\n", MSG_REQ_REDIS_SETEX); + test_redis_parse_req_success_case("*3\r\n$5\r\nsetnx\r\n$3\r\nfoo\r\n$3\r\noof\r\n", MSG_REQ_REDIS_SETNX); + test_redis_parse_req_success_case("*4\r\n$8\r\nsetrange\r\n$3\r\nfoo\r\n$1\r\n1\r\n$3\r\noof\r\n", MSG_REQ_REDIS_SETRANGE); + test_redis_parse_req_success_case("*3\r\n$6\r\nsinter\r\n$6\r\n{sfoo}\r\n$7\r\n{sfoo}2\r\n", MSG_REQ_REDIS_SINTER); + test_redis_parse_req_success_case("*4\r\n$11\r\nsinterstore\r\n$7\r\n{sfoo}3\r\n$6\r\n{sfoo}\r\n$7\r\n{sfoo}2\r\n", MSG_REQ_REDIS_SINTERSTORE); + test_redis_parse_req_success_case("*3\r\n$9\r\nsismember\r\n$4\r\nsfoo\r\n$3\r\nbar\r\n", MSG_REQ_REDIS_SISMEMBER); + test_redis_parse_req_success_case("*2\r\n$8\r\nsmembers\r\n$4\r\nsfoo\r\n", MSG_REQ_REDIS_SMEMBERS); + test_redis_parse_req_success_case("*4\r\n$5\r\nsmove\r\n$6\r\n{sfoo}\r\n$7\r\n{sfoo}2\r\n$3\r\nbas\r\n", MSG_REQ_REDIS_SMOVE); + test_redis_parse_req_success_case("*2\r\n$11\r\nsrandmember\r\n$4\r\nsfoo\r\n", MSG_REQ_REDIS_SRANDMEMBER); + test_redis_parse_req_success_case("*3\r\n$11\r\nsrandmember\r\n$4\r\nsfoo\r\n$1\r\n2\r\n", MSG_REQ_REDIS_SRANDMEMBER); + test_redis_parse_req_success_case("*3\r\n$4\r\nsrem\r\n$4\r\nsfoo\r\n$3\r\nbar\r\n", MSG_REQ_REDIS_SREM); + test_redis_parse_req_success_case("*5\r\n$4\r\nsrem\r\n$4\r\nsfoo\r\n$3\r\nbas\r\n$3\r\nbat\r\n$3\r\nrab\r\n", MSG_REQ_REDIS_SREM); + test_redis_parse_req_success_case("*3\r\n$6\r\nsunion\r\n$6\r\n{sfoo}\r\n$7\r\n{sfoo}2\r\n", MSG_REQ_REDIS_SUNION); + test_redis_parse_req_success_case("*4\r\n$11\r\nsunionstore\r\n$7\r\n{sfoo}3\r\n$6\r\n{sfoo}\r\n$7\r\n{sfoo}2\r\n", MSG_REQ_REDIS_SUNIONSTORE); + test_redis_parse_req_success_case("*2\r\n$3\r\nttl\r\n$3\r\nfoo\r\n", MSG_REQ_REDIS_TTL); + test_redis_parse_req_success_case("*2\r\n$4\r\ntype\r\n$3\r\nfoo\r\n", MSG_REQ_REDIS_TYPE); + test_redis_parse_req_success_case("*4\r\n$4\r\nzadd\r\n$4\r\nzfoo\r\n$3\r\n100\r\n$3\r\nbar\r\n", MSG_REQ_REDIS_ZADD); + test_redis_parse_req_success_case("*6\r\n$4\r\nzadd\r\n$4\r\nzfoo\r\n$3\r\n101\r\n$3\r\nbat\r\n$3\r\n102\r\n$3\r\nbau\r\n", MSG_REQ_REDIS_ZADD); + test_redis_parse_req_success_case("*8\r\n$4\r\nzadd\r\n$4\r\nzfoo\r\n$3\r\n100\r\n$3\r\nbar\r\n$3\r\n101\r\n$3\r\nbat\r\n$3\r\n102\r\n$3\r\nbau\r\n", MSG_REQ_REDIS_ZADD); + test_redis_parse_req_success_case("*2\r\n$5\r\nzcard\r\n$4\r\nzfoo\r\n", MSG_REQ_REDIS_ZCARD); + test_redis_parse_req_success_case("*4\r\n$6\r\nzcount\r\n$4\r\nzfoo\r\n$3\r\n100\r\n$3\r\n101\r\n", MSG_REQ_REDIS_ZCOUNT); + test_redis_parse_req_success_case("*4\r\n$7\r\nzincrby\r\n$4\r\nzfoo\r\n$3\r\n100\r\n$3\r\nbar\r\n", MSG_REQ_REDIS_ZINCRBY); + test_redis_parse_req_success_case("*5\r\n$11\r\nzinterstore\r\n$7\r\n{zfoo}3\r\n$1\r\n2\r\n$6\r\n{zfoo}\r\n$7\r\n{zfoo}2\r\n", MSG_REQ_REDIS_ZINTERSTORE); + test_redis_parse_req_success_case("*4\r\n$9\r\nzlexcount\r\n$4\r\nzfoo\r\n$1\r\n-\r\n$1\r\n+\r\n", MSG_REQ_REDIS_ZLEXCOUNT); + test_redis_parse_req_success_case("*4\r\n$6\r\nzrange\r\n$4\r\nzfoo\r\n$1\r\n0\r\n$1\r\n3\r\n", MSG_REQ_REDIS_ZRANGE); + test_redis_parse_req_success_case("*5\r\n$6\r\nzrange\r\n$4\r\nzfoo\r\n$1\r\n0\r\n$1\r\n3\r\n$10\r\nWITHSCORES\r\n", MSG_REQ_REDIS_ZRANGE); + test_redis_parse_req_success_case("*4\r\n$11\r\nzrangebylex\r\n$4\r\nzfoo\r\n$1\r\n-\r\n$1\r\n+\r\n", MSG_REQ_REDIS_ZRANGEBYLEX); + test_redis_parse_req_success_case("*4\r\n$13\r\nzrangebyscore\r\n$4\r\nzfoo\r\n$3\r\n100\r\n$3\r\n101\r\n", MSG_REQ_REDIS_ZRANGEBYSCORE); + test_redis_parse_req_success_case("*3\r\n$5\r\nzrank\r\n$4\r\nzfoo\r\n$3\r\nbar\r\n", MSG_REQ_REDIS_ZRANK); + test_redis_parse_req_success_case("*8\r\n$4\r\nzrem\r\n$4\r\nzfoo\r\n$3\r\n100\r\n$3\r\nbar\r\n$3\r\n101\r\n$3\r\nbat\r\n$3\r\n102\r\n$3\r\nbau\r\n", MSG_REQ_REDIS_ZREM); + test_redis_parse_req_success_case("*4\r\n$14\r\nzremrangebylex\r\n$4\r\nzfoo\r\n$1\r\n-\r\n$1\r\n+\r\n", MSG_REQ_REDIS_ZREMRANGEBYLEX); + test_redis_parse_req_success_case("*4\r\n$15\r\nzremrangebyrank\r\n$4\r\nzfoo\r\n$1\r\n0\r\n$1\r\n1\r\n", MSG_REQ_REDIS_ZREMRANGEBYRANK); + test_redis_parse_req_success_case("*4\r\n$16\r\nzremrangebyscore\r\n$4\r\nzfoo\r\n$3\r\n100\r\n$3\r\n101\r\n", MSG_REQ_REDIS_ZREMRANGEBYSCORE); + test_redis_parse_req_success_case("*4\r\n$9\r\nzrevrange\r\n$4\r\nzfoo\r\n$1\r\n0\r\n$1\r\n2\r\n", MSG_REQ_REDIS_ZREVRANGE); + test_redis_parse_req_success_case("*3\r\n$8\r\nzrevrank\r\n$4\r\nzfoo\r\n$3\r\nbar\r\n", MSG_REQ_REDIS_ZREVRANK); + test_redis_parse_req_success_case("*3\r\n$6\r\nzscore\r\n$4\r\nzfoo\r\n$3\r\nbar\r\n", MSG_REQ_REDIS_ZSCORE); + test_redis_parse_req_success_case("*5\r\n$11\r\nzunionstore\r\n$7\r\n{zfoo}3\r\n$1\r\n2\r\n$6\r\n{zfoo}\r\n$7\r\n{zfoo}2\r\n", MSG_REQ_REDIS_ZUNIONSTORE); } static void test_redis_parse_rsp_success_case(const char* data, int expected) { @@ -122,11 +234,13 @@ static void test_redis_parse_rsp_success_case(const char* data, int expected) { ASSERT(STAILQ_EMPTY(&rsp->mhdr)); mbuf_insert(&rsp->mhdr, m); rsp->pos = m->start; + errno = 0; redis_parse_rsp(rsp); expect_same_ptr(m->last, rsp->pos, "redis_parse_rsp: expected rsp->pos to be m->last"); expect_same_int(SW_START, rsp->state, "redis_parse_rsp: expected full buffer to be parsed"); expect_same_int(expected, rsp->type, "redis_parse_rsp: expected response type to be parsed"); + expect_same_int(0, errno, "redis_parse_rsp: expected errno=0"); expect_same_uint32_t(1, rsp->rnarg ? rsp->rnarg : 1, "expected remaining args to be 0 or 1"); msg_put(rsp); @@ -242,6 +356,7 @@ static void test_memcache_parse_rsp_success_case(const char* data, int expected) ASSERT(STAILQ_EMPTY(&rsp->mhdr)); mbuf_insert(&rsp->mhdr, m); rsp->pos = m->start; + errno=0; memcache_parse_rsp(rsp); expect_same_ptr(m->last, rsp->pos, "memcache_parse_rsp: expected rsp->pos to be m->last"); From 9e0a11b9fac916c6d657ba27407b213d39591c92 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Sun, 4 Jul 2021 18:05:32 -0400 Subject: [PATCH 64/69] Update `make check` bugs reporting address to be github issues --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 131f03a8..b501391c 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ m4_define([NC_MAJOR], 0) m4_define([NC_MINOR], 4) m4_define([NC_PATCH], 1) -m4_define([NC_BUGS], [manj@cs.stanford.edu]) +m4_define([NC_BUGS], [https://github.com/twitter/twemproxy/issues]) # Initialize autoconf AC_PREREQ([2.64]) From b4f000bd0cb0fb7e50341742411fb056f84badda Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Sun, 4 Jul 2021 18:17:38 -0400 Subject: [PATCH 65/69] [skip ci] Update documentation of ci/Dockerfile --- ci/Dockerfile | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/ci/Dockerfile b/ci/Dockerfile index c360264c..6586490d 100644 --- a/ci/Dockerfile +++ b/ci/Dockerfile @@ -1,5 +1,6 @@ -# Dockerfile to build nutcracker -# ARGS: none +# Dockerfile to create a slower debug build of nutcracker with assertions enabled +# for continuous integration checks. +# ARGS: REDIS_VER # Also see test_in_docker.sh FROM centos:7 @@ -37,8 +38,8 @@ RUN wget https://github.com/redis/redis/archive/$REDIS_VER.tar.gz && \ popd && \ rm -r redis-* -# This will build and twemproxy 0.4.1 (with sflow) -# Annoyingly, can't add multiple directories at once. +# This will build twemproxy with compilation flags for running unit tests, integration tests. +# Annoyingly, this can't add multiple directories at once. ADD conf /usr/src/twemproxy/conf ADD contrib /usr/src/twemproxy/contrib ADD man /usr/src/twemproxy/man From cfeb446c7cd9e2ca12d80e87c6f39a4aaff859b8 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Sun, 4 Jul 2021 19:19:05 -0400 Subject: [PATCH 66/69] Add miscellaneous tests, fix compilation warnings Warn about `strdup` being missing during `configure` for libyaml. (I was checking compatibility with older gcc and should have used `-std=gnu99`, not `-std=c99`) Avoid warning about pointer type casts and fallthrough. Add tests of remaining supported hash functions being compatible with libmemcached results. --- configure.ac | 1 + src/hashkit/nc_crc32.c | 2 +- src/test_all.c | 13 +++++++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index b501391c..12cc1b45 100644 --- a/configure.ac +++ b/configure.ac @@ -84,6 +84,7 @@ AC_CHECK_FUNCS([dup2 gethostname gettimeofday strerror]) AC_CHECK_FUNCS([socket]) AC_CHECK_FUNCS([memchr memmove memset]) AC_CHECK_FUNCS([strchr strndup strtoul]) +AC_CHECK_FUNCS([strdup]) AC_CACHE_CHECK([if epoll works], [ac_cv_epoll_works], AC_TRY_RUN([ diff --git a/src/hashkit/nc_crc32.c b/src/hashkit/nc_crc32.c index f5223285..7a7eafdb 100644 --- a/src/hashkit/nc_crc32.c +++ b/src/hashkit/nc_crc32.c @@ -111,7 +111,7 @@ hash_crc32(const char *key, size_t key_length) uint32_t hash_crc32a(const char *key, size_t key_length) { - const uint8_t *p = key; + const uint8_t *p = (const uint8_t *)key; uint32_t crc; crc = ~0U; diff --git a/src/test_all.c b/src/test_all.c index 22d147cc..c22ec7c6 100644 --- a/src/test_all.c +++ b/src/test_all.c @@ -42,6 +42,19 @@ static void test_hash_algorithms(void) { /* refer to libmemcached tests/hash_results.h */ expect_same_uint32_t(2297466611U, hash_one_at_a_time("apple", 5), "should have expected one_at_a_time hash for key \"apple\""); expect_same_uint32_t(3195025439U, hash_md5("apple", 5), "should have expected md5 hash for key \"apple\""); + + expect_same_uint32_t(3662830516U, hash_crc16("apple", 5), "should have expected crc16 hash for key \"apple\""); + expect_same_uint32_t(10542U, hash_crc32("apple", 5), "should have expected crc32 hash for key \"apple\""); + expect_same_uint32_t(2838417488U, hash_crc32a("apple", 5), "should have expected crc32a hash for key \"apple\""); + expect_same_uint32_t(67176023U, hash_fnv1_32("apple", 5), "should have expected fnv1_32 hash for key \"apple\""); + expect_same_uint32_t(280767167U, hash_fnv1a_32("apple", 5), "should have expected fnv1a_32 hash for key \"apple\""); + expect_same_uint32_t(473199127U, hash_fnv1_64("apple", 5), "should have expected fnv1_64 hash for key \"apple\""); + expect_same_uint32_t(1488911807U, hash_fnv1a_64("apple", 5), "should have expected fnv1a_64 hash for key \"apple\""); + expect_same_uint32_t(3738850110U, hash_hsieh("apple", 5), "should have expected hsieh hash for key \"apple\""); + expect_same_uint32_t(1442444624U, hash_jenkins("apple", 5), "should have expected jenkins hash for key \"apple\""); + expect_same_uint32_t(4142305122U, hash_murmur("apple", 5), "should have expected murmur hash for key \"apple\""); + /* The above have exactly the same result as libmemcached/tests/hash_results.h */ + expect_same_uint32_t(3853726576U, ketama_hash("server1-8", strlen("server1-8"), 0), "should have expected ketama_hash for server1-8 index 0"); expect_same_uint32_t(2667054752U, ketama_hash("server1-8", strlen("server1-8"), 3), "should have expected ketama_hash for server1-8 index 3"); } From f852ffa9c041116b04db8508d84d40bca7df784c Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Sat, 3 Jul 2021 15:24:34 -0400 Subject: [PATCH 67/69] Create a 0.5.0-RC1 release. See ChangeLog for details. There have been a lot of changes since 0.4.1 was published in 2015. I've tested many of these on a fork in combination with the heartbeat/failover/sentinel patches (planned for 0.6.0) and expect them to be a significant improvement over 0.4.1, but there may be build/runtime/packaging issues I'm not aware of on alternate configurations or OSes. twemproxy 0.5.0 will use github releases for distribution tarballs --- ChangeLog | 4 ++-- README.md | 11 +++++++++-- configure.ac | 8 ++++---- scripts/nutcracker.spec | 30 +++++++++++++++++++++++++++--- 4 files changed, 42 insertions(+), 11 deletions(-) diff --git a/ChangeLog b/ChangeLog index 72bb3e69..116588be 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,5 @@ - 2021-??-?? Tyson Andre - * twemproxy: version 0.5.0 release (dev) + 2021-06-07 Tyson Andre + * twemproxy: version 0.5.0-RC1 release Add 'tcpkeepalive' pool boolean config flag setting to enable tcp keepalive (charsyam, manju) Support redis bitpos command (clark kang) diff --git a/README.md b/README.md index ca4e7d4c..74abc018 100644 --- a/README.md +++ b/README.md @@ -4,13 +4,13 @@ ## Build -To build twemproxy from [distribution tarball](https://drive.google.com/open?id=0B6pVMMV5F5dfMUdJV25abllhUWM&authuser=0): +To build twemproxy 0.5.0+ from [distribution tarball](https://github.com/twitter/twemproxy/releases): $ ./configure $ make $ sudo make install -To build twemproxy from [distribution tarball](https://drive.google.com/open?id=0B6pVMMV5F5dfMUdJV25abllhUWM&authuser=0) in _debug mode_: +To build twemproxy 0.5.0+ from [distribution tarball](https://github.com/twitter/twemproxy/releases) in _debug mode_: $ CFLAGS="-ggdb3 -O0" ./configure --enable-debug=full $ make @@ -32,6 +32,13 @@ A quick checklist: + Use CFLAGS="-O3 -fno-strict-aliasing" ./configure && make + `autoreconf -fvi && ./configure` needs `automake` and `libtool` to be installed +`make check` will run unit tests. + +### Older Releases + +Distribution tarballs for twemproxy <= 0.4.1 can be found at https://drive.google.com/open?id=0B6pVMMV5F5dfMUdJV25abllhUWM&authuser=0 +The build steps are the same (`./configure; make; sudo make install`). + ## Features + Fast. diff --git a/configure.ac b/configure.ac index 12cc1b45..efab66c5 100644 --- a/configure.ac +++ b/configure.ac @@ -1,12 +1,12 @@ # Define the package version numbers and the bug reporting address m4_define([NC_MAJOR], 0) -m4_define([NC_MINOR], 4) -m4_define([NC_PATCH], 1) +m4_define([NC_MINOR], 5) +m4_define([NC_PATCH], 0) m4_define([NC_BUGS], [https://github.com/twitter/twemproxy/issues]) # Initialize autoconf AC_PREREQ([2.64]) -AC_INIT([nutcracker], [NC_MAJOR.NC_MINOR.NC_PATCH], [NC_BUGS]) +AC_INIT([nutcracker], [NC_MAJOR.NC_MINOR.NC_PATCH-RC1], [NC_BUGS]) AC_CONFIG_SRCDIR([src/nc.c]) AC_CONFIG_AUX_DIR([config]) AC_CONFIG_HEADERS([config.h:config.h.in]) @@ -19,7 +19,7 @@ AM_INIT_AUTOMAKE([1.9 foreign]) AC_DEFINE(NC_VERSION_MAJOR, NC_MAJOR, [Define the major version number]) AC_DEFINE(NC_VERSION_MINOR, NC_MINOR, [Define the minor version number]) AC_DEFINE(NC_VERSION_PATCH, NC_PATCH, [Define the patch version number]) -AC_DEFINE(NC_VERSION_STRING, "NC_MAJOR.NC_MINOR.NC_PATCH", [Define the version string]) +AC_DEFINE(NC_VERSION_STRING, "NC_MAJOR.NC_MINOR.NC_PATCH-RC1", [Define the version string]) # Checks for language AC_LANG([C]) diff --git a/scripts/nutcracker.spec b/scripts/nutcracker.spec index a8b529ae..efc0f3ae 100644 --- a/scripts/nutcracker.spec +++ b/scripts/nutcracker.spec @@ -1,7 +1,7 @@ Summary: Twitter's nutcracker redis and memcached proxy Name: nutcracker -Version: 0.4.1 -Release: 1 +Version: 0.5.0 +Release: 0.1.rc1 URL: https://github.com/twitter/twemproxy/ Source0: %{name}-%{version}.tar.gz @@ -66,6 +66,30 @@ fi %config(noreplace)%{_sysconfdir}/%{name}/%{name}.yml %changelog +* Tue Jul 06 2021 Tyson Andre +- twemproxy: version 0.5.0-RC1 release +- Add 'tcpkeepalive' pool boolean config flag setting to enable tcp keepalive (charsyam, manju) +- Support redis bitpos command (clark kang) +- Fix parsing of redis error response for error type with no space, add tests (tyson, tom dalton) +- Update integration tests, add C unit test suite for 'make check' (tyson) +- Increase the maximum host length+port+identifier to 273 in ketama_update (李广博) +- Always initialize file permissions field when listening on a unix domain socket (tyson) +- Use number of servers instead of number of points on the continuum when sharding requests to backend services to improve sharding performance and fix potential invalid memory access when all hosts were ejected from a pool. (tyson) +- Optimize performance of deletion of single redis keys (vincentve) +- Don't fragment memcache/redis get commands when they only have a single key (improves performance and error handling of single key case) (tyson) +- Don't let requests hang when there is a dns error when processing a fragmented request (e.g. multiget with multiple keys) (tyson) +- Allow extra parameters for redis spop (charsyam) +- Update documentation and README (various) +- Fix memory leak bug for redis mset (deep011) +- Support arbitrarily deep nested redis multi-bulk responses (nested arrays) (qingping209, tyson) +- Upgrade from libyaml 0.1.4 to 0.2.5 (tyson) +- Fix compiler warnings about wrong conversion specifiers in format strings for logging (tyson) +- Log the async backend used and any debug options in the '--help'/'--version' output. +- Add support for many more new redis commands and updates to existing redis commands (tyson) +- Optimization: Skip hashing and choosing server index when a pool has exactly one server (tyson) +- Support memcache 'version' requests by proxying the request to a single backend memcache server to fetch the server version. (tyson) +- Make error messages for creating the stats server during startup clearer. (tyson) + * Mon Jun 22 2015 Manju Rajashekhar - twemproxy: version 0.4.1 release - backend server hostnames are resolved lazily @@ -109,7 +133,7 @@ fi - support for set ex/px/nx/xx for redis 2.6.12 and up (ypocat) - kqueue (bsd) support (ferenyx) - fix parsing redis response to accept integer reply (charsyam) - + * Tue Jul 30 2013 Tait Clarridge - Rebuild SPEC to work with CentOS - Added buildrequires if building with mock/koji From 7fb53c512dfde1385ade98a59188043c78768ce7 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Tue, 6 Jul 2021 09:52:28 -0400 Subject: [PATCH 68/69] [skip ci] Rephrase google drive link in README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 74abc018..fbe29e47 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ A quick checklist: ### Older Releases -Distribution tarballs for twemproxy <= 0.4.1 can be found at https://drive.google.com/open?id=0B6pVMMV5F5dfMUdJV25abllhUWM&authuser=0 +Distribution tarballs for older twemproxy releases (<= 0.4.1) can be found on [Google Drive](https://drive.google.com/open?id=0B6pVMMV5F5dfMUdJV25abllhUWM&authuser=0). The build steps are the same (`./configure; make; sudo make install`). ## Features From ca45646e4e976fa42231fa7114f2cab504e60706 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Tue, 13 Jul 2021 12:00:48 -0400 Subject: [PATCH 69/69] Release twemproxy 0.5.0 --- ChangeLog | 4 ++++ configure.ac | 4 ++-- scripts/nutcracker.spec | 6 +++++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 116588be..d7e15161 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ + 2021-13-07 Tyson Andre + * twemproxy: version 0.5.0 release + Same as 0.5.0-RC1 + 2021-06-07 Tyson Andre * twemproxy: version 0.5.0-RC1 release Add 'tcpkeepalive' pool boolean config flag setting diff --git a/configure.ac b/configure.ac index efab66c5..0f96dbae 100644 --- a/configure.ac +++ b/configure.ac @@ -6,7 +6,7 @@ m4_define([NC_BUGS], [https://github.com/twitter/twemproxy/issues]) # Initialize autoconf AC_PREREQ([2.64]) -AC_INIT([nutcracker], [NC_MAJOR.NC_MINOR.NC_PATCH-RC1], [NC_BUGS]) +AC_INIT([nutcracker], [NC_MAJOR.NC_MINOR.NC_PATCH], [NC_BUGS]) AC_CONFIG_SRCDIR([src/nc.c]) AC_CONFIG_AUX_DIR([config]) AC_CONFIG_HEADERS([config.h:config.h.in]) @@ -19,7 +19,7 @@ AM_INIT_AUTOMAKE([1.9 foreign]) AC_DEFINE(NC_VERSION_MAJOR, NC_MAJOR, [Define the major version number]) AC_DEFINE(NC_VERSION_MINOR, NC_MINOR, [Define the minor version number]) AC_DEFINE(NC_VERSION_PATCH, NC_PATCH, [Define the patch version number]) -AC_DEFINE(NC_VERSION_STRING, "NC_MAJOR.NC_MINOR.NC_PATCH-RC1", [Define the version string]) +AC_DEFINE(NC_VERSION_STRING, "NC_MAJOR.NC_MINOR.NC_PATCH", [Define the version string]) # Checks for language AC_LANG([C]) diff --git a/scripts/nutcracker.spec b/scripts/nutcracker.spec index efc0f3ae..d109c007 100644 --- a/scripts/nutcracker.spec +++ b/scripts/nutcracker.spec @@ -1,7 +1,7 @@ Summary: Twitter's nutcracker redis and memcached proxy Name: nutcracker Version: 0.5.0 -Release: 0.1.rc1 +Release: 1 URL: https://github.com/twitter/twemproxy/ Source0: %{name}-%{version}.tar.gz @@ -66,6 +66,10 @@ fi %config(noreplace)%{_sysconfdir}/%{name}/%{name}.yml %changelog +* Tue Jul 06 2021 Tyson Andre +- twemproxy: version 0.5.0 release +- Same as 0.5.0-RC1 + * Tue Jul 06 2021 Tyson Andre - twemproxy: version 0.5.0-RC1 release - Add 'tcpkeepalive' pool boolean config flag setting to enable tcp keepalive (charsyam, manju)