Hmm. Question is why you get invalid portal name errors in the first place.
This only happened when the Execute() was being sent to the Master, after the Bind() had already been sent to the Slave.
I agree that the easiest fix here is to simply not invoke pool_where_to_send for Bind or Execute, but to inherit where they were Parse()ed at. I had been playing with the idea of re-parsing / re-binding statements if there was a mismatch, but I'm not convinced it's the right thing to do, or that the overhead would be worth it.Yeah, without dealing with the problem above, I'm afraid re-parsing / re-binding approach brings more troubles...
I'm attaching my java project that I've used for testing things.This is really nasty, horrible code that doesn't even come close to best practices with JDBC -- I know...
But it does fairly reliably reproduce my problem. Sometimes it takes a few executions -- you're at the mercy of how pgpool assigns connections to backends.
I'm going to make the changes to pgpool (comment out the pool_where_to_send in Bind and Execute) and see if that fixes things -- I'll send another email with those results (sorry for the spam).
Regards, -Bryan
pgpool-buster.tar.gz
Description: pgpool-buster.tar.gz
_______________________________________________ Pgpool-general mailing list Pgpool-general@pgfoundry.org http://pgfoundry.org/mailman/listinfo/pgpool-general