Realtime Database - reading data gives wrong value if transaction is pending
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript, node.js
- Área
- database
Línea de trabajo
Comienza con la reproducción en Node.js usando admin.database().ref(...).transaction(...), seguida de parent ref.once('value', ...), y compara el array devuelto con y sin la transacción. Lee el comportamiento de las transacciones y las lecturas de Realtime Database para determinar el resultado esperado; se considera completado cuando el caso de la transacción pendiente se corrige o se resuelve explícitamente según lo previsto.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
[REQUIRED] Step 2: Describe your environment
- Operating System version: macOS 14.5 (23F79)
- Firebase SDK version: 12.2.0
- Firebase Product: database
- Node.js version: v20.13.0
- NPM version: v10.5.2
[REQUIRED] Step 3: Describe the problem
If a transaction is pending for a node, it doesn't show up when reading data for the parent node with .once("value", ...). I'm not sure if this is a bug or intended behavior.
Steps to reproduce:
For these examples, our database looks like this:
{
"example_list": [
"a",
"b",
"c"
]
}
This code works as expected:
let ref = admin.database().ref("example_list");
ref.once('value', (snap) => {
console.log(snap.val())
});
Logs: [ 'a', 'b', 'c' ]
This code does NOT work as expected:
admin.database().ref("example_list/1").transaction((currentData) => {
return currentData;
});
let ref = admin.database().ref("example_list");
ref.once('value', (snap) => {
console.log(snap.val())
});
Logs: [ 'a', <1 empty item>, 'c' ]
Adding a transaction first, which seems like a no-op, actually causes the read to return a different result.
- Lenguaje dominante
- TypeScript
- Estrellas
- 1.7k
- Forks
- 419
- Merge medio
- 4 d 20 h
- PR fusionados (30 d)
- 16
Preparar el entorno
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 firebase/firebase-admin-node
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
firebase/firebase-admin-node#3234 ·
Los mantenedores suelen responder en 1 día
-
[email protected] stable dependency tree fails npm audit via Storage uuid and Firestore google-gaxPosiblemente ocupada @lahirumaramba la tomó hace 18 días. Abierto
firebase/firebase-admin-node#3221 · 3 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
api: messaging
Dificultad 3/5 1-2 días Aptitud para principiantes 70/100
firebase/firebase-admin-node#3215 ·
Los mantenedores suelen responder en 1 día
-
api: messaging
Dificultad 5/5 Más de una semana Aptitud para principiantes 28/100
firebase/firebase-admin-node#3214 ·
Los mantenedores suelen responder en 1 día
-
[Firestore] Re-export functions from '@google-cloud/firestore/pipelines'Quizá libre de nuevo @jonathanedey la tomó hace 88 días y no hay ningún pull request abierto. Abiertoapi: firestore type: feature request
firebase/firebase-admin-node#3183 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
Todos los issues de firebase/firebase-admin-node
Issues similares
-
module-request
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
ports get and web print 'Port N already in use, trying next...' for every busy port they skipAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
appandflow/stim#1604 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
lingdojo/kana-dojo#31060 · 1 comentario · 5 reacciones ·
Los mantenedores suelen responder en 1 día
-
SSH workspace restore rewrites relative symlinks into the deleted sync-back staging directoryAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
paperclipai/paperclip#14173 ·
Los mantenedores suelen responder en 1 día
-
needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día