Gnus development mailing list
 help / color / mirror / Atom feed
* I'm fairly sure that gnus/imap/agent/expiry is, um, *verb*ing mail
@ 2003-05-14  0:02 Wes Hardaker
  2003-05-14  3:45 ` I'm fairly sure that gnus/imap/agent/expiry is, um, *verb*ing Kevin Greiner
  0 siblings, 1 reply; 3+ messages in thread
From: Wes Hardaker @ 2003-05-14  0:02 UTC (permalink / raw)



I turned off the agent a while back because I thought it was causing
problems with older mail getting deleted.  I'm was quite convinced
that was the case again, as I just added my imap server back as an
agent to speed up group entry, as has been discussed here in the last
few weeks.  After an expiry process finished:

  ; relevant settings:
  (setq gnus-total-expirable-newsgroups "nnimap\\+server:mlists")

  ; done when idle:
  (gnus-group-expire-all-groups)
  (gnus-agent-expire)

I entered a mailing list that did *not* match the above expression,
and noticed that the summary was a ton shorter than normal
(specifically, the read mail (but not marked as expirable) was no
longer shown).  I figured gnus had deleted the mail again and my
earlier suspicions were confirmed.  Entering the group with a C-u to
double check showed the mail still missing.

This time, however, I went to the server buffer, removed the agent
from the imap server and re-entered my group to find that all the old
mail (read) reappeared but so had every other message that was marked
as expirable but was now no longer marked that way.

So, my best guess is that for !total-expirary groups:

  1) the agent doesn't honor the gnus-total-expirable-newsgroups flag
     and deletes the headers from its cache.

  2) While doing so, it somehow also removes the E mark for every
     article as well.

  3) this leaves things in a state which means:
     a) the agent's cached headers don't contain stuff for every
        article that is really in the backend (imap).
     b) if the agent is removed from the process, the previously
        marked articles have lose their expirary mark.

Help?
-- 
"In the bathtub of history the truth is harder to hold than the soap,
 and much more difficult to find."  -- Terry Pratchett



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: I'm fairly sure that gnus/imap/agent/expiry is, um, *verb*ing
  2003-05-14  0:02 I'm fairly sure that gnus/imap/agent/expiry is, um, *verb*ing mail Wes Hardaker
@ 2003-05-14  3:45 ` Kevin Greiner
  2003-05-14  5:17   ` Wes Hardaker
  0 siblings, 1 reply; 3+ messages in thread
From: Kevin Greiner @ 2003-05-14  3:45 UTC (permalink / raw)


Wes Hardaker <wes@hardakers.net> writes:

> I turned off the agent a while back because I thought it was causing
> problems with older mail getting deleted.  I'm was quite convinced
> that was the case again, as I just added my imap server back as an
> agent to speed up group entry, as has been discussed here in the last
> few weeks.  After an expiry process finished:
>
>   ; relevant settings:
>   (setq gnus-total-expirable-newsgroups "nnimap\\+server:mlists")
>
>   ; done when idle:
>   (gnus-group-expire-all-groups)
>   (gnus-agent-expire)
>
> I entered a mailing list that did *not* match the above expression,
> and noticed that the summary was a ton shorter than normal
> (specifically, the read mail (but not marked as expirable) was no
> longer shown).  I figured gnus had deleted the mail again and my
> earlier suspicions were confirmed.  Entering the group with a C-u to
> double check showed the mail still missing.
>
> This time, however, I went to the server buffer, removed the agent
> from the imap server and re-entered my group to find that all the old
> mail (read) reappeared but so had every other message that was marked
> as expirable but was now no longer marked that way.
>
> So, my best guess is that for !total-expirary groups:
>
>   1) the agent doesn't honor the gnus-total-expirable-newsgroups flag
>      and deletes the headers from its cache.

Absolutely. :( The documentation for gnus-agent-expire states that it
will expire (in the case of the agent, this means delete from the
local store) "all read and unmarked articles".  The only commonality
with imap-based expiration is a misfortunite conjunction of names.

>   2) While doing so, it somehow also removes the E mark for every
>      article as well.

Nope.  The agent expiration code doesn't touch marks.  It could be
that the imap backend "cleaned up" its marks since they were referring
to articles that did not appear to exist.

>   3) this leaves things in a state which means:
>      a) the agent's cached headers don't contain stuff for every
>         article that is really in the backend (imap).
>      b) if the agent is removed from the process, the previously
>         marked articles have lose their expirary mark.
>
> Help?

What you didn't realize is that imap expiration is already linked to
the agent.  If imap expires an article, it will instruct the agent to
remove that article from the local disk.  That means that you don't
need to run gnus-agent-expire on any of your imap servers.

Solutions:
1) If you're only using the agent with imap, don't call gnus-agent-expire.

2) If you're using agent with other backends, edit the group
   parameters for each mailing list to disable agent expiration.  Now
   you'll be able to run gnus-agent-expiration without it messing up
   your read messages.

   Well, it does appear that there is a bug in the agent code.  It's
   just not what you expected.  If you disable agent expiration on a
   group, you also disable imap's ability to selectively call
   gnus-agent-expire.

   I'll check-in a fix on this one, but it will mean that you'll have
   to update to the CVS version to use it.


Sorry about the inconvenience.
Kevin



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: I'm fairly sure that gnus/imap/agent/expiry is, um, *verb*ing
  2003-05-14  3:45 ` I'm fairly sure that gnus/imap/agent/expiry is, um, *verb*ing Kevin Greiner
@ 2003-05-14  5:17   ` Wes Hardaker
  0 siblings, 0 replies; 3+ messages in thread
From: Wes Hardaker @ 2003-05-14  5:17 UTC (permalink / raw)
  Cc: ding

>>>>> On Tue, 13 May 2003 22:45:01 -0500, Kevin Greiner <kgreiner@xpediantsolutions.com> said:

Kevin> 1) If you're only using the agent with imap, don't call
Kevin>    gnus-agent-expire.

Thanks.  Done.  I'll give it a shot.

Kevin> Sorry about the inconvenience.

No problem.  That's why I ask questions.  I've been using Gnus for
longer than I can remember (long before Lars took it over), and the
one thing I've learned is to "ask lots of questions".  :->

-- 
"In the bathtub of history the truth is harder to hold than the soap,
 and much more difficult to find."  -- Terry Pratchett



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2003-05-14  5:17 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-05-14  0:02 I'm fairly sure that gnus/imap/agent/expiry is, um, *verb*ing mail Wes Hardaker
2003-05-14  3:45 ` I'm fairly sure that gnus/imap/agent/expiry is, um, *verb*ing Kevin Greiner
2003-05-14  5:17   ` Wes Hardaker

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).