Sintomo:
Le cause principali di questo problema sono guasti poco frequenti dell'I/O socket, che possono lasciare in attesa il software in chiamata per un periodo indefinito per completare un'operazione di lettura.
Dalla prospettiva degli utenti il sintomo più tipico è il blocco imprevisto dei processi che normalmente non presentano problemi e che vengono ripresi e completati come previsto dopo un riavvio dell'orchestrator di CA Process Automation. Questo problema può influire su un piccolo sottoinsieme di processi o su tutti i processi in esecuzione. Non ha alcuna relazione con il tempo di attività dell'orchestrator e può presentarsi poco dopo un riavvio o dopo giorni, settimane o mesi di corretto funzionamento dell'orchestrator.
Questo problema è stato osservato solo in ambienti che eseguono volumi elevati di processi CA Process Automation. Nella maggior parte degli ambienti in cui è installato E1000 NIC il problema non si è mai verificato o è così raro che non è stato rilevato.
Soluzione:
Questo problema è molto difficile da riconoscere. Se il problema si presenta, spesso il thread di CA Process Automation è bloccato in una lettura del socket e nessun errore rilevante viene scritto nei file di registro. Per riconoscere il problema è necessario verificare una serie di dump di thread Java acquisiti durante un'occorrenza del problema per dimostrare che l'operatore è bloccato in una lettura del thread.
Quando si osservano errori relativi a questo problema, vengono indicati errori di connessione generici che potrebbero avere altre cause legittime e non correlate. Esempio:
2013-07-24 18:55:23.219 WARN [org.hibernate.jdbc.AbstractBatcher] [nPool Worker-23] exception clearing maxRows/queryTimeout com.microsoft.sqlserver.jdbc.SQLServerException: The connection is closed. at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerStatement.checkClosed(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerStatement.getMaxRows(Unknown Source) at org.jboss.resource.adapter.jdbc.CachedPreparedStatement.getMaxRows(CachedPreparedStatement.java:367) at org.jboss.resource.adapter.jdbc.WrappedStatement.getMaxRows(WrappedStatement.java:378) at org.hibernate.jdbc.AbstractBatcher.closeQueryStatement(AbstractBatcher.java:272) at org.hibernate.jdbc.AbstractBatcher.closeQueryStatement(AbstractBatcher.java:209)
. . . e così via.
In questi casi l'identificazione del problema avviene a tentativi ed è necessario escludere altre cause dell'errore di comunicazione.
Un errore frequente del processo o un guasto ripetibile di un singolo operatore o di più operatori indicano probabilmente altri problemi non correlati durante la progettazione del processo o nella funzionalità dell'orchestrator.
Nei siti in cui il problema è stato confermato, la riconfigurazione del server VMWare da un driver della scheda di interfaccia di rete E1000 a un driver NIC VMXnet-3 si è dimostrata una soluzione molto efficace.
CA Technologies non è certa di dichiarare che si tratti di una soluzione completa poiché l'incidente si manifesta molto raramente e il periodo di tempo che trascorre tra le occorrenze persino la scheda E1000 può essere piuttosto lungo.
Se è necessario verificare il problema prima di apportare questo cambiamento, contattare il Supporto per ottenere assistenza con l'installazione dell'accesso e dei dump di thread Java necessari per risolvere e verificare questo problema specifico.
|
Copyright © 2013 CA.
Tutti i diritti riservati.
|
|