- 04 Jul, 2018 4 commits
-
-
Marc Gravell authored
fix pathological case when consuming *really really* buffers (SMEMBERS on 5M rows for example) - have BufferReader keep a SequencePosition "snapshot", and compute sub-buffers using that (also fixes bug where LoggingPipe wasn't using the right thresholds, but that's a debug tool only)
-
Marc Gravell authored
Make SetPopMultiple available on RedisFeatures; use in test; test for explicit single SPOP; add fast zero SPOP
-
Marc Gravell authored
fix #875 - string encode was failing to encode correctly (also make more consistent use of GetReference)
-
Nick Craver authored
This API was missing - resolves #203
-
- 03 Jul, 2018 10 commits
-
-
Nick Craver authored
-
Nick Craver authored
-
Nick Craver authored
This may just not make sense anymore, but let's log and look at the numbers.
-
Nick Craver authored
-
Nick Craver authored
-
Marc Gravell authored
-
Marc Gravell authored
-
Nick Craver authored
Resolves #855
-
Marc Gravell authored
-
Marc Gravell authored
-
- 02 Jul, 2018 19 commits
-
-
Nick Craver authored
Twemproxy handles this internally - we were incorrectly blocking it.
-
Nick Craver authored
-
Nick Craver authored
-
Nick Craver authored
-
Nick Craver authored
This was correct before, not sure how we convinced ourselves otherwise. I added additional verification checks to the tests.
-
Nick Craver authored
-
Marc Gravell authored
-
Marc Gravell authored
Ensure that pre-handshake backlog is completed successfully; also simplify how sent messages get the exception recorded; can massively simplify if we know we've already burned the connection
-
Marc Gravell authored
-
Marc Gravell authored
-
Marc Gravell authored
-
Marc Gravell authored
-
Nick Craver authored
Known breaking change and intended for 2.0. See #809 for details - pretty much for unit testing.
-
Nick Craver authored
Better handling for null an empty values to SetRemove(Async), Redis will throw here so there's no reason we can't gracefully hamdle it better.
-
Nick Craver authored
-
Nick Craver authored
-
Nick Craver authored
-
Nick Craver authored
-
Nick Craver authored
-
- 29 Jun, 2018 7 commits
-
-
Nick Craver authored
This is interesting, and may explain some other hangs. Previously, arr was null, and the .Length call in the MultiBulk case was throwing a null ref. This doesn't throw externally through, it just runs forever. While there's a timeout guard against this on the ExecuteSync path, there's not on ExecuteAsync. This is easy to reproduce for example add this at the top of the result processor: if (result.Type == ResultType.MultiBulk) throw new Exception("Woops"); ...and we'll only see timeouts on sync and forever runs on async. I left this code in (commented) for an easy repro case. /cc @mgravell -
Nick Craver authored
This isn't the source of our timeouts...as there aren't running. But cleaning up usages.
-
Nick Craver authored
Turns out @mgravell really really liked "foo" and "hashset" years ago =P
-
Nick Craver authored
-
Marc Gravell authored
ackowledge that we can timeout while waiting to get on the write queue; up the sync timeout default; rename Queue=>Write - we don't have a queue any more
-
Nick Craver authored
TL;DR: This behaves different on a redis server running on Linux vs. Windows.
-
Nick Craver authored
-