pan-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Pan-users] group preferences and fallback servers


From: Duncan
Subject: Re: [Pan-users] group preferences and fallback servers
Date: Fri, 22 Feb 2013 05:41:10 +0000 (UTC)
User-agent: Pan/0.140 (Chocolate Salty Balls; GIT db8adcf /usr/src/portage/src/egit-src/pan2)

Thufir Hawat posted on Fri, 22 Feb 2013 04:50:40 +0000 as excerpted:

> How do I specify that a group pull from a specified server?

Pan doesn't work that way -- you can't specify pull per group at all (tho 
you can specify which server you /post/ to per group, by choosing the 
appropriate posting profile, since that's set per posting profile and 
posting profile is set per group), only in general.  See below.

> I set the
> slow server to fallback status, but that didn't seem to help because I
> can see from the headers that the slower server is still being pulled
> from.
> 
> To change to order of servers, manually edit the xml config files?

I don't believe changing the server order would work either.

The way it works, AFAIK, is that pan pulls overviews (aka headers) from 
all (active, see below) servers that carry a group, in ordered to know 
what messages each server has.

Then when it pulls the actual messages (aka bodies), it should pull from 
servers at the same rank without carrying which one it's coming from, but 
only pull from those at backup or below (in the GUI there's only two 
ranks configurable, primary and backup, but in servers.xml it's numeric 
and that's simply ranks 1 and 2 of however many you want to set... pan 
probably uses an int, so ranks as deep as 2-million plus, anyway...).

**HOWEVER**, that does NOT necessarily mean it'll pull from all servers 
at the same rank equally, if they're running at different speeds or the 
completion isn't as good on one as the other.  For the same size message 
segments, the slower server will take longer with each one, so assuming 
the same number of connections to each and that you're downloading enough 
to keep all connections busy, most messages will come from the faster 
server.  Similarly, a server that has relatively poor completion will be 
missing most posts, so pan will get way ahead on that server (assuming 
similar number of connections and connection speeds), while the server 
that has all the fills will take rather longer since most of the posts 
are coming from it.

But a backup server should only get messages pulled from it if those 
messages don't appear on any of the primary servers.  The idea when the 
server ranking feature was introduced was that pan would let the backup 
server connection idle if necessary, if the primary server was too slow 
but had good enough completion so nearly all messages were to be found 
there.

If it isn't working that way, it's a bug.

Meanwhile, there's one more trick available:  If you set a server to zero 
connections, it disables that server.  Pan shouldn't attempt to connect 
to it at all, including to fetch overviews/headers.  This feature was 
added at the request of someone who had a per-month bandwidth quota that 
would run out.  Without the ability to disable the server, he had to keep 
two server.xml files around, one with the server configured, one without, 
so as to keep pan from stacking up tasks for that server, that could 
never complete since his bandwidth was gone for the month and he could no 
longer authenticate.

So, if it comes to it, you can disable a server by setting the number of 
connections to zero.  However, that disables it entirely.  There's no 
easy way to specify that some groups download only from some servers, if 
other configured servers carry the groups as well.

BUT, there *IS* a way... tho it's a bit convoluted.  Configure multiple 
pan instances (as I have here, for text and test and binary, but you can 
set each instance up however you want).  This is done by setting the 
PAN_HOME environmental variable in a wrapper script used to start pan.  
This variable tells pan where to look for its data and configuration.  
Only if it's unset will pan fall back to ~/.pan2, otherwise it uses 
whatever dir the variable points to.

Thus, I have three wrapper scripts, pan.text, pan.test, pan.bin, each of 
which points pan at a different location for its data and config by 
setting and exporting this variable before starting pan.  (Since I 
already have the wrapper scripts, I actually have them setup to do a few 
other misc things before starting pan as well, but the main reason for 
the wrappers is to point pan at different config/data locations for each 
separate instance.)

You could do something similar, setting up different servers in each pan 
instance, with only the groups you want pulled from those servers 
subscribed in that pan instance.

If you'd like, I can post my wrapper scripts, with a bit more information 
about them.  You could of course modify them as desired, after that.  I 
last posted them a few years ago, but they're a bit more advanced now 
than they were back then...

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman




reply via email to

[Prev in Thread] Current Thread [Next in Thread]