reload tcl – 100% error proof?

Clovertech Forums Read Only Archives Cloverleaf Cloverleaf reload tcl – 100% error proof?

  • Creator
    Topic
  • #53209
    Peter Heggie
    Participant

      In a production 5.8.4 system, if a routing pre-proc tcl is modified, and a thread reload command is issued, is there any possibility whatsoever of any error occuring – a message in flight getting a corrupted copy of the tcl, or a message unable to obtain a copy of the tcl because it is being swapped, or messages otherwise being lost or damaged? We are not multi-threading. Does it make a difference what the inbound protocol is? (it is SNA).

      There was a problem in the past where messages have been lost or corrupted, and the current change process, to make any kind of change for this SNA thread, is to stop the sending application’s communications, stop the inbound thread, make the change, start the inbound thread and then start the sending application.

      A Cloverleaf text book states that when the protocol driver reads a message, it places it on the inbound tps queue. When the inbound tps runs it pulls the message from this queue.

      So if the proc is replaced, how does the old version of the proc know to stop pulling new messages, and let itself be replaced? I’m assuming that true queueing is being used here so new messages arriving from the protocol thread will just queue up in the Pre-Translation Queue with no ill effect, and they will be processed by the new version of the tps as soon as it starts up. And is it true that the old version of the tps will cleanly finish processing its current message before shutting down?

      I just want to be sure that a tcl reload will not open the door to any kind of corruption or deletion of messages. The current shutdown and startup procedures here seem to be overkill, especially since the reload command seems explicitly built to provide just this function (safely), so I want to be sure before pushing for a change in procedure.

      Thanks,

      Peter

      Peter Heggie
      PeterHeggie@crouse.org

    Viewing 0 reply threads
    • Author
      Replies
      • #76929
        Charlie Bursell
        Participant

          First of all you cannot reload a route proc from the GUI.  Those procs belong to the xlate thread.  You can do it from the command line using hcicmd.  The thread name would be xlate_.  Also when reloaded the startup is not rerun so if you change anything there it will not take effect.

          As far as corruption, remember this is being done by the process command thread which does one thing at a time.  So there is no way it can process a message and reload a proc at the same time

      Viewing 0 reply threads
      • The forum ‘Cloverleaf’ is closed to new topics and replies.