Una failure ricorre nell'ambito di protipo20-t8-generazione-1.
La frequenza della failure è molto alta: in un campione di un'ora di esecuzione del container è stata osservata in 15 casi distinti.
Al momento è disponibile solo il log corrispondente del container, mentre non è disponibile una procedura di replicazione dell'eccezione.
2024-05-13 20:08:02 (prova_esecuzione_parametri4.js) Creation of the directory where the test will be saved /VolumeT8/FolderTreeEvo/HSLColor/StudentLogin/Player14/Game16/Round16/Turn1/TestReport
2024-05-13 20:08:03 node:internal/fs/utils:351
2024-05-13 20:08:03 throw err;
2024-05-13 20:08:03 ^
2024-05-13 20:08:03
2024-05-13 20:08:03 Error: ENOENT: no such file or directory,open '/VolumeT8/FolderTreeEvo/HSLColor/StudentLogin/Player11/Game11/Round11/Turn9/TestReport/GameData.csv'
2024-05-13 20:08:03 at Object.openSync (node:fs:596:3)
2024-05-13 20:08:03 at Object.readFileSync (node:fs:464:35)
2024-05-13 20:08:03 at /app/Serv/prova_esecuzione_parametri4.js:180:55
2024-05-13 20:08:03 at ChildProcess.exithandler (node:child_process:414:7)
2024-05-13 20:08:03 at ChildProcess.emit (node:events:517:28)
2024-05-13 20:08:03 at maybeClose (node:internal/child_process:1098:16)
2024-05-13 20:08:03 at ChildProcess._handle.onexit (node:internal/child_process:303:5) {
2024-05-13 20:08:03 errno: -2,
2024-05-13 20:08:03 syscall: 'open',
2024-05-13 20:08:03 code: 'ENOENT',
2024-05-13 20:08:03 path: '/VolumeT8/FolderTreeEvo/HSLColor/StudentLogin/Player11/Game11/Round11/Turn9/TestReport/GameData.csv'
2024-05-13 20:08:03 }
Il problema sembra quindi risiedere in una chiamata in apertura di un file.
Non si vedono però eccezioni o fallimenti nelle operazioni precedenti, per cui rimane aperta la possibilità che la causa del fallimento sia dovuta alla concorrenza tra diverse richieste di valutazione delle metriche eseguite da diversi utenti.
La conseguenza della failure è l'interruzione repentina del container, che può essere solo riavviato manualmente.
Una prima soluzione potrebbe essere nella gestione dell'eccezione in modo da impedire almeno la caduta del container e propagando eventualmente un messaggio di errore verso il chiamante.
Una failure ricorre nell'ambito di protipo20-t8-generazione-1. La frequenza della failure è molto alta: in un campione di un'ora di esecuzione del container è stata osservata in 15 casi distinti.
Al momento è disponibile solo il log corrispondente del container, mentre non è disponibile una procedura di replicazione dell'eccezione.
2024-05-13 20:08:02 (prova_esecuzione_parametri4.js) Creation of the directory where the test will be saved /VolumeT8/FolderTreeEvo/HSLColor/StudentLogin/Player14/Game16/Round16/Turn1/TestReport 2024-05-13 20:08:03 node:internal/fs/utils:351 2024-05-13 20:08:03 throw err; 2024-05-13 20:08:03 ^ 2024-05-13 20:08:03 2024-05-13 20:08:03 Error: ENOENT: no such file or directory, open '/VolumeT8/FolderTreeEvo/HSLColor/StudentLogin/Player11/Game11/Round11/Turn9/TestReport/GameData.csv' 2024-05-13 20:08:03 at Object.openSync (node:fs:596:3) 2024-05-13 20:08:03 at Object.readFileSync (node:fs:464:35) 2024-05-13 20:08:03 at /app/Serv/prova_esecuzione_parametri4.js:180:55 2024-05-13 20:08:03 at ChildProcess.exithandler (node:child_process:414:7) 2024-05-13 20:08:03 at ChildProcess.emit (node:events:517:28) 2024-05-13 20:08:03 at maybeClose (node:internal/child_process:1098:16) 2024-05-13 20:08:03 at ChildProcess._handle.onexit (node:internal/child_process:303:5) { 2024-05-13 20:08:03 errno: -2, 2024-05-13 20:08:03 syscall: 'open', 2024-05-13 20:08:03 code: 'ENOENT', 2024-05-13 20:08:03 path: '/VolumeT8/FolderTreeEvo/HSLColor/StudentLogin/Player11/Game11/Round11/Turn9/TestReport/GameData.csv' 2024-05-13 20:08:03 }
Il problema sembra quindi risiedere in una chiamata in apertura di un file. Non si vedono però eccezioni o fallimenti nelle operazioni precedenti, per cui rimane aperta la possibilità che la causa del fallimento sia dovuta alla concorrenza tra diverse richieste di valutazione delle metriche eseguite da diversi utenti.
La conseguenza della failure è l'interruzione repentina del container, che può essere solo riavviato manualmente.
Una prima soluzione potrebbe essere nella gestione dell'eccezione in modo da impedire almeno la caduta del container e propagando eventualmente un messaggio di errore verso il chiamante.