geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jörn Gersdorf (JIRA) <j...@apache.org>
Subject [jira] [Updated] (GERONIMO-6542) Logging of XIDs/TransactionIds is wrong
Date Wed, 15 Apr 2015 11:27:58 GMT

     [ https://issues.apache.org/jira/browse/GERONIMO-6542?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Jörn Gersdorf updated GERONIMO-6542:
------------------------------------
    Attachment: GERONIMO-6542__Fix_wrong_logging_of_transaction_ids.patch

> Logging of XIDs/TransactionIds is wrong
> ---------------------------------------
>
>                 Key: GERONIMO-6542
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-6542
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: transaction manager
>         Environment: JBoss Fuse 6.1-610379, Apache Geronimo TransactionManager 3.3.1
>            Reporter: Jörn Gersdorf
>            Priority: Minor
>         Attachments: GERONIMO-6542__Fix_wrong_logging_of_transaction_ids.patch
>
>
> Transaction IDs are logged in a wrong format by XidImpl.toString().
> We are currently investigating issues in a distributed transaction setup involving WebsphereMQ
and try to correlate hanging transactions from MQ with transaction behaviour by Aries/Geronimo.
Therefore we set loglevel {{org.apache.geronimo.transaction.manager}} to {{TRACE}} which lets
{{WrapperNamedXAResource}} nicely log all XA activities.
> However, transaction XIDs are logged in a wrong format. E. g. the transaction Xid 
> {{363720AB4C0100006F72672E6170616368652E61726965732E7472616E73616374696F6E00000000000000000000000000000000000000000000000000000000}}

> will be logged as 
> {{363720ffffffab4c1006f72672e6170616368652e61726965732e7472616e73616374696f6e0000000000000000000000000000}}.
> This makes it hard to find and correlate transaction Xids in the log.
> Reason lies in {{XidImpl.toString()}} and is twofold:
> 1. {{Integer.toHexString(bgid[i])}} will append a single byte as just one character for
byte values {{0 <= bgid[i] <= 15}} (e. g. "1" instead of "01").
> 2. {{bgid[i]}} is a signed byte value. Negative values will be logged wrongly (e. g.
"ab" will be logged as "ffffffab").
> Patch solving these issues is attached.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message