denodrivers / denodrivers/redis
test: `pubsub` > `retry` seems flaky
- Dominant language
- TypeScript
- Stars
- 465
- Forks
- 48
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 5
Description
```shell
retry ... FAILED(1s)
error: ConnectionReset: Connection reset by peer (os error 104)
const rr = await this.#rd.read(this.#buf.subarray(this.#w));
^
at async read (deno:ext/net/01_net.js:28:19)
at async BufReader.#fill (https://deno.land/std@0.149.0/io/buffer.ts:323:18)
at async BufReader.peek (https://deno.land/std@0.149.0/io/buffer.ts:654:9)
at async readReply (file:///home/runner/work/redis/redis/protocol/reply.ts:13:15)
at async RedisConnection.sendCommand (file:///home/runner/work/redis/redis/connection.ts:111:19)
at async RedisConnection.reconnect (file:///home/runner/work/redis/redis/connection.ts:183:7)
at async RedisSubscriptionImpl.receive (file:///home/runner/work/redis/redis/pubsub.ts:118:11)
at async Promise.all (index 1)
at async Object. (file:///home/runner/work/redis/redis/tests/commands/pubsub.ts:125:5)
at async Function.runTest (https://deno.land/std@0.149.0/testing/_test_suite.ts:358:7)
```
https://github.com/denodrivers/redis/runs/7499043692?check_suite_focus=true
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with tests/commands/pubsub.ts around the retry test at line 125, then inspect pubsub.ts, connection.ts, and protocol/reply.ts using the reported stack trace. Reproduce the failure from the linked GitHub Actions run and determine why the retry path surfaces ConnectionReset; done means the test no longer flakes while preserving the intended retry behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- redis, typescript
- Domain
- backend, testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100