Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-26548

Consider documenting how MsSQL DB locking mechanism works

XMLWordPrintable

    • Icon: Documentation Documentation
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 8.0.0.GA-CR3
    • Documentation, Transactions
    • None
    • False
    • None
    • False

      When a table is updated inside of a transaction the table is locked and is unlocked only after the transaction is committed or rolled back. The problem could be a fact that in case of crash happening before Prepare phase is finished the Recovery Manager can't recover the XID of failed transaction and therefor can't rollback it.
      This scenario should be probably dealt with by setting the Transaction Timeout

      Similar behavior can be also seen on Sybase and was described in https://issues.redhat.com/browse/JBEAP-12208?focusedId=13437940&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13437940

      Even though we should be safe thanks to transaction timeout, there still could be a possibility of dead-lock. So I would like to make sure that the MsSQL behavior doesn't go against some specifications.

      As I think that this is just an implementation of how to ensure consistency and isolation of transaction and don't believe that we can force MsSQL developers to change this, maybe we should at least mention this in a documentation.

      We had a vendor specific XA recovery section in configuration guide for EAP 7.4 which seems like a great place for it, but I don't know about any configuration guide for EAP 8

              rhn-support-rchettri Rahuul Chettri
              ogerzica@redhat.com Ondrej Gerzicak
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated: