Conceptos de tiempo de espera de recuperación de transferencia

Puede establecer la cantidad de tiempo, en segundos, durante el cual un agente de origen sigue intentando recuperar una transferencia de archivo estancada. Si la transferencia no resulta satisfactoria cuando el agente alcanza el tiempo de espera para el intervalo de reintento, falla la transacción.

Prioridad de tiempo de espera de recuperación

Un valor de tiempo de espera de recuperación de transferencia para una transferencia individual especificada a través de los mandatos fteCreateTransfer, fteCreateTemplateo fteCreateMonitor , o utilizando IBM® MQ Explorer, o especificada en el elemento anidado fte:filespec , tiene prioridad sobre el valor especificado para el parámetro transferRecoveryTimeout en el archivo agent.properties para el agente de origen.

Por ejemplo, si se inicia el mandato fteCreateTransfer sin el par parámetro -rt y el par de valor, el agente de origen AGENT1 comprueba en el archivo agent.properties el valor de transferRecoveryTimeout con el fin de determinar el comportamiento del tiempo de espera de recuperación:
fteCreateTransfer -sa AGENT1 -da AGENT2 -df C:\import\transferredfile.txt C:\export\originalfile.txt
Si el parámetro transferRecoveryTimeout del archivo agent.properties no se ha establecido o se ha establecido en -1, el agente sigue el comportamiento predeterminado e intenta recuperar la transferencia hasta que se lleve a cabo de forma satisfactoria.
Sin embargo, si el mandato fteCreateTransfer incluye el parámetro -rt, el valor de este parámetro tiene prioridad sobre el valor del archivo agent.properties y se utiliza como valor de tiempo de espera de recuperación para la transferencia:
fteCreateTransfer -sa AGENT1 -da AGENT2 -rt 21600 -df C:\import\transferredfile.txt C:\export\originalfile.txt

Contador de tiempo de espera de recuperación

El contador del tiempo de espera de recuperación se inicia cuando la transferencia entra en estado de recuperación. Se publica un mensaje de registro de transferencia en SYSTEM.FTE con la serie de tema Log/agent_name/transfer_ID para indicar que el estado de transferencia se ha cambiado a recuperación y la hora del reloj del agente de origen a la que ha cambiado el estado. Si la transferencia se reanuda dentro del intervalo de reintento y no alcanza el tiempo de espera de recuperación (counter<=recovery timeout), se restablecerá el contador en 0, listo para volver a iniciarse si la transferencia entra en fase de recuperación.

Si el contador alcanza el valor máximo establecido para el tiempo de espera de recuperación (counter==recovery timeout), la recuperación de la transferencia se detendrá y el agente de origen informará de que la transferencia ha fallado. Este tipo de error de transferencia, causado por el hecho de que la transferencia ha alcanzado el tiempo de espera de recuperación, se indica mediante el código de mensaje,RECOVERY TIMEOUT (69). Se publica otro mensaje de registro de transferencia en SYSTEM.FTE , con una serie de tema de Log/agent_name/transfer_ID, para indicar que la transferencia ha fallado e incluye un mensaje, el código de retorno y el registro de sucesos del agente de origen. El registro de sucesos del agente de origen se actualiza con un mensaje cuando se produce alguna de las situaciones siguientes durante la recuperación:
  • Cuando el parámetro de tiempo de espera de recuperación se establece en un valor superior a -1, la transferencia entra en fase de recuperación. El registro de sucesos del agente se actualiza para indicar el inicio del temporizador de la recuperación para TransferId y la cantidad de tiempo que espera el agente de origen hasta que inicia el proceso de tiempo de espera de recuperación.
  • Cuando se reanuda la transferencia, se actualiza el registro de sucesos del agente de origen con un mensaje nuevo para indicar que se ha reanudado TransferId que estaba en recuperación.
  • Cuando se agota el tiempo de espera de recuperación de transferencia, el registro de sucesos del agente de origen se actualiza para indicar que ha fallado TransferId durante la recuperación debido al tiempo de espera de recuperación.
Estos mensajes de registro permiten que los usuarios (suscriptores y registradores) identifiquen las transferencias que han fallado debido al tiempo de espera de recuperación de transferencias.

El contador del tiempo de espera de recuperación siempre está en el agente de origen. Sin embargo, si el agente de destino no consigue recibir información del agente de origen de forma puntual, puede enviar una solicitud al agente de origen para que ponga la transferencia en fase de recuperación. Para una transferencia cuya opción de tiempo de espera de recuperación se ha establecido, el agente de origen inicia el contador del tiempo de espera de recuperación cuando recibe la solicitud del agente de destino.

Sigue necesitándose una gestión manual para las transferencias que no utilizan la opción de tiempo de espera de recuperación, las transferencias fallidas y las que se han completado parcialmente.

Para conjuntos de transferencias cuya solicitud de transferencia única se emite para varios archivos, y algunos archivos se han completado correctamente pero uno se ha completado parcialmente, la transferencia seguirá marcada como fallida porque no se ha completado según lo previsto. Es posible que el agente de origen haya agotado el tiempo de espera durante la transferencia parcial del archivo.

Asegúrese de que el agente de destino y el servidor de archivos estén listos y que tengan un estado para aceptar transferencias de archivos.

Debe emitir de nuevo la solicitud de transferencia para todo el conjunto pero para evitar problemas debido a que algunos archivos permanecen en el destino desde el intento inicial de transferencia, puede emitir la nueva solicitud especificando la opción sobrescribir si existe. De este modo se asegura de que se borre el conjunto de archivos incompletos del intento de transferencia anterior como parte de la transferencia nueva, antes de grabar de nuevo los archivos en el destino.

[MQ 9.2.0 Jul 2020]A partir de IBM MQ 9.1.5, ya no es necesario eliminar manualmente los archivos de componente que quedan en un destino después de que haya fallado un intento de transferencia inicial. Si se establece un tiempo de espera de recuperación de transferencia para una transferencia, el agente de origen mueve la transferencia al estado RecoveryTimedOut si la recuperación de transferencia excede el tiempo de espera. Después de que se haya resincronizado la transferencia, el agente de destino elimina los archivos de partes que se crearon durante la transferencia y envía un mensaje de finalización al agente de origen.

Rastreos y mensajes

Los puntos de rastreo se incluyen con fines de diagnóstico. Se registra el valor de tiempo de espera de recuperación, el inicio del intervalo de reintentos, el inicio del periodo de reanudación y el restablecimiento del contador, así como si se ha agotado el tiempo de espera de la transferencia y si ha resultado fallida. En caso de un problema o comportamiento inesperado, puede recopilar los archivos de registro y rastreo de salida del agente de origen, y proporcionarlos cuando se lo solicite el soporte de IBM , para ayudarle con la resolución de problemas.

Los mensajes le avisan cuando:
  • Una transferencia entra en recuperación (BFGTR0081I)
  • Una transferencia termina porque ha excedido el tiempo de espera de la recuperación (BFGSS0081E)
  • La transferencia se reanuda después de estar en recuperación (BFGTR0082I)