KamoCRM

Page the grid endpoint and take the PHI audit write off the request thread

PerformanceSecurityService
Spegnimento
20 agosto 2026 alle ore 23:34 UTC
Autore
Kamo
Impegno
18d2387

GET /api/security/leads ha restituito ogni vantaggio nell'organizzazione. Ora prende pagina / dimensione / assortimento più i filtri che la griglia utilizza in realtà, e restituisce una pagina con un totale. Misurato sulla produzione 2026-08-20: 1.427 conduce catturati e controllati in modo che sette possano essere visualizzati, 23.3 s un carico, di che 23.3 s era il ciclo di audit. Questo loop è il motivo per cui la paging conta più di quanto sembri: recordLeadList scrive una riga phi acces log per lead RETURNED, quindi una pagina di 50 righe scrive 50 righe. Ora consegna il lotto per registrareAll (una transazione, non 1.427), e la scrittore è avvolto in AsyncPhiAccessLogWriter così elenco e visualizzare record lasciare il thread richiesta. I tipi chiusi da Fail continuano a scrivere sincroni e può ancora rifiutare la lettura; distruggereMethod drena la coda così un rotolamento riavvio non scarta il record di letture che già è accaduto. VIEW UNASSIGNED LEADS si sposta da un post-filtro nell'elenco materializzato nella query, così il numero totale del pager conta solo righe che il chiamante può vedere e nessun valore query-string può ampliarlo. assegnato=ME risolve dal sessione per lo stesso motivo. I filtri arrivano come un limite LeadGridParams piuttosto che ventidue @RequestParams: in questo codebase un cambiamento di firma è il più alto rischio modificare là è, perché compila ovunque tranne i test e un servizio i cui test non compilano mai costruisce un'immagine. LeadGridSpecificationSqlTest compila le specifiche contro reale metadati ibernati su 6.2.13 — la versione che questo servizio funziona, non il 6.5 la biblioteca si costruisce. Ha colto i sentieri; il controllore testa mock il servizio e non toccarli mai. Configurazione: jdbc.batch size + order inserts quindi la scrittura di audit batch è una andata e ritorno, e default batch fetch size per le associazioni EAGER di Lead. open-in-view è ora dichiarato esplicitamente come vero — diversi commenti in questo servizio affermano che è spento e si sbagliavano. Il sentiero conduce non più dipende da esso in entrambi i modi; spegnerlo globalmente ha bisogno di un endpoint-by-endpoint audit e non è deliberatamente fatto qui. Inoltre: System.out.println rimosso dal percorso di richiesta, compreso un completo discarica intestazione che stava stampando token di sessione dal vivo a stdout su ogni piombo Leggi. I percorsi di errore mantengono il loro lanciabile a ERROR. docs/phi-access-log-growth.md registra la ritenzione e la recensione dell'indice: tutti tre indici secondari riportano una query documentata di conformità e vengono mantenuti; il problema di crescita è stato il conteggio delle file, che la paging fissa.

Tutte le modifiche

Come quello che vedi la spedizione?

Tutto questo arriva nel vostro spazio di lavoro da solo. Iniziare sul piano gratuito e leggere di nuovo questa pagina in un mese.

Inizia gratis per sempreVisualizza il prezzo