Sihal has asked for the wisdom of the Perl Monks concerning the following question:

Fellow monks, I have a problem using AuthDBI: I can't seem to clean up the cache...
What I mean is that I had an error in my database, so I delete the wrong entry, restarted apache, and tried to login in my site.

AuthDBI wouldn't let me in...
So i set up the debuglevel 2: and I see in my error log that each time I try to login, AuthDBI finds the old entry in the cache and uses it instead of the new one...
So I set up the CleanUp delay to 0 which normally would mean that we flush the cache after any request, but with no improvement....
If anyone has any hints about what is going on, i'd be most grateful....

Replies are listed 'Best First'.
Re: AuthDBI and his cache
by rdfield (Priest) on Dec 18, 2002 at 12:16 UTC
    Your description is confusing: since the cache is an "in memory" data structure, how can AuthDBI find the an entry in the cache at the first request? Please post the output from the debugging.

    rdfield

      I know it's confusing, that's why I'm asking. Normally, you'd expect the cache to be cleaned ( well destroyed ) but it isn't.
      I'll add the debug output in a sec.
      23912 Apache::AuthDBI::authen cache: found >xxxx,dbi:mysql:web:127.0.0 +.1:3307,tAuthUser,aut_s_login< >yyy< >time< >xxxx<
Re: AuthDBI and his cache
by iguanodon (Priest) on Dec 19, 2002 at 10:36 UTC
    When you say you restart apache, are you doing 'apachectl restart'? If so I suggest doing 'apachectl stop' ... 'apachectl start' to make sure all of the processes are killed off.
      Well, in the begining I did a restart, but then I stopped it completely ... No change.
      We patched the code to force the cleanup, because setting up the cleanup delay wouldn't work. It's very strange.
      But I have 2 webservers ( listenning different ports ) on the same box. Would there be a possibility that it is because the cache is stored beetween to independant copys of apache? I don't believe so, but who knows?