- Se descapó
- 23 de septiembre de 2026 a las 1:27 UTC
- Autor
- Kamo
- Compromit
- ae437eb
"Leads available" era COUNT(*) sobre la piscina asignable, y la piscina de una org contiene pistas de 796k: 7.8 s por (mercado, producto) conteo y 11 millones de EUR para el agrupado (medido 2026-09-17). Gestionar-Crédito corrió el único conteo una vez por fila de asignación, Leads-Disponible una vez por producto, y cada Acepta corrió Otro solo para transmitir la nueva figura. Los saldos de crédito eran de la misma forma en los créditos de plomo, que se queda con cada crédito gastado para siempre. Ambas figuras provienen ahora de totales mantenidos: leads.pool.counts / lead-credit.balances plus a diario solo de deltas que la fila desencadena en pistas / leads-créditos escriben en la misma transacción como cambio (servicio de seguridad create.lead-ledgers.sql, aplicado 2026-09-22). Una lectura de sumas totales. diario en una declaración, por lo que es exacto, y Hibernate se enrojece a la espera de una consulta nativa, Así que una transacción ve sus propias mentas y gasta. Los métodos del repositorio mantienen sus nombres, así que cada Llamada en cada servicio se mueve con esta biblioteca. DaemonService dobla el diario cada 30 s y Relata todas las noches, adjuntando una corrección para cualquier deriva. También: - La selección Aceptada (encontradAssignablePool) lea y ha ordenado toda la piscina de productos: 9,5 s por Aceptación. Ahora se encuentraPoolUids asignables, atrapado con una pista de pg-hint-plan al nuevo índice parcial ixleads.assignable-pool, porque el planificador heredido de este clúster prefiere ix-leads.org.market y de acuerdo. 9,470 ms - 4 ms en la piscina en vivo; la sonda existencia (segándote de muestrasAssignablePoolUids) de la misma manera, y un producto vacío ya no cuesta un escaneo de todo su mercado. - Loch lee para las rejillas: ************* (el equilibrio de cada fila en una lectura), findSpentCreditsInRange (los gastos de todos los miembros desde la primera medianoche local), countAcceptedSinceByProduct, y **************** el gemelo en memoria de findAplicableAplicaciones para resolver muchos pares (de mercado, producto) de una lista. Pruebas: LeadLedgerQueryShapeP pincha el libro lee el libro, la pinza no negativa, los moldes de bigint y la pista del índice; LeadAllotmentMostSpecificOfTest pina el solucionador a las reglas de la consulta. El gatillo DDL, cada lectura, el pliegue y el recuento se volvieron a reproducir contra YugabyteDB (mesas de t, 60 cheques). Suite completa: 3012 pruebas, 5 fallando exactamente como en a6374937 (StorageDomainCoverage, StorageSmainAssociationLookup, ReportVisibility, PhiServiceTypeMapping, SystemBugCountContract).
