[Info-ingres] What does XA_END mean in the SC930 log?
Roy Hann
roy.hann at rationalcommerce.com
Thu Dec 21 21:31:36 UTC 2017
Hmmm.
The reason I was asking is because I am seeing stuff like this:
EQY:1513854718/299769010:1::50:(232:0):0:1
XA_END:1513854718/620735450:XID(00020005:29:36:00000000:00000000:0000FFFF:0AD01E32:BD045DF2:5A3A5A00:00008CD9:31000000:00000000:000000FF:FF0AD01E:32BD045D:F25A3A5A:0000008C:DC00000
0:00000000:00000000:XA):00000000:0
EQY:1513854718/620833715:-1::50:(232:0):0:0
XA_PREP:1513854718/655271335:XID(00020005:29:36:00000000:00000000:0000FFFF:0AD01E32:BD045DF2:5A3A5A00:00008CD9:31000000:00000000:000000FF:FF0AD01E:32BD045D:F25A3A5A:0000008C:DC0000
00:00000000:00000000:XA):00000000:0
EQY:1513854718/655330225:-1::50:(232:31):0:0
XA_COMM:1513854718/659405680:XID(00020005:29:36:00000000:00000000:0000FFFF:0AD01E32:BD045DF2:5A3A5A00:00008CD9:31000000:00000000:000000FF:FF0AD01E:32BD045D:F25A3A5A:0000008C:DC0000
00:00000000:00000000:XA):00000000:0
EQY:1513854718/659471260:-1::50:(232:31):0:0
The thing I'm focussing on is the last field of the EQY record, which
is the transaction state indicator (something I added at one of the
sprints a couple of years ago).
The first EQY shows there is a transaction in progress; the indicator
is 1. We then see an XA_END--as a result of who-knows-what (I don't do
JDBC)--then the following EQY record shows the transaction has
ended because the state indicator is 0.
If that is the preamble to a 2PC commit then something is broken
because the participant has already committed or rolled back before
voting.
I am trying to decide if the customer's application is misbehaving. If
their application is expected/required to do whatever logs an XA_END
then maybe the problem is something else.
Roy
Thursday, December 21, 2017, 8:22:06 PM, you wrote:
> As far as I can recall, XA_END is something that happens prior to
> preparing and committing the distributed connection. The sequence is basically:
>
> XA_START
> XA_END
> XA_PREPARE
> XA_COMMIT
>
>
>
> XA_END is issued when the XA Transaction Manager calls
> javax.transaction.xa.XAResource.end() – not that it will help you
> much. Our JdbcXAConn class implements the XAConnection and
> XAResource interfaces and is controlled by a JDBC connection pool
> manager and XA Transaction Manager. What actions drive those
> resources is a bit of a mystery to me.
>
> Gordy
>
> From: Karl and Betty Schendel [mailto:schendel at kbcomputer.com]
> Sent: Thursday, December 21, 2017 9:21 AM
> To: Gordon Thorpe <Gordon.Thorpe at actian.com>
> Subject: Fwd: [Info-ingres] What does XA_END mean in the SC930 log?
>
>
>
> Hi Gordy,
> don't know if you still see info-ingres questions...
> I can sort of answer the first one, but XA in general is a black box to me.
>
> Karl
>
>
>> Begin forwarded message:
>>
>> From: Roy Hann <specially at processed.almost.meat>
>> Subject: [Info-ingres] What does XA_END mean in the SC930 log?
>> Date: December 21, 2017 at 11:54:33 AM EST
>> To: info-ingres at lists.planetingres.org
>>
>> When I see an XA_END in the trace log, what will have happened to cause
>> that? Is there a JDBC XAconnection method to explicitly signal the end
>> of the transaction or is it (somehow) implicit?
>>
>> If there was a transaction open but there was no preceding XA_COMM is
>> the transaction implicitly committed or rolled back? (I guess it is
>> committed.)
>>
>> Is whatever it is that causes an XA_END to be logged a legitimate
>> alternative to explicitly executing the commit method on the session
>> object (within a 2PC coordinator)?
>>
>> Roy
>>
>>
>> _______________________________________________
>> Info-ingres mailing list
>> Info-ingres at lists.planetingres.org
>> http://lists.planetingres.org/mailman/listinfo/info-ingres
>
Roy Hann
Rational Commerce Ltd.
T +44 20 8691 2089
"Ingres development, tuning and training experts"
More information about the Info-ingres
mailing list