Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Large PEXPIRE closes the connection without a reply

Aperta
#2,245 0 commenti 0 reazioni 1 assegnatario Vedi su GitHub

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
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
csharp, redis
Ambito
database

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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di microsoft/garnet

Tutte le issue di microsoft/garnet

Issue simili

Altre issue su C#

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.