On Aug 1, 2011, at 11:06 AM, Josh Weber wrote:

> Hello all
> 
> Does anyone know of a guide or example configs for replication?

Here's a quick overview. Maybe it can act as the foundation for a wiki page on 
the subject.

Replication of cookies among weblogin servers is done by a small collection of 
dedicated cosignd child processes called pushers. When cosignd (or monster) is 
started with replication enabled, the listener forks a child process called the 
pusherparent. As part of that setup, the listener establishes a one-way pipe to 
send messages to the pusherparent. The pusherparent in its turn forks one child 
pusher process for each A record for the replicated hostname, and sets up 
one-way pipes to each of them, as well. Each pusher instance is connected to 
one host in the DNS pool. (The "child N talking to itself" error you saw means 
that cosignd detected that a pusher was set up to replicate to itself. This 
pusher is then removed from the pusher pool.)

When a request hits the listener, it forks a child to handle the request. If 
the request requires replication, the child sends the request data through the 
pipe to the pusherparent. The pusherparent then sends the same data through 
pipes to each pusher, and each pusher replicates the request across the network 
to its target weblogin server.

> ...
> cosignd[7928]: pusherparent: snet_getline: Bad file descriptor
> cosignd[9254]: pusher: connect_sn transient failure
> cosignd[8553]: pusher: connect_sn permanent failure
> ...
> Also, one cosignd process shows up defunct:
> 
> cosign 7364 0.0 0.0 5112 672 ? Ss 09:36 0:00 /usr/local/sbin/cosignd -h X
> cosign 7365 0.0 0.0 5112 492 ? S  09:36 0:00 /usr/local/sbin/cosignd -h X
> cosign 7366 0.0 0.0    0   0 ? Z  09:36 0:00 [cosignd] <defunct>

The pusherparent has failed to read a line from the pipe connecting it to the 
cosignd listener process. That causes the pusherparent to exit, and I suspect 
the zombie is a pusher instance left behind when the pusherparent exited. In 
this case, the pipe file descriptor through which the listener sends data to 
the pusherparent is bad, but why it's bad isn't clear from the log messages. 
Any other data you can provide?

andrew



------------------------------------------------------------------------------
BlackBerry&reg; DevCon Americas, Oct. 18-20, San Francisco, CA
The must-attend event for mobile developers. Connect with experts. 
Get tools for creating Super Apps. See the latest technologies.
Sessions, hands-on labs, demos & much more. Register early & save!
http://p.sf.net/sfu/rim-blackberry-1
_______________________________________________
Cosign-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cosign-discuss

Reply via email to