Uploaded image for project: 'JBoss Transaction Manager'
  1. JBoss Transaction Manager
  2. JBTM-3451

Use byteman for predictable LRA testing

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 5.11.0.Final
    • LRA, Testing
    • Undefined

      LRA uses a transaction model that assumes a relaxed form of consistency where the system is only guaranteed to be eventually consistent. This model makes testing challenging since the period to wait for checking LRA states cannot be determined in advance. For example the test io.narayana.lra.coordinator.domain.model.LRATest#testRecovery often fails on a busy CI.

      For those time bound tests where the test sleeps for an arbitrary period it would be preferable to use a more predictable technique such as byteman to wait for the recovery system to start and to complete a recovery cycle using a byteman rendezvous (eg https://developer.jboss.org/thread/240489). Once the rendezvous is hit the test can then check that the LRA is in the correct state.

              rhn-engineering-mmusgrov Michael Musgrove
              rhn-engineering-mmusgrov Michael Musgrove
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated: