Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

GetRecords: AT_SEQUENCE_NUMBER past a closed shard's ending number positions at the last record on the service

Abierto
#521 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 4 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
1-2 días
Aptitud para principiantes
54/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
rust
Área
database

Línea de trabajo

Start by measuring the open-shard and between-records cases described in the issue, then inspect the AT_SEQUENCE_NUMBER iterator positioning path and tests for shard iterators. If the measurements confirm the stated rule, position the iterator at the greatest record sequence number not exceeding the request. Done means the new cases match the measured service behavior and the closed-shard case no longer returns a record past the shard end.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug

Summary

On a closed shard holding one record with sequence number S (equal to its EndingSequenceNumber), GetShardIterator AT_SEQUENCE_NUMBER with a number greater than S (measured with S plus 1 and S plus 10^15, twice each) issues an iterator, and GetRecords on it returns that record. AFTER_SEQUENCE_NUMBER with S or greater returns no records. So the service positions an AT_SEQUENCE_NUMBER iterator at the last record at or before the requested number when the number is past the shard's end, rather than after it. ExtendDB returns no records for AT_SEQUENCE_NUMBER past the shard's last record.

Reachable only with a number the client did not obtain from the shard (every number a consumer holds is at or before the ending number), so low priority. Whether the same positioning applies on an open shard, and what the service does for a number between two records, was not measured.

Fix shape

Measure the open-shard and between-records cases first; then, if the rule is "at or before", position AT_SEQUENCE_NUMBER at the greatest record sequence number not exceeding the request. Relevant to #372, which ends the iterator at the ending number.

Found while reviewing #515.

Lenguaje dominante
Rust
Estrellas
517
Forks
60
Merge medio
4 d 22 h
PR fusionados (30 d)
40

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de ExtendDB/extenddb

Todos los issues de ExtendDB/extenddb

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.