Dbih_getcom handle 'DBI::dr=..' is not a DBI handle (has no magic)

I noticed that those annoying messages popped up only when using the web
interface, and not when going directly towards the API. My web interface
uses Mason and Apache::Session … and not much more, and I did suspect
Apache::Session to be the problemmaker - so I decided to try to replace
this one. I’ve used Tie::Persistent as for now, IPC::Shareable might also
be a cool thing to use.

Well, the problem persisted, but at least I did get a hint about what’s
going on; we’re trying (through Apache::Session and $session{CurrentUser}
and it would be the same with IPC::Shareable) to store the DBI handle
persistently through Storeable. The DBI handle doesn’t like that kind of
treatment.

There is some global data in RT. Some of it is in the configuration file.
Two others, CurrentUser and the database handle is stored in each and
every object. I think this is not very smart, for one thing it makes
cacheing data between different instances of RT difficult. Are there
better ways to do this? I guess we have to discuss this at RTCon.

“The trouble with the world is that the stupid are
cocksure and the intelligent are full of doubt.”

  • Bertrand Russell