-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Protocol support: RESP3 #2396
Protocol support: RESP3 #2396
Commits on Aug 10, 2023
-
first stab at RESP3; no actual parse code at the moment - this is API…
…-centric - introduce `Resp2Type` and `Resp3Type` shims (`Resp2Type` has reduced types) - mark existing `Type` as `[Obsolete]`, and proxy to `Resp2Type` for compat - deal with null handling differences - deal with `Boolean`, which works very differently (`t`/`f` instead of `1`/`0`) remove RedisResult.Type from Shipped.txt - handle RESP3 types - handle [+|-]{inf|nan} - avoid alloc when parsing doubles made the RedisResult constructor non-public (fix accidental API) remove RawResult.Type; fix broken loop format incorrect attribute check - nomenclature: MultiBulk => Array - efficiency: use bit-packing to RESP2 type conversion is a bit mask fix RawResult.HasValue fix null array return (EmptyMultiBulk is no longer helpful) add a ToString to Replica (other bits were local test setup issues) simplify switch in TryParseDouble - protocol configuration parsing - avoid inbuilt equality/comparison operations on Version - rules for when to try resp3 configuration documentation words fix ConfigurationOptions.Clone actually connect via RESP3 demand redis6 in the RESP3 connect test remove unnecessary directives Lua results more tests and tweaks to fix tests simplify handshake fallback connect move SETNAME back into HELLO message; add lots of documentation about *why* DEBUG PROTOCOL tests; some failures to look at fix protocol tests add missing "hide me" attribs add docs and release notes tyop redundant re-enable to get server-maintenance notifications - ConnectWithBrokenHello is inconclusive if not a v6 server - allow non-RESP3 tests on non-v6 servers "DEBUG PROTOCOL" tests are inconclusive on non-v6 fix TryConnect (CLIENT ID) not always available save all counting is hard expose IAsyncEnumerable on ChannelMessageQueue (#2402) * expose IAsyncEnumerable on ChannelMessageQueue fix #2400 * PR number * move ChannelMessageQueue.GetAsyncEnumerator to shipped LUA conversions version Lua RESP conversions true/false handling depends on setresp(3) revert "if" split in ResultProcessor use enum for RedisProtocol reinstate parameterless RedisResult .ctor fix resp 2/3 inversion snafu from enumification fix resp dependent connection reuse issue add failing Execute test re RESP2 vs RESP3 delta ValuePairInterleavedProcessorBase should auto-handle responses that have become jagged in RESP3 pattern match is easier to read here - move IsResp3; that is a PhysicalConnection thing, not a ServerEndPoint thing - allow RawResult to know whether it is RESP3; involved moving some flags (which removes a bit hack we were using, so: yay) - make the interleave un-jaggedify only apply on RESP3 add more RESP3 API change tests compensate for XREAD having a different shape in RESP3 disable implicit RESP3 based on target server version # Conflicts: # docs/Configuration.md # docs/ReleaseNotes.md # src/StackExchange.Redis/ConfigurationOptions.cs # src/StackExchange.Redis/ConnectionMultiplexer.cs # src/StackExchange.Redis/Interfaces/IConnectionMultiplexer.cs # src/StackExchange.Redis/ServerEndPoint.cs # tests/StackExchange.Redis.Tests/PubSubTests.cs # tests/StackExchange.Redis.Tests/TestBase.cs
Configuration menu - View commit details
-
Copy full SHA for ed1b107 - Browse repository at this point
Copy the full SHA ed1b107View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4c2cd0d - Browse repository at this point
Copy the full SHA 4c2cd0dView commit details -
test setup: ensure we don't false-negative due to confusion between s…
…erver version and protocol
Configuration menu - View commit details
-
Copy full SHA for 843a84e - Browse repository at this point
Copy the full SHA 843a84eView commit details -
Configuration menu - View commit details
-
Copy full SHA for a548b51 - Browse repository at this point
Copy the full SHA a548b51View commit details
Commits on Aug 11, 2023
-
- remove double CLIENT ID (retain the "main" property, ConnectionId)
- add a few missing ForAwait - add onnectWithTiming which is intended to find the netfx connect stall
Configuration menu - View commit details
-
Copy full SHA for e0efe48 - Browse repository at this point
Copy the full SHA e0efe48View commit details
Commits on Aug 16, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 9f01470 - Browse repository at this point
Copy the full SHA 9f01470View commit details -
- advertise RedisProtocol on IServer
- fix cluster tests (false positive: we *expect* zero subscriber connections in RESP3) - fix flakey Lua test (unrelated to resp 3) - separate the Me() key in protocol dependent tests
Configuration menu - View commit details
-
Copy full SHA for af46e9e - Browse repository at this point
Copy the full SHA af46e9eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7efe5f8 - Browse repository at this point
Copy the full SHA 7efe5f8View commit details -
generalize such that verbatim strings always return just the value po…
…rtion unless explicitly requested
Configuration menu - View commit details
-
Copy full SHA for cf956c1 - Browse repository at this point
Copy the full SHA cf956c1View commit details -
- fix pubsub failover tests (resp3 changes which connections need to …
…die) - fix tests that assumed Create returned a real ConnectionMultiplexer
Configuration menu - View commit details
-
Copy full SHA for 0a5505f - Browse repository at this point
Copy the full SHA 0a5505fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 29c88d0 - Browse repository at this point
Copy the full SHA 29c88d0View commit details
Commits on Aug 22, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 00daa23 - Browse repository at this point
Copy the full SHA 00daa23View commit details -
Configuration menu - View commit details
-
Copy full SHA for a3feb31 - Browse repository at this point
Copy the full SHA a3feb31View commit details
Commits on Aug 23, 2023
-
deal with problems with order of tests breaking connections; don't le…
…t the fixture hold broken connections
Configuration menu - View commit details
-
Copy full SHA for e592e01 - Browse repository at this point
Copy the full SHA e592e01View commit details -
Configuration menu - View commit details
-
Copy full SHA for 951ee96 - Browse repository at this point
Copy the full SHA 951ee96View commit details -
Tests: Add support for [RunPerProtocol] and simplify multi-protocol t…
…esting This is a simpler approach to duplicating tests, but also fixes many - when changing things I noticed several base classes were incorrect so we silently dropped many tests in the PR inadvertently.
Configuration menu - View commit details
-
Copy full SHA for 117b93f - Browse repository at this point
Copy the full SHA 117b93fView commit details
Commits on Sep 5, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 0c74763 - Browse repository at this point
Copy the full SHA 0c74763View commit details -
Configuration menu - View commit details
-
Copy full SHA for 126e32a - Browse repository at this point
Copy the full SHA 126e32aView commit details -
We have to get off AppVeyor and on to something else, testing against 3.1 in the mainline is kinda bananapants at this point.
Configuration menu - View commit details
-
Copy full SHA for 8c388a9 - Browse repository at this point
Copy the full SHA 8c388a9View commit details -
These were colliding on RESP2/RESP3 but also using an entirely different system...let's simplify!
Configuration menu - View commit details
-
Copy full SHA for af96022 - Browse repository at this point
Copy the full SHA af96022View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6d53672 - Browse repository at this point
Copy the full SHA 6d53672View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5c24f7a - Browse repository at this point
Copy the full SHA 5c24f7aView commit details -
Configuration menu - View commit details
-
Copy full SHA for eb36efb - Browse repository at this point
Copy the full SHA eb36efbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 517eaea - Browse repository at this point
Copy the full SHA 517eaeaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 18e0ea9 - Browse repository at this point
Copy the full SHA 18e0ea9View commit details
Commits on Sep 7, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 8ddd99a - Browse repository at this point
Copy the full SHA 8ddd99aView commit details