anticorruzione / npa

16 stars 6 forks source link

[BLK][Maggioli] Problemi nell'operazione 'ricerca-appalto': record assenti #1543

Open ManuelBridda opened 1 week ago

ManuelBridda commented 1 week ago

Abbiamo appena provato il ricerca-appalto per codice appalto, ma otteniamo sempre una response di questo tipo:

{
    "done": "Y",
    "validationErrors": null,
    "internalErrors": null,
    "anacErrors": null,
    "govwayMessageId": "42e60134-4802-481b-8991-cde3cc7ed991",
    "govwayTransactionId": "e3825fdc-2971-11ef-a2a9-00505684399c",
    "cartId": null,
    "data": {
        "instance": null,
        "status": 200,
        "title": "OK",
        "detail": "Operazione eseguita con successo",
        "type": "about:blank",
        "totRows": 0,
        "totPages": 0,
        "currentPage": 1,
        "elementPage": 0,
        "result": []
    }
}

prove fatte sia in collaudo che produzione, con gare effettivamente pubblicate.

Relativamente alla dimensione, per pubblicare 174 lotto (sia sui 3-4Mbyte totali, quindi molto sotto i 20) abbiamo avuto problemi anche nelle operazioni successive di verifica e conferma, ovvero il sistema alla fine gestisce il carico ma non torna in tempo la risposta e quindi timeout. Detto che non possiamo pensare di gestire manualmente step by step centinaia di gare multilotto, o si trova il modo di efficientare il servizio o si allungano i tempi di timeout o ci mettere a disposizione un'operazione per tener viva la sessione finche il sistema non ce la fa a rispondere.

Originally posted by @laurapavan in https://github.com/anticorruzione/npa/issues/1468#issuecomment-2165303313

Rispetto alla situazione sopracitata, sottolineo anche la seguente casistica: l'operazione con filtro stato=PUBB (stato col maggior numero di record nella response) ci comunica che sono presenti 37 record, e ce ne mostra 12/20 (non abbiamo settato limiti alla paginazione, quindi viene applicato il default):

{
    "done": "Y",
    "validationErrors": null,
    "internalErrors": null,
    "anacErrors": null,
    "govwayMessageId": "e9adab89-825e-45c2-a307-adb08491b90a",
    "govwayTransactionId": "a35c0c27-3463-11ef-8dc0-0050568e08b3",
    "cartId": null,
    "data": {
        "instance": null,
        "status": 200,
        "title": "OK",
        "detail": "Operazione eseguita con successo",
        "type": "about:blank",
        "totRows": 37,
        "totPages": 2,
        "currentPage": 1,
        "elementPage": 12,
        ....
        }
}

applicando l'ulteriore filtro "perPage=10", otteniamo invece 6/10 record :

{
    "done": "Y",
    "validationErrors": null,
    "internalErrors": null,
    "anacErrors": null,
    "govwayMessageId": "ee83422a-2448-476a-9bcc-86e4529191c4",
    "govwayTransactionId": "5577e76f-3464-11ef-bd08-0050568e9679",
    "cartId": null,
    "data": {
        "instance": null,
        "status": 200,
        "title": "OK",
        "detail": "Operazione eseguita con successo",
        "type": "about:blank",
        "totRows": 37,
        "totPages": 4,
        "currentPage": 1,
        "elementPage": 6,
        ....
        }
}

Con "perPage=5", ne otteniamo 2. Con "perPage=1", non otteniamo risultati

Sospettiamo che vi siano degli errori sia nella costruzione della response che nel recupero delle schede dalla base dati