Uploaded image for project: 'Cloud Enablement'
  1. Cloud Enablement
  2. CLOUD-2247

[EAP] Transaction recovery - attempt to reuse PV already containing split-n directory leads to not-empty transaction history or exception when launching the pod

    XMLWordPrintable

Details

    • Bug
    • Resolution: Not a Bug
    • Major
    • None
    • None
    • BPMS, BRMS, EAP6, EAP7, JDG6, JDG7, JDV, RH-SSO
    • None
    • Documentation (Ref Guide, User Guide, etc.), Interactive Demo/Tutorial, User Experience
    • Workaround Exists
    • Hide

      After shutting down the first launch of the demo, mount the remote NFS mountpoint to different directory, and delete its content prior re-using it (e.g. do "rm rf split*" for PVs provisioned via NFS plug-in) or use a completely new / empty NFS folder on the remote server.

      Show
      After shutting down the first launch of the demo, mount the remote NFS mountpoint to different directory, and delete its content prior re-using it (e.g. do "rm rf split *" for PVs provisioned via NFS plug-in) or use a completely new / empty NFS folder on the remote server.
    • Hide

      How reproducible:
      Always

      Steps to Reproduce:
      1) Deploy demo of automated EAP TX recovery feature as described in

      "Example Workflow: Illustration of the Automated Transaction Recovery Feature of the JBoss EAP for OpenShift Image when Scaling Down the Cluster"

      tutorial
      2) Launch the application && issue first transaction (using e.g. "Mercedes/Benz" as key/value pair, click "Submit" button),
      3) Delete the OpenShift project altogether (together with deleting the persistent volume definition):

      $ oc delete project eap-tx-demo
      $ oc delete pv txpv
      

      4) Run that demo again, create "txpv" again pointing to the same NFS directory on the remote host (use the same 'server' and 'path' configuration when deploying the PV).
      5) Launch the aplication

      Current result:
      Entries present in split-n directories already present in PV are handled within transaction recovery (when application is launched, "Mercedes/Benz" key/value pair is visible even when no transaction so far has been issued in the second run of the application yet)

      Expected result:
      No previous transactions / transaction history is visible (IOW the EAP TX recovery functionality should remove any pre-existing content of split-n directories prior launch of the first pod).

      Workaround:
      After shutting down the first launch of the demo, mount the remote NFS mountpoint to different directory, and delete its content prior re-using it (e.g. do "rm rf split*" for PVs provisioned via NFS plug-in) or use a completely new / empty NFS folder on the remote server.

      Show
      How reproducible: Always Steps to Reproduce: 1) Deploy demo of automated EAP TX recovery feature as described in "Example Workflow: Illustration of the Automated Transaction Recovery Feature of the JBoss EAP for OpenShift Image when Scaling Down the Cluster" tutorial 2) Launch the application && issue first transaction (using e.g. "Mercedes/Benz" as key/value pair, click "Submit" button), 3) Delete the OpenShift project altogether (together with deleting the persistent volume definition): $ oc delete project eap-tx-demo $ oc delete pv txpv 4) Run that demo again, create "txpv" again pointing to the same NFS directory on the remote host (use the same 'server' and 'path' configuration when deploying the PV). 5) Launch the aplication Current result: Entries present in split-n directories already present in PV are handled within transaction recovery (when application is launched, "Mercedes/Benz" key/value pair is visible even when no transaction so far has been issued in the second run of the application yet) Expected result: No previous transactions / transaction history is visible (IOW the EAP TX recovery functionality should remove any pre-existing content of split-n directories prior launch of the first pod). Workaround: After shutting down the first launch of the demo, mount the remote NFS mountpoint to different directory, and delete its content prior re-using it (e.g. do "rm rf split *" for PVs provisioned via NFS plug-in) or use a completely new / empty NFS folder on the remote server.

    Description

      Attempt to reuse previously used persistent volume (PV already containing split-n directory) for transaction recovery leads either to:

      • Transaction history not being empty (at subsequent launch of the application it's possible to see transactions completed in previous / unrelated run), or to
      • Error (JVM exception in the case some of the present split-n directories already has "corrupted" directory structure).

      Workaround: Is always to clear the content of the remote data store, prior reusing the persistent volume (e.g. perform

        rm -rf split-*
      

      ) for the PV provisioned via the NFS plug-in (perform identical actions on the directory content for other OpenShift PV provisioners).

      Attachments

        Activity

          People

            Unassigned Unassigned
            rhn-jlieskov Ján Lieskovský
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: