Large PEXPIRE closes the connection without a reply
I maintainer di solito rispondono entro 2 giorni
@TedHartMS ci sta già lavorando.
Dal 15/10/2026.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 62/100
Direzione di ricerca
The payload names no source file. Run the included Python script against a local Garnet instance to reproduce the dropped connection, then find the PEXPIRE handler and its millisecond-to-expiry conversion. Issue #2094 fixed the GETEX path and may show the overflow pattern to follow. Done when a missing key returns integer 0 (or a normal error for out-of-range values) and the connection stays open.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the bug
A large PEXPIRE on a missing key closes the connection without a reply. The server stays up and a new connection can PING.
Steps to reproduce the bug
Run this Python 3 script against a local test instance at port 6379 (standard library only):
import socket, uuid
args = [b"PEXPIRE", uuid.uuid4().hex.encode(), b"300000000000000"]
request = b"*3\r\n" + b"".join(b"$%d\r\n%s\r\n" % (len(a), a) for a in args)
with socket.create_connection(("127.0.0.1", 6379), timeout=3) as client:
client.settimeout(3)
client.sendall(request)
print(repr(client.recv(64)))
Actual: an empty byte string (EOF).
Expected behavior
Redis returns an integer reply of 0. A normal error would also be fine if the expiry is outside Garnet's supported range.
Screenshots
No response
Release version
Garnet main at 44cf0bdb7d36 (reports 2.2.1)
IDE
No response
OS version
Linux arm64
Additional context
EXPIRE with 300000000000 has the same result. Related: #2094 fixed the GETEX path.
- Lingua principale
- C#
- Stelle
- 12k
- Fork
- 711
- Merge medio
- 2g 7h
- PR unite (30g)
- 56
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di microsoft/garnet
-
HINCRBY wraps on int64 overflow and stores the resultForse già presa @TedHartMS l’ha presa 1 giorno fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
microsoft/garnet#2243 · 1 assegnatario ·
I maintainer di solito rispondono entro 2 giorni
-
An integer argument >= 2^64 returns "ERR Protocol Error" and closes the connection (INCRBY, PEXPIRE, LRANGE, LINDEX, …)Forse già presa @TedHartMS l’ha presa 1 giorno fa. Aperta
microsoft/garnet#2249 · 1 assegnatario ·
I maintainer di solito rispondono entro 2 giorni
-
INCR rejects a stored INT64_MIN valueForse già presa @TedHartMS l’ha presa 1 giorno fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 62/100
microsoft/garnet#2246 · 1 assegnatario ·
I maintainer di solito rispondono entro 2 giorni
-
Expired keys still affect type checks, SETNX and DELForse già presa @TedHartMS l’ha presa 1 giorno fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 62/100
microsoft/garnet#2244 · 1 assegnatario ·
I maintainer di solito rispondono entro 2 giorni
-
2.2.1: SAVE fails - main index checkpoint buffer only 512-byte aligned on 4096-sector device (NativeStorageDevice misaligned I/O)Forse già presa @TedHartMS l’ha presa 3 giorni fa. Aperta
microsoft/garnet#2239 · 2 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di microsoft/garnet
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 60/100
I maintainer di solito rispondono entro 1 giorno
-
area: design documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
eyalgolan/statecraft-israel#883 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 3 giorni
-
area/indexing bug package/core triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
nunit/nunit-console#1913 ·
I maintainer di solito rispondono entro 1 giorno