[LON-CAPA-admin] lond/lonc

Guy Albertelli II guy at albertelli.com
Wed Jun 8 20:28:22 EDT 2005

H Mark,

> Can anyone give a 3 paragraph summary of what lond and lonc should be 
> doing nowadays? (LON-CAPA v 1.3)?

This should hold true for 2.0

Okay on startup you will have 2 processes

- lond parent
- loncnew parent

when some traffic for a host appears loncnew will fork a child process
to take care of that host.

At this time the psauxw description of lonc looks like:
  lonc: Connected to msul3 Wed Jun  8 19:31:02 2005

If it gets a successful connection it should look like 
  lonc: basementl1 Connection count: 1 Retries remaining: 2 (local) Wed Jun  8 19:31:06 2005

With Connection Count varying between 0 and 10 (a single lonc child
can have multiple connections open)

Additionaly on the remote machine there will be a lond child process
now that looks like:
  lond: Listening to annarborl1 (local) Wed Jun  8 19:31:02 2005

(Each new connection from lonc to lond causes a new lond child, so a
loncnew child with 10 open connections will creat e10 lond children on
the remote host)

If there is no use of this link for a period of 10 minutes then the
connection is closed (at which time the lond child exits) and if the
loncnew hchild as no connections open it exits.

If the loncnew child fails to make a connection it goes into this
    lonc: gerdl1 >>> DEAD !!!! <<< Wed Jun  8 19:30:21 2005

And the child sticks around so that is can quickly fail any attempts
to contact this host.

If you send a SIGUR1 against the lonc parent process this will cause
it to check on all of it's children and have them report their status
and cause them to unDEAD themselves or reset the number of retires
This already occurs
- when one does (when everthing is currently running)
   /etc/init.d/loncontrol start 
- or (as www)
   /home/httpd/perl/loncron --justcheckdaemons
- or when lond see a conection from a host
   (For instance, if 'msul1' lonc thought 'annarborl1' is >>>DEAD<<<<
    then when 'annarborl1' lonc connects to 'msul1', 'msul1' lond will
    send a USR1 to 'msul1' lonc so that it will reset all of the
    >>>DEAD<<< status indicators and therefore 'msul1' lonc will try to
    connect again the next it gets a command destined for
    'annarborl1') (the links try to be self healing)

And Addtional comand is send SIGUSR2 to the parent process of lonc and
lond this telss them to reread the hosts.tab and domain.tab file and
kill off any children that are unneeded and allows any new hosts to be
able to start up.
- in 2.0 this can be accomplished with
   /etc/init.d/loncontrol reload

(Hrrm, Found a buglet that will be fixed for 2.0, after the USR1
signal is sent the ps display of the child status is incorrect
(Meaning it might still say >>>DEAD<< when in fact it isn't))

guy at albertelli.com   0-7-2-5-15,728

More information about the LON-CAPA-admin mailing list