GetRecords: AT_SEQUENCE_NUMBER past a closed shard's ending number positions at the last record on the service
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
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
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
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de ExtendDB/extenddb
-
extenddb version prints the first build's commit after a rebuild in the same target directoryAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 4 días
-
Launch-prep: scope statement + backend tiers + version policyPosiblemente ocupada @navareamol la tomó hoy. Abierto
Dificultad 2/5 3-5 días Aptitud para principiantes 65/100
ExtendDB/extenddb#662 · 1 asignado ·
Los mantenedores suelen responder en 4 días
-
documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
ExtendDB/extenddb#658 · 1 comentario ·
Los mantenedores suelen responder en 4 días
-
backend:postgresql bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 4 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 4 días
Todos los issues de ExtendDB/extenddb
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
penso/herdr-gpui#934 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Y-ASLant/ElegantClipboard#178 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
linxiv-dev/linXiv#384 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
priority middle
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
KATO-Hiro/AtCoderClans#12945 ·
Los mantenedores suelen responder en 1 día
-
bug drawings ui
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
userFRM/egui-charts#1595 ·
Los mantenedores suelen responder en 1 día