On 9/8/10 11:26 AM, Alex Balashov wrote:
Daniel,
On 09/08/2010 04:20 AM, Daniel-Constantin Mierla wrote:
have you added some xlogs to see where it ends the execution for that case?
If you can run the config with devel version, then load debugger module and enable execution trace.
I have found the problem. It was a bug on my side that stemmed from my failure to correctly understand the documentation for t_lookup_request(). I believe it is written in an ambiguous way, even though the mistake is surely mine.
The docs say:
Checks if a transaction exists. Returns a positive value if so, negative otherwise. Most likely you will not want to use it, as a typical application of a look-up is to introduce a new transaction if none was found. However this is safely (atomically) done using t_newtran."
To me, this contains the implicit suggestion that a transaction will be created by calling t_lookup_request() if it does not already exist. I was in fact quite mistaken in this and took some measures that resulted in bizarre outcomes.
you can improve the docs if not clear, git is yours :-)
Cheers, Daniel