[z/OS]

Trabajo InFlight y posible modalidad de terminación anormal

La modalidad de terminación anormal se activa cuando ocurre un error antes de que una transacción distribuida empiece a confirmarse.

Si tiene una transacción distribuida que abarca varios servidores, los gestores de recursos implicados en el trabajo pueden mantener bloqueos transaccionales. Cuando se produce una anomalía antes de que se haya empezado a confirmar esa transacción distribuida, el producto y los gestores de recursos pasan a una supuesta modalidad de terminación anormal. En esta modalidad, los gestores de recursos retrotraen la transacción.
  • El efecto de una anomalía del servidor o un error de comunicaciones variará dependiendo de qué servidor esté ejecutando el trabajo en el momento del error.
  • Puede que se necesite un tiempo de espera de OTS para retrotraer las ramas subordinadas del árbol de transacciones distribuidas.
Ejemplo: Un caso muy común es cuando tiene un cliente web de un servidor B que controla un bean de sesión en el mismo servidor. Ese bean de sesión ha ejecutado trabajo con beans de entidad en los servidores C y D. Todos los servidores están implicados en la misma transacción global distribuida. De repente, el servidor B falla cuando el bean de sesión está en InFlight (todavía no se ha empezado a confirmar). Los servidores C y D esperan más trabajo o el inicio del protocolo de compromiso de dos fases pero, durante este estado, puede que los gestores de recursos continúen manteniendo los bloqueos transaccionales. Por lo tanto, los roles de servidor son los siguientes:
  • Servidor A: se ha ejecutado el servlet/JavaServer Page
  • Servidor B: se ha accedido al bean de sesión
  • Servidor C: se ha accedido al bean de entidad
  • Servidor D: se ha accedido al bean de entidad
Después de que se exceda el tiempo de espera, como el bean de sesión es InFlight en el momento del error, el producto retrotrae la rama de la transacción.

Cuando hay implicados gestores de recursos locales, RRS comprueba que se llame a estos gestores para realizar el supuesto proceso de terminación anormal. En la recuperación, RRS trabaja con los gestores de recursos para garantizar que la recuperación se realice correctamente. Si se produce un error cuando el trabajo está en InFlight, RRS dirige los gestores de recursos implicados en el UR local para que retrotraigan la transacción.

El producto siempre supone que se debe realizar alguna recuperación. Cada vez que se activa un servidor, hace algo diferente dependiendo de la modalidad en la que se ejecute:
  • Si el servidor se está ejecutando en la modalidad de reinicio/recuperación, el producto comprueba si se necesita alguna recuperación. Si la recuperación es necesaria, el producto intenta realizar la recuperación y la completa con éxito o se interrumpe.
  • Si el servidor se ejecuta con normalidad, la transacción de reinicio/recuperación no tiene que terminar antes de que el servidor acepte nuevo trabajo. Después de que el servidor determine cuál es el trabajo de reinicio, empieza a aceptar nuevos elementos de trabajo. El proceso de la transacción de reinicio/recuperación continúa junto con el proceso de nuevos elementos de trabajo.

Icon that indicates the type of topic Concept topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cprr_inflight
File name: cprr_inflight.html