Risoluzione degli errori Spark - AWS Glue
Errore: risorsa non disponibileErrore: impossibile trovare l'endpoint S3 o il gateway NAT per il subnetId in VPCErrore: regola in entrata obbligatoria nel gruppo di sicurezzaErrore: regola in uscita obbligatoria nel gruppo di sicurezzaErrore: l'esecuzione del processo non è riuscita perché al ruolo passato devono essere assegnate le autorizzazioni per usare il ruolo per il servizio AWS GlueErrore: l'operazione DescribeVpcEndpoints non è autorizzata. Impossibile convalidare l'ID VPC vpc-idErrore: l'operazione DescribeRouteTables non è autorizzata. Impossibile convalidare l'ID della sottorete Subnet-id nell’ID del VPC vpc-idErrore: impossibile chiamare ec2:DescribeSubnetsErrore: impossibile chiamare ec2:DescribeSecurityGroupsErrore: impossibile trovare la sottorete per la zona di disponibilitàErrore: eccezione dell'esecuzione del processo durante la scrittura in una destinazione JDBCErrore: Amazon S3: l'operazione non è valida per la classe di archiviazione dell'oggettoErrore: timeout di Amazon S3Errore: accesso ad Amazon S3 negatoErrore: l'ID chiave di accesso Amazon S3 non esisteErrore: l'esecuzione del processo restituisce un errore durante l'accesso ad Amazon S3 con un URI s3a://Errore: token di servizio Amazon S3 scadutoErrore: non è stato trovato alcun DNS privato per l'interfaccia di reteErrore: provisioning dell'endpoint di sviluppo non riuscitoErrore: server notebook CREATE_FAILEDErrore: impossibile avviare il notebook localeErrore: esecuzione del crawler non riuscitaErrore: le partizioni non sono state aggiornateErrore: aggiornamento del segnalibro del processo non riuscito a causa della mancata corrispondenza delle versioniErrore: un processo sta rielaborando i dati mentre i segnalibri del processo sono abilitatiErrore: comportamento di failover tra i VPC in AWS Glue

Risoluzione degli errori Spark

Se riscontri errori in AWS Glue, usa le informazioni seguenti per trovare l'origine del problema e correggerlo.

Nota

Il repository GitHub di AWS Glue contiene ulteriori indicazioni per la risoluzione dei problemi nella sezione Domande frequenti di AWS Glue.

Argomenti

Errore: risorsa non disponibile

Se AWS Glue restituisce un messaggio di risorsa non disponibile, puoi visualizzare i log o i messaggi di errore per ulteriori informazioni sul problema. Le attività seguenti descrivono i metodi generali per la risoluzione dei problemi.

  • Per le connessioni e gli endpoint di sviluppo in uso, controlla che il cluster non abbia esaurito le interfacce di rete elastiche.

Errore: impossibile trovare l'endpoint S3 o il gateway NAT per il subnetId in VPC

Controlla l'ID sottorete e l'ID VPC nel messaggio per diagnosticare il problema.

  • Verifica che sia configurato un endpoint VPC Amazon S3, che è necessario con AWS Glue. Quindi, controlla se il gateway NAT fa parte della configurazione. Per ulteriori informazioni, consulta Endpoint Amazon VPC per Amazon S3.

Errore: regola in entrata obbligatoria nel gruppo di sicurezza

Almeno un gruppo di sicurezza deve aprire tutte le porte di ingresso. Per limitare il traffico, è possibile limitare il gruppo di sicurezza di origine in una regola in entrata allo stesso gruppo di sicurezza.

Errore: regola in uscita obbligatoria nel gruppo di sicurezza

Almeno un gruppo di sicurezza deve aprire tutte le porte di uscita. Per limitare il traffico, è possibile limitare il gruppo di sicurezza di origine in una regola in uscita allo stesso gruppo di sicurezza.

Errore: l'esecuzione del processo non è riuscita perché al ruolo passato devono essere assegnate le autorizzazioni per usare il ruolo per il servizio AWS Glue

L'utente che definisce un processo deve avere l'autorizzazione iam:PassRole per AWS Glue.

Errore: l'operazione DescribeVpcEndpoints non è autorizzata. Impossibile convalidare l'ID VPC vpc-id

  • Controlla che nella policy passata a AWS Glue sia presente l'autorizzazione ec2:DescribeVpcEndpoints.

Errore: l'operazione DescribeRouteTables non è autorizzata. Impossibile convalidare l'ID della sottorete Subnet-id nell’ID del VPC vpc-id

  • Controlla che nella policy passata a AWS Glue sia presente l'autorizzazione ec2:DescribeRouteTables.

Errore: impossibile chiamare ec2:DescribeSubnets

  • Controlla che nella policy passata a AWS Glue sia presente l'autorizzazione ec2:DescribeSubnets.

Errore: impossibile chiamare ec2:DescribeSecurityGroups

  • Controlla che nella policy passata a AWS Glue sia presente l'autorizzazione ec2:DescribeSecurityGroups.

Errore: impossibile trovare la sottorete per la zona di disponibilità

  • La zona di disponibilità potrebbe non essere disponibile per AWS Glue. Crea e utilizza una nuova sottorete in una zona di disponibilità diversa da quella specificata nel messaggio.

Errore: eccezione dell'esecuzione del processo durante la scrittura in una destinazione JDBC

Quando esegui un processo che scrive in una destinazione JDBC, il processo potrebbe riscontrare errori nei seguenti scenari:

  • Se il processo scrive in una tabella di Microsoft SQL Server e la tabella ha colonne definite di tipo Boolean, la tabella deve essere predefinita nel database SQL Server. Quando definisci il processo nella console AWS Glue usando una destinazione SQL Server con l'opzione Create tables in your data target (Crea tabelle nella destinazione dati), non mappare eventuali colonne di origine a una colonna di destinazione con il tipo di dati Boolean. Potresti riscontrare un errore durante l'esecuzione del processo.

    Puoi evitare gli errori seguendo questa procedura:

    • Scegli una tabella esistente con la colonna Boolean (Booleano).

    • Modifica la trasformazione ApplyMapping e mappa la colonna Boolean (Booleano) nell'origine a un numero o una stringa della destinazione.

    • Modifica la trasformazione ApplyMapping per rimuovere la colonna Boolean (Booleano) dall'origine.

  • Se il processo scrive in una tabella Oracle, potrebbe essere necessario regolare la lunghezza dei nomi degli oggetti Oracle. In alcune versioni di Oracle, la lunghezza massima degli identificatori è limitata a 30 byte o 128 byte. Questo limite riguarda i nomi di tabella e di colonna dei datastore di destinazione di Oracle.

    Puoi evitare gli errori seguendo questa procedura:

    • Denomina le tabelle di destinazione di Oracle entro il limite della tua versione.

    • I nomi di colonna predefiniti sono generati dai nomi dei campi nei dati. Per gestire il caso in cui i nomi di colonna sono più lunghi del limite, utilizza le trasformazioni ApplyMapping o RenameField per modificare il nome della colonna in modo che sia entro il limite.

Errore: Amazon S3: l'operazione non è valida per la classe di archiviazione dell'oggetto

Se AWS Glue restituisce questo errore, è possibile che il tuo processo AWS Glue stia leggendo dati da tabelle con partizioni tra livelli di classi di archiviazione Amazon S3.

  • Utilizzando le esclusioni della classe di archiviazione, puoi assicurarti che i processi AWS Glue funzionino su tabelle che dispongono di partizioni tra questi livelli di classi di archiviazione. Senza esclusioni, i processi che leggono i dati da questi livelli falliscono con il seguente errore: AmazonS3Exception: The operation is not valid for the object's storage class.

    Per ulteriori informazioni, consulta Esclusione delle classi di storage Amazon S3.

Errore: timeout di Amazon S3

Se AWS Glue restituisce un errore di timeout della connessione, è possibile che stia tentando di accedere a un bucket Amazon S3 in un'altra regione AWS.

  • Un endpoint VPC Amazon S3 può instradare il traffico solo verso i bucket all'interno di una regione AWS. Se hai bisogno di connetterti ai bucket di altre regioni, una possibile soluzione alternativa è quella di utilizzare un gateway NAT. Per ulteriori informazioni, consulta Gateway NAT.

Errore: accesso ad Amazon S3 negato

Se AWS Glue restituisce un errore di accesso negato a un bucket o a un oggetto Amazon S3, è possibile che il ruolo IAM fornito non disponga di una policy con l'autorizzazione per il datastore.

  • Un processo ETL deve avere accesso a un datastore Amazon S3 usato come origine o destinazione. Un crawler deve avere accesso a un datastore Amazon S3 in cui viene eseguito il crawling. Per ulteriori informazioni, consulta Fase 2: creare un ruolo IAM per AWS Glue.

Errore: l'ID chiave di accesso Amazon S3 non esiste

Se AWS Glue restituisce un errore di ID chiave di accesso inesistente durante l'esecuzione di un processo, il motivo può essere uno dei seguenti:

  • Un processo ETL usa un ruolo IAM per accedere ai datastore. Verifica che il ruolo IAM per il processo non sia stato eliminato prima dell'inizio del processo.

  • Un ruolo IAM contiene le autorizzazioni per accedere ai tuoi datastore. Verifica che qualsiasi policy Amazon S3 collegata contenente s3:ListBucket sia corretta.

Errore: l'esecuzione del processo restituisce un errore durante l'accesso ad Amazon S3 con un URI s3a://

Se un processo restituisce un errore, ad esempio Failed to parse XML document with handler class (Impossibile analizzare il documento XML con classe del gestore), potrebbe essere a causa di un errore nel tentativo di elencare centinaia di file utilizzando un URI s3a://. Accedi al datastore utilizzando un URI s3://. La traccia di eccezione seguente evidenzia gli errori da cercare:

1. com.amazonaws.SdkClientException: Failed to parse XML document with handler class com.amazonaws.services.s3.model.transform.XmlResponsesSaxParser$ListBucketHandler 2. at com.amazonaws.services.s3.model.transform.XmlResponsesSaxParser.parseXmlInputStream(XmlResponsesSaxParser.java:161) 3. at com.amazonaws.services.s3.model.transform.XmlResponsesSaxParser.parseListBucketObjectsResponse(XmlResponsesSaxParser.java:317) 4. at com.amazonaws.services.s3.model.transform.Unmarshallers$ListObjectsUnmarshaller.unmarshall(Unmarshallers.java:70) 5. at com.amazonaws.services.s3.model.transform.Unmarshallers$ListObjectsUnmarshaller.unmarshall(Unmarshallers.java:59) 6. at com.amazonaws.services.s3.internal.S3XmlResponseHandler.handle(S3XmlResponseHandler.java:62) 7. at com.amazonaws.services.s3.internal.S3XmlResponseHandler.handle(S3XmlResponseHandler.java:31) 8. at com.amazonaws.http.response.AwsResponseHandlerAdapter.handle(AwsResponseHandlerAdapter.java:70) 9. at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleResponse(AmazonHttpClient.java:1554) 10. at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1272) 11. at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1056) 12. at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:743) 13. at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:717) 14. at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:699) 15. at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:667) 16. at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:649) 17. at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:513) 18. at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4325) 19. at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4272) 20. at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4266) 21. at com.amazonaws.services.s3.AmazonS3Client.listObjects(AmazonS3Client.java:834) 22. at org.apache.hadoop.fs.s3a.S3AFileSystem.getFileStatus(S3AFileSystem.java:971) 23. at org.apache.hadoop.fs.s3a.S3AFileSystem.deleteUnnecessaryFakeDirectories(S3AFileSystem.java:1155) 24. at org.apache.hadoop.fs.s3a.S3AFileSystem.finishedWrite(S3AFileSystem.java:1144) 25. at org.apache.hadoop.fs.s3a.S3AOutputStream.close(S3AOutputStream.java:142) 26. at org.apache.hadoop.fs.FSDataOutputStream$PositionCache.close(FSDataOutputStream.java:74) 27. at org.apache.hadoop.fs.FSDataOutputStream.close(FSDataOutputStream.java:108) 28. at org.apache.parquet.hadoop.ParquetFileWriter.end(ParquetFileWriter.java:467) 29. at org.apache.parquet.hadoop.InternalParquetRecordWriter.close(InternalParquetRecordWriter.java:117) 30. at org.apache.parquet.hadoop.ParquetRecordWriter.close(ParquetRecordWriter.java:112) 31. at org.apache.spark.sql.execution.datasources.parquet.ParquetOutputWriter.close(ParquetOutputWriter.scala:44) 32. at org.apache.spark.sql.execution.datasources.FileFormatWriter$SingleDirectoryWriteTask.releaseResources(FileFormatWriter.scala:252) 33. at org.apache.spark.sql.execution.datasources.FileFormatWriter$$anonfun$org$apache$spark$sql$execution$datasources$FileFormatWriter$$executeTask$3.apply(FileFormatWriter.scala:191) 34. at org.apache.spark.sql.execution.datasources.FileFormatWriter$$anonfun$org$apache$spark$sql$execution$datasources$FileFormatWriter$$executeTask$3.apply(FileFormatWriter.scala:188) 35. at org.apache.spark.util.Utils$.tryWithSafeFinallyAndFailureCallbacks(Utils.scala:1341) 36. at org.apache.spark.sql.execution.datasources.FileFormatWriter$.org$apache$spark$sql$execution$datasources$FileFormatWriter$$executeTask(FileFormatWriter.scala:193) 37. at org.apache.spark.sql.execution.datasources.FileFormatWriter$$anonfun$write$1$$anonfun$3.apply(FileFormatWriter.scala:129) 38. at org.apache.spark.sql.execution.datasources.FileFormatWriter$$anonfun$write$1$$anonfun$3.apply(FileFormatWriter.scala:128) 39. at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:87) 40. at org.apache.spark.scheduler.Task.run(Task.scala:99) 41. at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:282) 42. at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 43. at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 44. at java.lang.Thread.run(Thread.java:748)

Errore: token di servizio Amazon S3 scaduto

Durante il trasferimento di dati da e verso Amazon Redshift, vengono utilizzate le credenziali Amazon S3 temporanee che scadono dopo un'ora. Se stai eseguendo un processo lungo, potrebbe non riuscire. Per ulteriori informazioni su come configurare i processi lunghi per trasferire i dati da e verso Amazon Redshift, consulta aws-glue-programming-etl-connect-redshift-home.

Errore: non è stato trovato alcun DNS privato per l'interfaccia di rete

Se un processo ha esito negativo o un endpoint di sviluppo non è in grado di effettuare il provisioning, potrebbe essere a causa di un problema della configurazione della rete.

  • Se utilizzi il DNS fornito da Amazon, il valore di enableDnsHostnames deve essere impostato su "true". Per ulteriori informazioni, consulta DNS.

Errore: provisioning dell'endpoint di sviluppo non riuscito

Se AWS Glue non è in grado di effettuare il provisioning di un endpoint di sviluppo, la causa potrebbe essere un problema nella configurazione di rete.

  • Quando definisci un endpoint di sviluppo, il VPC, la sottorete e i gruppi di sicurezza vengono convalidati per confermare che soddisfano determinati requisiti.

  • Se hai fornito la chiave pubblica SSH opzionale, controlla che si tratti di una chiave pubblica SSH valida.

  • Controlla nella console VPC che il tuo VPC utilizzi un set di opzioni DHCP valido. Per maggiori informazioni, consulta Set di opzioni DHCP.

  • Se il cluster rimane nello stato PROVISIONING, contatta Supporto AWS.

Errore: server notebook CREATE_FAILED

Se AWS Glue non è in grado di creare il server notebook per un endpoint di sviluppo, la causa potrebbe essere uno dei problemi seguenti:

  • AWS Glue passa un ruolo IAM ad Amazon EC2 quando configura il server notebook. Il ruolo IAM deve avere una relazione di trust per Amazon EC2.

  • Il ruolo IAM deve disporre di un profilo dell'istanza con lo stesso nome. Quando crei il ruolo per Amazon EC2 con la console IAM, il profilo dell'istanza con lo stesso nome viene creato automaticamente. Verifica nel log la presenza di un errore relativo al nome del profilo dell'istanza iamInstanceProfile.name che non è valido. Per ulteriori informazioni, consulta Utilizzo dei profili dell'istanza .

  • Verifica che il tuo ruolo sia autorizzato ad accedere ai bucket aws-glue* nella policy che passi per creare il server notebook.

Errore: impossibile avviare il notebook locale

Se il notebook locale non si avvia e segnala errori indicanti che una directory o una cartella non viene trovata, potrebbe essere a causa di uno dei seguenti problemi:

  • Se utilizzi Microsoft Windows, accertati che la variabile di ambiente JAVA_HOME punti alla directory di Java corretta. È possibile aggiornare Java senza aggiornare questa variabile; se fanno riferimento a una cartella che non esiste più, i notebook Jupyter non riescono ad avviarsi.

Errore: esecuzione del crawler non riuscita

Se AWS Glue non è in grado di eseguire un crawler per catalogare i dati, la causa potrebbe essere uno dei motivi seguenti. Per prima cosa controlla se è presente un errore nell'elenco dei crawler della console AWS Glue. Controlla se è presente un'icona con il punto esclamativo accanto al nome del crawler e passa il puntatore sopra l'icona per visualizzare i messaggi associati.

  • Controlla i log dell'esecuzione del crawler in CloudWatch Logs in /aws-glue/crawlers.

Errore: le partizioni non sono state aggiornate

Nel caso in cui le partizioni non siano state aggiornate nel catalogo dati quando è stato eseguito un processo ETL, queste istruzioni di log della classe DataSink nei log CloudWatch possono essere utili:

  • "Attempting to fast-forward updates to the Catalog - nameSpace:"  —  Mostra quale database, tabella e catalogId il processo sta tentando di modificare. Se questa istruzione non è presente qui, verifica se enableUpdateCatalog è impostato su true e se è stato correttamente passato come parametro getSink() o in additional_options.

  • "Schema change policy behavior:" — Mostra il valore updateBehavior dello schema passato.

  • Schemas qualify (schema compare):" — Sarà vero o falso.

  • Schemas qualify (case-insensitive compare):" — Sarà vero o falso.

  • Se entrambi sono falsi e updateBehavior non è impostato su UPDATE_IN_DATABASE, allora lo schema DynamicFrame deve essere identico o contenere un sottoinsieme delle colonne visualizzate nello schema della tabella del catalogo dati.

Per ulteriori informazioni sull'aggiornamento delle partizioni, consulta la pagina Aggiornamento dello schema e aggiunta di nuove partizioni nel catalogo dati usando processi ETL AWS Glue.

Errore: aggiornamento del segnalibro del processo non riuscito a causa della mancata corrispondenza delle versioni

Prova a parametrizzare i processi AWS Glue per applicare la stessa trasformazione/logica su set di dati diversi in Amazon S3. Desideri tenere traccia dei file elaborati nelle posizioni fornite. Quando esegui lo stesso processo sullo stesso bucket di origine e scrivi contemporaneamente nella stessa destinazione o in una destinazione diversa (simultaneità >1), il processo ha esito negativo con il seguente errore:

py4j.protocol.Py4JJavaError: An error occurred while callingz:com.amazonaws.services.glue.util.Job.commit.:com.amazonaws.services.gluejobexecutor.model.VersionMismatchException: Continuation update failed due to version mismatch. Expected version 2 but found version 3

Soluzione: imposta la simultaneità su 1 o non eseguire il processo contemporaneamente.

Al momento i segnalibri di AWS Glue non supportano le esecuzioni simultanee e pertanto i commit non riusciranno.

Errore: un processo sta rielaborando i dati mentre i segnalibri del processo sono abilitati

Potrebbero esserci dei casi in cui vengono abilitati i segnalibri del processo AWS Glue, ma il processo ETL rielabora i dati già elaborati in un'esecuzione precedente. Controlla queste cause comuni di questo errore:

Max concorrenza

L'impostazione del numero massimo di esecuzioni simultanee per il processo maggiore del valore predefinito di 1 può interferire con i segnalibri dei lavori. Ciò può accadere quando i segnalibri del processo verificano l'ora dell'ultima modifica degli oggetti per individuare gli oggetti da rielaborare. Per ulteriori informazioni, consulta la discussione sulla concorrenza massima in Configurazione delle proprietà per i processi Spark in AWS Glue.

Oggetto del processo mancante

Assicurati che lo script di esecuzione del lavoro termini con il seguente commit:

job.commit()

Quando si include questo oggetto, AWS Glue registra il timestamp e il percorso dell'esecuzione del processo. Se si esegue nuovamente il processo con lo stesso percorso, AWS Glue elabora solo i nuovi file. Se non includi questo oggetto e i segnalibri del processo sono abilitati, il processo rielabora i file già elaborati con i nuovi file e crea la ridondanza nel datastore di destinazione del processo.

Parametro del contesto di trasformazione mancante

Il contesto di trasformazione è un parametro facoltativo nella classe GlueContext, ma i segnalibri non funzionano se non lo includi. Per risolvere questo errore, aggiungi il parametro del contesto di trasformazione quando crei il DynamicFrame, come illustrato di seguito:

sample_dynF=create_dynamic_frame_from_catalog(database, table_name,transformation_ctx="sample_dynF")
Origine input

Se si sta usando un database relazionale (una connessione JDBC) per l'origine input, i segnalibri del processo funzionano solo se le chiavi primarie della tabella sono in ordine sequenziale. I segnalibri del processo funzionano per le nuove righe, ma non per le righe aggiornate. Questo perché i segnalibri processo cercano le chiavi primarie, già esistenti. Questo non si applica se l'origine di input è Amazon Simple Storage Service (Amazon S3).

Ora ultima modifica

Per origini di input Amazon S3, i segnalibri del processo controllano l'ora dell'ultima modifica piuttosto che i nomi dei file, per verificare gli oggetti da rielaborare. Se i dati dell'origine di input sono stati modificati dall'ultima esecuzione del processo, i file vengono rielaborati alla nuova esecuzione del processo.

Errore: comportamento di failover tra i VPC in AWS Glue

Il seguente processo viene utilizzato per il failover dei processi in AWS Glue 5.0 e nelle versioni precedenti.

Riepilogo: viene selezionata una connessione AWS Glue al momento dell'invio di un'esecuzione del processo. Se l'esecuzione del processo riscontra dei problemi (mancanza di indirizzi IP, connettività all'origine, problema di instradamento), essa avrà esito negativo. Se sono configurati nuovi tentativi, AWS Glue ritenterà con la stessa connessione.

  1. Per ogni tentativo di esecuzione, AWS Glue controllerà lo stato delle connessioni nell'ordine indicato nella configurazione del processo, finché non ne trova una che può utilizzare. In caso di errore nella zona di disponibilità (AZ), le connessioni da quella zona non supereranno il controllo e verranno ignorate.

  2. AWS Glue convalida la connessione come segue:

    • Verifica la presenza di ID e sottorete Amazon VPC validi.

    • Verifica l'esistenza di un gateway NAT o di un endpoint Amazon VPC.

    • Verifica che la sottorete abbia più di 0 indirizzi IP allocati.

    • Verifica che l'AZ sia integra.

    AWS Glue non è in grado di verificare la connettività al momento dell'invio dell'esecuzione del processo.

  3. Per i processi che utilizzano Amazon VPC, tutti i driver e gli esecutori verranno creati nella stessa AZ con la connessione selezionata al momento dell'invio dell'esecuzione del processo.

  4. Se sono configurati nuovi tentativi, AWS Glue ritenterà con la stessa connessione. Questo perché non è detto che i problemi con questa connessione durino a lungo. Se un'AZ riscontra un errore, le esecuzioni di processo esistenti (a seconda della fase in cui si trovano) in tale AZ possono riscontrare a loro volta un errore. Un nuovo tentativo dovrebbe rilevare un errore di AZ e scegliere un'altra AZ per la nuova esecuzione.