Pregunta 5

index: batch db writes during initial sync by furszy · Pull Reques...

arejula27 19/05/2026 22:39
Pregunta 5-> Con el batching, el índice procesa N bloques en memoria y los persiste todos de golpe con un único WriteBatch. Si el nodo se apaga a mitad de una ventana, ¿desde qué punto reanuda el índice? ¿Es seguro reescribir entradas ya presentes en LevelDB?
27/05/2026 18:07
entremos de lleno en la PR!
Pol Espinasa 27/05/2026 18:08
Si se apaga a medio batch no pasa nada, el locator apunta al batch anterior y al empezar otra vez es como si ese batch no se hubiera empezado a procesar nunca
> 27/05/2026 18:09
Empieza desde el principio (del batch) de nuevo
👍 1
arejula27 27/05/2026 18:09
no solo eso, sino que no se llega a escribir el batch, no habria ni que sobrescribir!
👍 1
27/05/2026 18:09
desde el ultimo locator, lo mismo que hemos comentado en la 3
👍🏻 1
> 27/05/2026 18:10
claro el locator no se actualiza hasta después de terminar de escribir el batch, no?
27/05/2026 18:11
seguimos haciendo commit cada 30s
Pol Espinasa 27/05/2026 18:11
esto es lo que hace el 1r commit (creo)
👀 1
arejula27 27/05/2026 18:11
si no se ha escrito todo batch, el locator no hace nada
27/05/2026 18:12

Batch writes were intentionally not tied to the existing Commit() method.

> 27/05/2026 18:13
Y con respecto a la otra pregunta? si es seguro sobre-escribir en leveldb?
Pol Espinasa 27/05/2026 18:13
no se llega a sobre-escribir nunca
arejula27 27/05/2026 18:13
no deberia
furszy 27/05/2026 18:14
el primer commit es puro correctness, el iterator ‘pindex’ se usa para determinar el último bloque procesado. Y nosotros lo estabamos actualizando antes de procesar el bloque.
👍 2
Pol Espinasa 27/05/2026 18:16
hehe viste mi review 😛
🤣 1 😇 1
arejula27 27/05/2026 18:16
next?
Pol Espinasa 27/05/2026 18:16
yes!
furszy 27/05/2026 18:17
un tema
27/05/2026 18:17
quizás se llegan a sobreescribir datos
👀 3
27/05/2026 18:18
por ejemplo, que pasa si se procesa el batch, luego Commit() no se ejecuta y el usuario interrumpe el proceso
arejula27 27/05/2026 18:19
si, en ese caso si
27/05/2026 18:20
al final no creo que tenga peligro, haga flsuh o no, el trabajo hay que repetirlo
27/05/2026 18:20
solo cambia si el disco tiene el dato (sobre escribe) o aun no (no hzo flush)
furszy 27/05/2026 18:20
exacto. No es un problema para leveldb, la información es la misma.
🔥 1 👍 1
arejula27 27/05/2026 18:21
vamos a la 6!!😁