Pregunta 1

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

arejula27 19/05/2026 22:37
Pregunta 1-> BaseIndex arranca un hilo de fondo que ejecuta Sync(). ¿Cuándo se activa este hilo y cuándo deja de usarse? ¿Qué diferencia hay entre el camino de Sync() y el de BlockConnected() para escribir datos? ¿Por qué existe esta separación?
27/05/2026 17:34
empecemos, que me podeis decir?
Pol Espinasa 27/05/2026 17:36
Arranca el hilo en StartBackgroundSync()
> 27/05/2026 17:36
Se activa en el startup, StartIndexBackgroundSync
arejula27 27/05/2026 17:36
asi es
27/05/2026 17:36
la diferencia de lso dos caminos?
Pol Espinasa 27/05/2026 17:36
y creo que se deja de usar cuando m_interrupt
arejula27 27/05/2026 17:37
yo diria que es al acabar la sincronizacion, con m_synced == false
👀 1
> 27/05/2026 17:38
Sync() es un mecanismo independiente, mas general y BlockConnected es más una subscripción
Pol Espinasa 27/05/2026 17:39
y la separacion?
27/05/2026 17:39
creo que existe por “velocidad”
arejula27 27/05/2026 17:39
asi es
Pol Espinasa 27/05/2026 17:39
con uno peudes hacer batch desde disco
27/05/2026 17:40
y el otro es un callback rapido?
👍 2
arejula27 27/05/2026 17:40
uno es solo al sincronizar por pirmera vez, el block conetd es una vez ya sync, conforme llegan los bloqyes
> 27/05/2026 17:40
Claro entiendo
arejula27 27/05/2026 17:41
de hecho esta PR solo ataca a los primeros
27/05/2026 17:41
no tiene sentido hacer batch de los que vienen cada 10 min
👍 1
Pol Espinasa 27/05/2026 17:41
claro esto es para ibd
👍 1
furszy 27/05/2026 17:42
No es por velocidad la separación de los procesos. Recuerden que solo existen notificaciones para nuevos eventos.
👍 1 👀 1
27/05/2026 17:43
al momento de sincronizar un indice, necesitas el historico de bloques. Por ende, hay que ir a disco.
❤️ 1 👍 1
arejula27 27/05/2026 17:43
seguimos con la 2?
👍 2