[JBoss JIRA] (WFWIP-207) UX: Force removal of Operator upon delete - do not hang due to finalizers
by Ondrej Chaloupka (Jira)
[ https://issues.jboss.org/browse/WFWIP-207?page=com.atlassian.jira.plugin.... ]
Ondrej Chaloupka commented on WFWIP-207:
----------------------------------------
[~jmesnil] I would like to get feedback on this issue if I can ask.
Currently, the operator starts the recovery in two cases
* during scaledown (number of replicas decreases)
* when the operator resource is deleted (all resources of the {{wildflyserver}} CR is to be removed).
The {{wildflyserver}} removal ({{oc delete wildflyserver --all}}) is managed by finalizers. When they are set-up at the CR then the resource can't be removed. The operator is responsible to finish all transaction with the recovery process and then remove the finalizer.
This issue (WFWIP-207) asks to remove the finalizers completely. That means the {{oc delete wildflyserver --all}} will just remove forcibly all data without any transactional checking.
My idea was that the recovery should ensure that even the deletion is safe from the transaction consistency perspective. But if people understand the {{oc delete wildflyserver --all}} is the same as {{rm -rf}} then maybe the finalizers should not be part of the process.
In such case the documentation would need to say that the removal is not transactional safe without scaling down to `0`. That means the user would need to scale down and then remove if he wants the recovery to clean transactions.
I'm not sure if it's not a bit confusing for users but still I understand that my point of view of "bulletproof" transactional consistency could not be the right approach.
> UX: Force removal of Operator upon delete - do not hang due to finalizers
> -------------------------------------------------------------------------
>
> Key: WFWIP-207
> URL: https://issues.jboss.org/browse/WFWIP-207
> Project: WildFly WIP
> Issue Type: Bug
> Components: OpenShift
> Reporter: Petr Kremensky
> Assignee: Ondrej Chaloupka
> Priority: Blocker
> Labels: operator
>
> We run yet into another use case where finalizers prevent users from deleting the project - the delete operation hangs.
> pods:
> {noformat}
> $ oc get all
> NAME READY STATUS RESTARTS AGE
> pod/simple-jaxrs-operator-0 0/1 ImagePullBackOff 0 9m11s
> pod/simple-jaxrs-operator-1 0/1 ImagePullBackOff 0 9m11s
> pod/wildfly-operator-686846d6fb-db9sj 1/1 Running
> $ oc delete wildflyserver simple-jaxrs-operator
> wildflyserver.wildfly.org "simple-jaxrs-operator" deleted
> ... hangs forever
> {noformat}
> operator log:
> {noformat}
> {"level":"info","ts":1569308322.2926116,"logger":"controller_wildflyserver","msg":"Reconciling WildFlyServer","Request.Namespace":"pkremens-namespace","Request.Name":"simple-jaxrs-operator"}
> {"level":"info","ts":1569308322.2927597,"logger":"controller_wildflyserver","msg":"WildflyServer is marked for deletion. Waiting for finalizers to clean the workspace","Request.Namespace":"pkremens-namespace","Request.Name":"simple-jaxrs-operator"}
> {"level":"info","ts":1569308322.2929516,"logger":"controller_wildflyserver","msg":"Transaction recovery scaledown processing","Request.Namespace":"pkremens-namespace","Request.Name":"simple-jaxrs-operator","Pod Name":"simple-jaxrs-operator-0","IP Address":"10.128.0.227","Pod State":"SCALING_DOWN_RECOVERY_INVESTIGATION","Pod Phase":"Pending"}
> {"level":"info","ts":1569308322.2931426,"logger":"controller_wildflyserver","msg":"Transaction recovery scaledown processing","Request.Namespace":"pkremens-namespace","Request.Name":"simple-jaxrs-operator","Pod Name":"simple-jaxrs-operator-1","IP Address":"10.128.0.226","Pod State":"SCALING_DOWN_RECOVERY_INVESTIGATION","Pod Phase":"Pending"}
> {"level":"error","ts":1569308322.294659,"logger":"kubebuilder.controller","msg":"Reconciler error","controller":"wildflyserver-controller","request":"pkremens-namespace/simple-jaxrs-operator","error":"Finalizer processing: failed transaction recovery for WildflyServer pkremens-namespace:simple-jaxrs-operator name Error: Found 2 errors:\n [[Pod 'simple-jaxrs-operator-0' / 'simple-jaxrs-operator' is in pending phase Pending. It will be hopefully started in a while. Transaction recovery needs the pod being fully started to be capable to mark it as clean for the scale down.]], [[Pod 'simple-jaxrs-operator-1' / 'simple-jaxrs-operator' is in pending phase Pending. It will be hopefully started in a while. Transaction recovery needs the pod being fully started to be capable to mark it as clean for the scale down.]],","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/go/pkg/mod/github.com/go-l..."}
> {noformat}
> This is a call between safety vs. usability, but we believe that these issues (hanging delete command due to EAP7-1192) could be a serious usability problem for users.
> *actual*
> * scale down can require manual user interaction forced by finalizers
> * delete can hang, requiring manual user interaction (delete deployment object, remove finalizer from operator CR, run delete again)
> *expected*
> * scale down can require manual user interaction forced by finalizers
> * delete should never hang, it should be treated like a pulling a plug (rm -rf), in case users needs to make s graceful shutdown, he make a proper scale down to 0 prior the project deletion - this should be properly documented
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 10 months
[JBoss JIRA] (WFWIP-207) UX: Force removal of Operator upon delete - do not hang due to finalizers
by Ondrej Chaloupka (Jira)
[ https://issues.jboss.org/browse/WFWIP-207?page=com.atlassian.jira.plugin.... ]
Ondrej Chaloupka commented on WFWIP-207:
----------------------------------------
[~brian.stansberry] I assigned the issue on me as it's the part of the operator I work on. If you think differently please reassign it or tell me.
> UX: Force removal of Operator upon delete - do not hang due to finalizers
> -------------------------------------------------------------------------
>
> Key: WFWIP-207
> URL: https://issues.jboss.org/browse/WFWIP-207
> Project: WildFly WIP
> Issue Type: Bug
> Components: OpenShift
> Reporter: Petr Kremensky
> Assignee: Ondrej Chaloupka
> Priority: Blocker
> Labels: operator
>
> We run yet into another use case where finalizers prevent users from deleting the project - the delete operation hangs.
> pods:
> {noformat}
> $ oc get all
> NAME READY STATUS RESTARTS AGE
> pod/simple-jaxrs-operator-0 0/1 ImagePullBackOff 0 9m11s
> pod/simple-jaxrs-operator-1 0/1 ImagePullBackOff 0 9m11s
> pod/wildfly-operator-686846d6fb-db9sj 1/1 Running
> $ oc delete wildflyserver simple-jaxrs-operator
> wildflyserver.wildfly.org "simple-jaxrs-operator" deleted
> ... hangs forever
> {noformat}
> operator log:
> {noformat}
> {"level":"info","ts":1569308322.2926116,"logger":"controller_wildflyserver","msg":"Reconciling WildFlyServer","Request.Namespace":"pkremens-namespace","Request.Name":"simple-jaxrs-operator"}
> {"level":"info","ts":1569308322.2927597,"logger":"controller_wildflyserver","msg":"WildflyServer is marked for deletion. Waiting for finalizers to clean the workspace","Request.Namespace":"pkremens-namespace","Request.Name":"simple-jaxrs-operator"}
> {"level":"info","ts":1569308322.2929516,"logger":"controller_wildflyserver","msg":"Transaction recovery scaledown processing","Request.Namespace":"pkremens-namespace","Request.Name":"simple-jaxrs-operator","Pod Name":"simple-jaxrs-operator-0","IP Address":"10.128.0.227","Pod State":"SCALING_DOWN_RECOVERY_INVESTIGATION","Pod Phase":"Pending"}
> {"level":"info","ts":1569308322.2931426,"logger":"controller_wildflyserver","msg":"Transaction recovery scaledown processing","Request.Namespace":"pkremens-namespace","Request.Name":"simple-jaxrs-operator","Pod Name":"simple-jaxrs-operator-1","IP Address":"10.128.0.226","Pod State":"SCALING_DOWN_RECOVERY_INVESTIGATION","Pod Phase":"Pending"}
> {"level":"error","ts":1569308322.294659,"logger":"kubebuilder.controller","msg":"Reconciler error","controller":"wildflyserver-controller","request":"pkremens-namespace/simple-jaxrs-operator","error":"Finalizer processing: failed transaction recovery for WildflyServer pkremens-namespace:simple-jaxrs-operator name Error: Found 2 errors:\n [[Pod 'simple-jaxrs-operator-0' / 'simple-jaxrs-operator' is in pending phase Pending. It will be hopefully started in a while. Transaction recovery needs the pod being fully started to be capable to mark it as clean for the scale down.]], [[Pod 'simple-jaxrs-operator-1' / 'simple-jaxrs-operator' is in pending phase Pending. It will be hopefully started in a while. Transaction recovery needs the pod being fully started to be capable to mark it as clean for the scale down.]],","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/go/pkg/mod/github.com/go-l..."}
> {noformat}
> This is a call between safety vs. usability, but we believe that these issues (hanging delete command due to EAP7-1192) could be a serious usability problem for users.
> *actual*
> * scale down can require manual user interaction forced by finalizers
> * delete can hang, requiring manual user interaction (delete deployment object, remove finalizer from operator CR, run delete again)
> *expected*
> * scale down can require manual user interaction forced by finalizers
> * delete should never hang, it should be treated like a pulling a plug (rm -rf), in case users needs to make s graceful shutdown, he make a proper scale down to 0 prior the project deletion - this should be properly documented
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 10 months
[JBoss JIRA] (WFWIP-207) UX: Force removal of Operator upon delete - do not hang due to finalizers
by Ondrej Chaloupka (Jira)
[ https://issues.jboss.org/browse/WFWIP-207?page=com.atlassian.jira.plugin.... ]
Ondrej Chaloupka reassigned WFWIP-207:
--------------------------------------
Assignee: Ondrej Chaloupka (was: Brian Stansberry)
> UX: Force removal of Operator upon delete - do not hang due to finalizers
> -------------------------------------------------------------------------
>
> Key: WFWIP-207
> URL: https://issues.jboss.org/browse/WFWIP-207
> Project: WildFly WIP
> Issue Type: Bug
> Components: OpenShift
> Reporter: Petr Kremensky
> Assignee: Ondrej Chaloupka
> Priority: Blocker
> Labels: operator
>
> We run yet into another use case where finalizers prevent users from deleting the project - the delete operation hangs.
> pods:
> {noformat}
> $ oc get all
> NAME READY STATUS RESTARTS AGE
> pod/simple-jaxrs-operator-0 0/1 ImagePullBackOff 0 9m11s
> pod/simple-jaxrs-operator-1 0/1 ImagePullBackOff 0 9m11s
> pod/wildfly-operator-686846d6fb-db9sj 1/1 Running
> $ oc delete wildflyserver simple-jaxrs-operator
> wildflyserver.wildfly.org "simple-jaxrs-operator" deleted
> ... hangs forever
> {noformat}
> operator log:
> {noformat}
> {"level":"info","ts":1569308322.2926116,"logger":"controller_wildflyserver","msg":"Reconciling WildFlyServer","Request.Namespace":"pkremens-namespace","Request.Name":"simple-jaxrs-operator"}
> {"level":"info","ts":1569308322.2927597,"logger":"controller_wildflyserver","msg":"WildflyServer is marked for deletion. Waiting for finalizers to clean the workspace","Request.Namespace":"pkremens-namespace","Request.Name":"simple-jaxrs-operator"}
> {"level":"info","ts":1569308322.2929516,"logger":"controller_wildflyserver","msg":"Transaction recovery scaledown processing","Request.Namespace":"pkremens-namespace","Request.Name":"simple-jaxrs-operator","Pod Name":"simple-jaxrs-operator-0","IP Address":"10.128.0.227","Pod State":"SCALING_DOWN_RECOVERY_INVESTIGATION","Pod Phase":"Pending"}
> {"level":"info","ts":1569308322.2931426,"logger":"controller_wildflyserver","msg":"Transaction recovery scaledown processing","Request.Namespace":"pkremens-namespace","Request.Name":"simple-jaxrs-operator","Pod Name":"simple-jaxrs-operator-1","IP Address":"10.128.0.226","Pod State":"SCALING_DOWN_RECOVERY_INVESTIGATION","Pod Phase":"Pending"}
> {"level":"error","ts":1569308322.294659,"logger":"kubebuilder.controller","msg":"Reconciler error","controller":"wildflyserver-controller","request":"pkremens-namespace/simple-jaxrs-operator","error":"Finalizer processing: failed transaction recovery for WildflyServer pkremens-namespace:simple-jaxrs-operator name Error: Found 2 errors:\n [[Pod 'simple-jaxrs-operator-0' / 'simple-jaxrs-operator' is in pending phase Pending. It will be hopefully started in a while. Transaction recovery needs the pod being fully started to be capable to mark it as clean for the scale down.]], [[Pod 'simple-jaxrs-operator-1' / 'simple-jaxrs-operator' is in pending phase Pending. It will be hopefully started in a while. Transaction recovery needs the pod being fully started to be capable to mark it as clean for the scale down.]],","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/go/pkg/mod/github.com/go-l..."}
> {noformat}
> This is a call between safety vs. usability, but we believe that these issues (hanging delete command due to EAP7-1192) could be a serious usability problem for users.
> *actual*
> * scale down can require manual user interaction forced by finalizers
> * delete can hang, requiring manual user interaction (delete deployment object, remove finalizer from operator CR, run delete again)
> *expected*
> * scale down can require manual user interaction forced by finalizers
> * delete should never hang, it should be treated like a pulling a plug (rm -rf), in case users needs to make s graceful shutdown, he make a proper scale down to 0 prior the project deletion - this should be properly documented
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 10 months
[JBoss JIRA] (WFWIP-204) Status is not set when envFrom: [] is configured
by Martin Choma (Jira)
[ https://issues.jboss.org/browse/WFWIP-204?page=com.atlassian.jira.plugin.... ]
Martin Choma closed WFWIP-204.
------------------------------
Resolution: Cannot Reproduce
> Status is not set when envFrom: [] is configured
> ------------------------------------------------
>
> Key: WFWIP-204
> URL: https://issues.jboss.org/browse/WFWIP-204
> Project: WildFly WIP
> Issue Type: Bug
> Components: OpenShift
> Reporter: Martin Choma
> Assignee: Jeff Mesnil
> Priority: Blocker
> Labels: operator
>
> # Create {{WildFlyServer}} resource with {{envFrom: []}}
> {code:yaml|title=empty-envfrom-reproducer.yaml}
> apiVersion: wildfly.org/v1alpha1
> kind: WildFlyServer
> metadata:
> name: empty-envfrom-reproducer
> spec:
> applicationImage: 'brew-pulp-docker01.web.prod.ext.phx2.redhat.com:8888/jboss-eap-7-tech-preview/eap-cd-openshift-rhel8:17.0-4'
> size: 1
> envFrom: []
> {code}
> {{oc create -f empty-envfrom-reproducer.yaml}}
> # Pods are started properly in {{Ready}} state. But {{empty-envfrom-reproducer}} is not updated with status stanza.
> # After manually deleting {{envFrom: []}} from resource, status is created and filled properly
> {code:yaml}
> status:
> hosts:
> - >-
> empty-envfrom-reproducer-mchoma.apps.multinode-nfs-mchoma-001.dynamic.xpaas
> pods:
> - name: empty-envfrom-reproducer-0
> podIP: 10.130.0.208
> {code}
> # Operator pod log
> {code:json|operator-pod.log}
> {"level":"info","ts":1568705927.510753,"logger":"cmd","msg":"Go Version: go1.12.7"}
> {"level":"info","ts":1568705927.5108342,"logger":"cmd","msg":"Go OS/Arch: linux/amd64"}
> {"level":"info","ts":1568705927.5108497,"logger":"cmd","msg":"Version of operator-sdk: v0.8.1"}
> {"level":"info","ts":1568705927.5111423,"logger":"leader","msg":"Trying to become the leader."}
> {"level":"info","ts":1568705927.594317,"logger":"leader","msg":"No pre-existing lock was found."}
> {"level":"info","ts":1568705927.5975504,"logger":"leader","msg":"Became the leader."}
> {"level":"info","ts":1568705927.6472175,"logger":"cmd","msg":"Registering Components."}
> {"level":"info","ts":1568705927.6474228,"logger":"utils","msg":"detecting platform version..."}
> {"level":"info","ts":1568705927.6507683,"logger":"utils","msg":"route.openshift.io found in apis, platform is OpenShift"}
> {"level":"info","ts":1568705927.6508126,"logger":"utils","msg":"PlatformInfo [Name: OpenShift, K8SVersion: 1.11+, OS: linux/amd64]"}
> {"level":"info","ts":1568705927.6509123,"logger":"kubebuilder.controller","msg":"Starting EventSource","controller":"wildflyserver-controller","source":"kind source: /, Kind="}
> {"level":"info","ts":1568705927.651141,"logger":"kubebuilder.controller","msg":"Starting EventSource","controller":"wildflyserver-controller","source":"kind source: /, Kind="}
> {"level":"info","ts":1568705927.6512737,"logger":"kubebuilder.controller","msg":"Starting EventSource","controller":"wildflyserver-controller","source":"kind source: /, Kind="}
> {"level":"info","ts":1568705927.6513739,"logger":"utils","msg":"detecting platform version..."}
> {"level":"info","ts":1568705927.653909,"logger":"utils","msg":"route.openshift.io found in apis, platform is OpenShift"}
> {"level":"info","ts":1568705927.653929,"logger":"utils","msg":"PlatformInfo [Name: OpenShift, K8SVersion: 1.11+, OS: linux/amd64]"}
> {"level":"info","ts":1568705927.65394,"logger":"kubebuilder.controller","msg":"Starting EventSource","controller":"wildflyserver-controller","source":"kind source: /, Kind="}
> {"level":"info","ts":1568705927.7098546,"logger":"cmd","msg":"failed to create or get service for metrics: services \"wildfly-operator\" is forbidden: cannot set blockOwnerDeletion if an ownerReference refers to a resource you can't set finalizers on: no RBAC policy matched, <nil>"}
> {"level":"info","ts":1568705927.7099428,"logger":"cmd","msg":"Starting the Cmd."}
> {"level":"info","ts":1568705927.8103025,"logger":"kubebuilder.controller","msg":"Starting Controller","controller":"wildflyserver-controller"}
> {"level":"info","ts":1568705927.9105484,"logger":"kubebuilder.controller","msg":"Starting workers","controller":"wildflyserver-controller","worker count":1}
> {"level":"info","ts":1568705999.590361,"logger":"controller_wildflyserver","msg":"Reconciling WildFlyServer","Request.Namespace":"mchoma","Request.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568705999.590594,"logger":"controller_wildflyserver","msg":"Creating a new StatefulSet.","Request.Namespace":"mchoma","Request.Name":"empty-envfrom-reproducer","StatefulSet.Namespace":"mchoma","StatefulSet.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568705999.6067576,"logger":"controller_wildflyserver","msg":"Reconciling WildFlyServer","Request.Namespace":"mchoma","Request.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568705999.6069276,"logger":"controller_wildflyserver","msg":"Updating envFrom","StatefulSet.Namespace":"mchoma","StatefulSet.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568705999.6118605,"logger":"controller_wildflyserver","msg":"Reconciling WildFlyServer","Request.Namespace":"mchoma","Request.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568705999.6120145,"logger":"controller_wildflyserver","msg":"Updating envFrom","StatefulSet.Namespace":"mchoma","StatefulSet.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568705999.6286259,"logger":"controller_wildflyserver","msg":"Reconciling WildFlyServer","Request.Namespace":"mchoma","Request.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568705999.6287735,"logger":"controller_wildflyserver","msg":"Updating envFrom","StatefulSet.Namespace":"mchoma","StatefulSet.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568705999.636309,"logger":"controller_wildflyserver","msg":"Reconciling WildFlyServer","Request.Namespace":"mchoma","Request.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568705999.6363795,"logger":"controller_wildflyserver","msg":"Updating envFrom","StatefulSet.Namespace":"mchoma","StatefulSet.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568705999.7196531,"logger":"controller_wildflyserver","msg":"Reconciling WildFlyServer","Request.Namespace":"mchoma","Request.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568705999.7197673,"logger":"controller_wildflyserver","msg":"Updating envFrom","StatefulSet.Namespace":"mchoma","StatefulSet.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568705999.8841014,"logger":"controller_wildflyserver","msg":"Reconciling WildFlyServer","Request.Namespace":"mchoma","Request.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568705999.88426,"logger":"controller_wildflyserver","msg":"Updating envFrom","StatefulSet.Namespace":"mchoma","StatefulSet.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568706000.2099004,"logger":"controller_wildflyserver","msg":"Reconciling WildFlyServer","Request.Namespace":"mchoma","Request.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568706000.210038,"logger":"controller_wildflyserver","msg":"Updating envFrom","StatefulSet.Namespace":"mchoma","StatefulSet.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568706000.8545172,"logger":"controller_wildflyserver","msg":"Reconciling WildFlyServer","Request.Namespace":"mchoma","Request.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568706000.8546531,"logger":"controller_wildflyserver","msg":"Updating envFrom","StatefulSet.Namespace":"mchoma","StatefulSet.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568706002.1387296,"logger":"controller_wildflyserver","msg":"Reconciling WildFlyServer","Request.Namespace":"mchoma","Request.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568706002.138901,"logger":"controller_wildflyserver","msg":"Updating envFrom","StatefulSet.Namespace":"mchoma","StatefulSet.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568706002.885167,"logger":"controller_wildflyserver","msg":"Reconciling WildFlyServer","Request.Namespace":"mchoma","Request.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568706002.8852742,"logger":"controller_wildflyserver","msg":"Updating envFrom","StatefulSet.Namespace":"mchoma","StatefulSet.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568706004.7032814,"logger":"controller_wildflyserver","msg":"Reconciling WildFlyServer","Request.Namespace":"mchoma","Request.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568706004.7033875,"logger":"controller_wildflyserver","msg":"Updating envFrom","StatefulSet.Namespace":"mchoma","StatefulSet.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568706014.9472132,"logger":"controller_wildflyserver","msg":"Reconciling WildFlyServer","Request.Namespace":"mchoma","Request.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568706014.947392,"logger":"controller_wildflyserver","msg":"Updating envFrom","StatefulSet.Namespace":"mchoma","StatefulSet.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568706035.435317,"logger":"controller_wildflyserver","msg":"Reconciling WildFlyServer","Request.Namespace":"mchoma","Request.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568706035.4354827,"logger":"controller_wildflyserver","msg":"Updating envFrom","StatefulSet.Namespace":"mchoma","StatefulSet.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568706076.402556,"logger":"controller_wildflyserver","msg":"Reconciling WildFlyServer","Request.Namespace":"mchoma","Request.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568706076.4027927,"logger":"controller_wildflyserver","msg":"Updating envFrom","StatefulSet.Namespace":"mchoma","StatefulSet.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568706088.455402,"logger":"controller_wildflyserver","msg":"Reconciling WildFlyServer","Request.Namespace":"mchoma","Request.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568706088.4555542,"logger":"controller_wildflyserver","msg":"Creating a new LoadBalancer.","Request.Namespace":"mchoma","Request.Name":"empty-envfrom-reproducer","LoadBalancer.Namespace":"mchoma","LoadBalancer.Name":"empty-envfrom-reproducer-loadbalancer"}
> {"level":"info","ts":1568706088.4717329,"logger":"controller_wildflyserver","msg":"Reconciling WildFlyServer","Request.Namespace":"mchoma","Request.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568706088.4718812,"logger":"controller_wildflyserver","msg":"Creating a new Route.","Request.Namespace":"mchoma","Request.Name":"empty-envfrom-reproducer","Route.Namespace":"mchoma","Route.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568706088.4799702,"logger":"controller_wildflyserver","msg":"Reconciling WildFlyServer","Request.Namespace":"mchoma","Request.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568706088.5806746,"logger":"controller_wildflyserver","msg":"Updating hosts","Request.Namespace":"mchoma","Request.Name":"empty-envfrom-reproducer","WildFlyServer":{"kind":"WildFlyServer","apiVersion":"wildfly.org/v1alpha1","metadata":{"name":"empty-envfrom-reproducer","namespace":"mchoma","selfLink":"/apis/wildfly.org/v1alpha1/namespaces/mchoma/wildflyservers/empty-envfrom-reproducer","uid":"46bcc345-d91e-11e9-b23d-fa163e9a0fb6","resourceVersion":"7076790","generation":2,"creationTimestamp":"2019-09-17T07:39:27Z"},"spec":{"applicationImage":"brew-pulp-docker01.web.prod.ext.phx2.redhat.com:8888/jboss-eap-7-tech-preview/eap-cd-openshift-rhel8:17.0-4","size":1},"status":{}}}
> {"level":"info","ts":1568706088.5878873,"logger":"controller_wildflyserver","msg":"Reconciling WildFlyServer","Request.Namespace":"mchoma","Request.Name":"empty-envfrom-reproducer"}
> {"level":"info","ts":1568706088.5880494,"logger":"controller_wildflyserver","msg":"Updating hosts","Request.Namespace":"mchoma","Request.Name":"empty-envfrom-reproducer","WildFlyServer":{"kind":"WildFlyServer","apiVersion":"wildfly.org/v1alpha1","metadata":{"name":"empty-envfrom-reproducer","namespace":"mchoma","selfLink":"/apis/wildfly.org/v1alpha1/namespaces/mchoma/wildflyservers/empty-envfrom-reproducer","uid":"46bcc345-d91e-11e9-b23d-fa163e9a0fb6","resourceVersion":"7076797","generation":2,"creationTimestamp":"2019-09-17T07:39:27Z"},"spec":{"applicationImage":"brew-pulp-docker01.web.prod.ext.phx2.redhat.com:8888/jboss-eap-7-tech-preview/eap-cd-openshift-rhel8:17.0-4","size":1},"status":{"pods":[{"name":"empty-envfrom-reproducer-0","podIP":"10.130.0.208"}],"hosts":["empty-envfrom-reproducer-mchoma.apps.multinode-nfs-mchoma-001.dynamic.xpaas"]}}}
> {"level":"info","ts":1568706088.593367,"logger":"controller_wildflyserver","msg":"Reconciling WildFlyServer","Request.Namespace":"mchoma","Request.Name":"empty-envfrom-reproducer"}
> {code}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 10 months
[JBoss JIRA] (WFLY-12584) Name of Chunk BatchJob is saved in parameters of its execution if exception was thrown in readItem
by serg polchevski (Jira)
serg polchevski created WFLY-12584:
--------------------------------------
Summary: Name of Chunk BatchJob is saved in parameters of its execution if exception was thrown in readItem
Key: WFLY-12584
URL: https://issues.jboss.org/browse/WFLY-12584
Project: WildFly
Issue Type: Bug
Components: Batch
Affects Versions: 17.0.1.Final, 17.0.0.Final
Environment: wildfly-17.0.1.Final
Reporter: serg polchevski
Assignee: Cheng Fang
If a Exception is thrown during execution of Batch Chunk Job in method implementing readItem() of class ItemReader than parameter "jberet.jobXmlName" with name of BatchJob is added/saved in jobparameters of table job_execution and this parameter is than shown in the execution of BatchJob. Saved parameters for example (originally just id=4):
{code:java}
jberet.jobXmlName = testJob.xml
id = 4
{code}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 10 months
[JBoss JIRA] (WFLY-12583) DB Connection is not getting removed from pool when transaction is rooled back during database fail over in Wildfly-17
by Anish Parekh (Jira)
[ https://issues.jboss.org/browse/WFLY-12583?page=com.atlassian.jira.plugin... ]
Anish Parekh updated WFLY-12583:
--------------------------------
Description:
I am using Wildfly-17 server. I am testing the fail over scenario on Oracle database during on going API traffic in Wildfly.
The steps I performed:
- Oracle RAC DB setup is done and scan ip (Virtual IP) is configured in domain.xml. Also, created 2 database services (named as "pri" and "sec") in database with preferred service configuration.
- Wildfly server is up and running with my project binaries,
where DS configuration is:
<datasource jta="true" jndi-name="java:jboss/datasources/jdbc/InventoryDS" pool-name="jdbc/InventoryDS" enabled="true" use-java-context="true" spy="false" use-ccm="true" statistics-enabled="true">
<connection-url>jdbc:oracle:thin:@10.151.5.16:1521/pri</connection-url>
<connection-property name="AutoCommit">false</connection-property>
<driver>ojdbc8</driver>
<pool>
<min-pool-size>1</min-pool-size>
<initial-pool-size>1</initial-pool-size>
<max-pool-size>10</max-pool-size>
<prefill>false</prefill>
<fair>false</fair>
<use-strict-min>false</use-strict-min>
<flush-strategy>FailingConnectionOnly</flush-strategy>
</pool>
<security>
<security-domain>InventoryDS</security-domain>
</security>
<validation>
<validate-on-match>false</validate-on-match>
<background-validation>false</background-validation>
<use-fast-fail>false</use-fast-fail>
<exception-sorter class-name="org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter"/>
</validation>
<statement>
<track-statements>false</track-statements>
</statement>
</datasource>
- Started load (REST API) using JMeter. All current Db connection is pointing to "pri" service
- During ongoing traffic, I rebooted one DB node (having "pri" service)
Expectation:
The existing DB connections will be removed from pool and new connection will be pointing to "sec" service. Hence, minimal impact on ongoing API traffic
Actual result :
It is not removing DB connection from pool. Next time the same connection is getting used. Due to which the API is getting failed.
Observation:
The code is written in such a way that for any exception occures during API execution, the code set to call setRollbackOnly() method for transaction (it is container managed transaction in EJB).
Due to the transaction rollback, the server is not able to remove connection from pool.
When I removed setRollbackOnly() from code, then it is able to remove connection from pool and next request will get new connection from "sec" DB service.
Logs for the reference:
=======================
Logs with setRollbackOnly() called from API:
--------------------------------------------
2019-09-13 11:01:44,464 TRACE (default task-15) IJTRACER-jdbc/InventoryDS-4467852c-1046-93-2069714450032188-105a159d-73db02c0-org.jboss.as.connector.deployers.ra.processors.CachedConnectionManagerSetupProcessor$CachedConnectionManagerSetupAction@75128fe0
2019-09-13 11:01:44,464 TRACE (default task-15) IJTRACER-jdbc/InventoryDS-4467852c-1046-41-2069714450059032-105a159d-73db02c0-
2019-09-13 11:01:44,464 TRACE (default task-15) [TxConnectionListener@105a159d] unregisterConnection: 0 handles left ([])
2019-09-13 11:01:44,464 TRACE (default task-15) isManagedConnectionFree=false mc=org.jboss.jca.adapters.jdbc.local.LocalManagedConnection@33bd6c05
2019-09-13 11:01:44,465 TRACE (default task-15) popped object: org.jboss.as.connector.deployers.ra.processors.CachedConnectionManagerSetupProcessor$CachedConnectionManagerSetupAction@75128fe0
2019-09-13 11:01:44,465 TRACE (default task-15) IJTRACER-CachedConnectionManager-NONE-1046-91-2069714451688504-NONE-org.jboss.as.connector.deployers.ra.processors.CachedConnectionManagerSetupProcessor$CachedConnectionManagerSetupAction@75128fe0-java.lang.Throwable:_CALLSTACK|\at_org.jboss.jca.core.connectionmanager.ccm.CachedConnectionManagerImpl.popMetaAwareObject(CachedConnectionManagerImpl.java:283)|\at_org.jboss.as.connector.deployers.ra.processors.CachedConnectionManagerSetupProcessor$CachedConnectionManagerSetupAction.teardown(CachedConnectionManagerSetupProcessor.java:107)|\at_org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:60)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)|\at_org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:636)|\at_org.jboss.invocation.AccessCheckingInterceptor.processInvocation(AccessCheckingInterceptor.java:61)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)|\at_org.jboss.invocation.PrivilegedWithCombinerInterceptor.processInvocation(PrivilegedWithCombinerInterceptor.java:80)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)|\at_org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:198)|\at_org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:185)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)|\at_org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:73)|\at_com.demo.inventory.ejb3.inventorymgmt.interfaces.IInventoryDetailSessionLocal$$$view355.searchInventory(Unknown_Source)|\at_com.demo.inventory.ejb3.inventorymgmt.sessionfacadeintapi.InventoryOperations.searchInventory(InventoryOperations.java:529)|\at_sun.reflect.GeneratedMethodAccessor1021.invoke(Unknown_Source)|\at_sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)|\at_java.lang.reflect.Method.invoke(Method.java:497)|\at_org.jboss.as.ee.component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:52)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)|\at_org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.delegateInterception(Jsr299BindingsInterceptor.java:70)|\at_org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:80)|\at_org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:93)|\at_org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)|\at_com.demo.inventory.aspect.PrePostPlugin.processPrePostEvent(PrePostPlugin.java:125)|\at_sun.reflect.GeneratedMethodAccessor1020.invoke(Unknown_Source)|\at_sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)|\at_java.lang.reflect.Method.invoke(Method.java:497)|\at_org.jboss.as.ee.component.ManagedReferenceLifecycleMethodInterceptor.processInvocation(ManagedReferenceLifecycleMethodInterceptor.java:89)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)|\at_org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:73)|\at_org.jboss.as.weld.ejb.EjbRequestScopeActivationInterceptor.processInvocation(EjbRequestScopeActivationInterceptor.java:83)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ee.concurrent.ConcurrentContextInterceptor.processInvocation(ConcurrentContextInterceptor.java:45)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)|\at_org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:52)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.component.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:275)|\at_org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:327)|\at_org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:239)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.remote.EJBRemoteTransactionPropagatingInterceptor.processInvocation(EJBRemoteTransactionPropagatingInterceptor.java:79)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.component.invocationmetrics.WaitTimeInterceptor.processInvocation(WaitTimeInterceptor.java:47)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocation(SecurityContextInterceptor.java:100)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.deployment.processors.StartupAwaitInterceptor.processInvocation(StartupAwaitInterceptor.java:22)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.deployment.processors.EjbSuspendInterceptor.processInvocation(EjbSuspendInterceptor.java:44)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:67)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:54)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)|\at_org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:636)|\at_org.jboss.invocation.AccessCheckingInterceptor.processInvocation(AccessCheckingInterceptor.java:61)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)|\at_org.jboss.invocation.PrivilegedWithCombinerInterceptor.processInvocation(PrivilegedWithCombinerInterceptor.java:80)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)|\at_org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:198)|\at_org.jboss.as.ejb3.remote.LocalEjbReceiver.processInvocation(LocalEjbReceiver.java:266)|\at_org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:184)|\at_org.jboss.ejb.client.EJBObjectInterceptor.handleInvocation(EJBObjectInterceptor.java:58)|\at_org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)|\at_org.jboss.ejb.client.EJBHomeInterceptor.handleInvocation(EJBHomeInterceptor.java:83)|\at_org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)|\at_org.jboss.ejb.client.TransactionInterceptor.handleInvocation(TransactionInterceptor.java:42)|\at_org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)|\at_org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:138)|\at_org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)|\at_org.jboss.ejb.client.EJBInvocationHandler.sendRequestWithPossibleRetries(EJBInvocationHandler.java:255)|\at_org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:200)|\at_org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:183)|\at_org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:146)|\at_com.sun.proxy.$Proxy250.searchInventory(Unknown_Source)|\at_com.demo.rest.inventory.delegator.InventoryOperationsDelegator.searchInventory(InventoryOperationsDelegator.java:70)|\at_com.demo.rest.inventory.service.InventoryOperationsService.searchInventory(InventoryOperationsService.java:61)|\at_com.demo.rest.inventory.resource.InventoryOperationsResource.searchInventory(InventoryOperationsResource.java:69)|\at_sun.reflect.GeneratedMethodAccessor1019.invoke(Unknown_Source)|\at_sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)|\at_java.lang.reflect.Method.invoke(Method.java:497)|\at_org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:139)|\at_org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:295)|\at_org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:249)|\at_org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:236)|\at_org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:402)|\at_org.jboss.resteasy.core.SynchronousDispatcher.invokePropagateNotFound(SynchronousDispatcher.java:247)|\at_org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:225)|\at_org.jboss.resteasy.plugins.server.servlet.FilterDispatcher.doFilter(FilterDispatcher.java:62)|\at_io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)|\at_io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)|\at_com.demo.rest.core.filter.CORSFilter.doFilter(CORSFilter.java:51)|\at_io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)|\at_io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)|\at_io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)|\at_io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)|\at_io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)|\at_org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)|\at_io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)|\at_io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)|\at_io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)|\at_io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)|\at_io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)|\at_io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)|\at_io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)|\at_io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)|\at_io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)|\at_io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)|\at_io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)|\at_org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)|\at_io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)|\at_io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)|\at_io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:292)|\at_io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:81)|\at_io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:138)|\at_io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135)|\at_io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)|\at_io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)|\at_io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)|\at_io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)|\at_io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)|\at_io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)|\at_io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)|\at_io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272)|\at_io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)|\at_io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104)|\at_io.undertow.server.Connectors.executeRootHandler(Connectors.java:202)|\at_io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:805)|\at_java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)|\at_java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)|\at_java.lang.Thread.run(Thread.java:745)|
2019-09-13 11:01:44,466 TRACE (default task-15) BaseTransaction.setRollbackOnly
2019-09-13 11:01:44,466 TRACE (default task-15) TransactionImple.setRollbackOnly
2019-09-13 11:01:44,466 TRACE (default task-15) TransactionImple.getStatus: javax.transaction.Status.STATUS_MARKED_ROLLBACK
2019-09-13 11:01:44,466 TRACE (default task-15) BaseTransaction.rollback
2019-09-13 11:01:44,466 TRACE (default task-15) TransactionImple.rollbackAndDisassociate
2019-09-13 11:01:44,468 TRACE (default task-15) Unlock: HeldByCurrentThread: Yes, Locked: Yes, HoldCount: 1, QueueLength: 0
2019-09-13 11:01:44,468 TRACE (default task-15) Owner: Thread[default task-15,5,main]
2019-09-13 11:01:44,476 TRACE (default task-15) SynchronizationImple.afterCompletion - Class: class org.jboss.as.txn.service.internal.tsr.JCAOrderedLastSynchronizationList HashCode: 40330594 toString: org.jboss.as.txn.service.internal.tsr.JCAOrderedLastSynchronizationList@2676562
2019-09-13 11:01:44,476 TRACE (default task-15) afterCompletion(4) isTrackByTx=true for org.jboss.jca.core.connectionmanager.listener.TxConnectionListener@105a159d[state=NORMAL managed connection=org.jboss.jca.adapters.jdbc.local.LocalManagedConnection@33bd6c05 connection handles=0 lastReturned=1568352703782 lastValidated=1568350845750 lastCheckedOut=1568352703818 trackByTx=true pool=org.jboss.jca.core.connectionmanager.pool.strategy.PoolBySubject@20796ab0 mcp=SemaphoreConcurrentLinkedQueueManagedConnectionPool@4467852c[pool=jdbc/InventoryDS] xaResource=LocalXAResourceImpl@1263d5dd[connectionListener=105a159d connectionManager=630b92ae warned=false currentXid=null productName=Oracle productVersion=Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production jndiName=java:jboss/datasources/jdbc/InventoryDS] txSync=null]
2019-09-13 11:01:44,476 TRACE (default task-15) [TxConnectionListener@105a159d] isManagedConnectionFree: true
2019-09-13 11:01:44,476 TRACE (default task-15) IJTRACER-jdbc/InventoryDS-4467852c-1046-34-2069714462871419-105a159d--
Logs without setRollbackOnly() from API:
-----------------------------------------
2019-09-13 11:01:44,479 TRACE (default task-17) IJTRACER-jdbc/InventoryDS-588c2c98-1051-93-2069714465486053-3c9e3b2f-23a7ccff-org.jboss.as.connector.deployers.ra.processors.CachedConnectionManagerSetupProcessor$CachedConnectionManagerSetupAction@751461b5
2019-09-13 11:01:44,479 TRACE (default task-17) IJTRACER-jdbc/InventoryDS-588c2c98-1051-41-2069714465507047-3c9e3b2f-23a7ccff-
2019-09-13 11:01:44,479 TRACE (default task-17) [TxConnectionListener@3c9e3b2f] unregisterConnection: 0 handles left ([])
2019-09-13 11:01:44,479 TRACE (default task-17) isManagedConnectionFree=false mc=org.jboss.jca.adapters.jdbc.local.LocalManagedConnection@110a223f
2019-09-13 11:01:44,479 TRACE (default task-17) TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE
2019-09-13 11:01:44,479 TRACE (default task-17) BaseTransaction.commit
2019-09-13 11:01:44,479 TRACE (default task-17) TransactionImple.commitAndDisassociate
2019-09-13 11:01:44,479 TRACE (default task-17) SynchronizationImple.beforeCompletion - Class: class org.jboss.as.txn.service.internal.tsr.JCAOrderedLastSynchronizationList HashCode: 101703171 toString: org.jboss.as.txn.service.internal.tsr.JCAOrderedLastSynchronizationList@60fde03
2019-09-13 11:01:44,479 TRACE (default task-17) TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE
2019-09-13 11:01:44,479 TRACE (default task-17) TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE
2019-09-13 11:01:44,479 TRACE (default task-17) delistResource(LocalXAResourceImpl@332d0f3[connectionListener=3c9e3b2f connectionManager=3081dd0c warned=false currentXid=< formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffff0a278003:-28cc616e:5d7b227a:c51, node_name=1, branch_uid=0:ffff0a278003:-28cc616e:5d7b227a:c53, subordinatenodename=null, eis_name=java:jboss/datasources/jdbc/InventoryDS > productName=Oracle productVersion=Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production jndiName=java:jboss/datasources/jdbc/InventoryDS], TMSUCCESS)
2019-09-13 11:01:44,479 TRACE (default task-17) TransactionImple.delistResource ( LocalXAResourceImpl@332d0f3[connectionListener=3c9e3b2f connectionManager=3081dd0c warned=false currentXid=< formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffff0a278003:-28cc616e:5d7b227a:c51, node_name=1, branch_uid=0:ffff0a278003:-28cc616e:5d7b227a:c53, subordinatenodename=null, eis_name=java:jboss/datasources/jdbc/InventoryDS > productName=Oracle productVersion=Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production jndiName=java:jboss/datasources/jdbc/InventoryDS], 67108864 )
2019-09-13 11:01:44,479 TRACE (default task-17) TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE
2019-09-13 11:01:44,479 TRACE (default task-17) end(< formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffff0a278003:-28cc616e:5d7b227a:c51, node_name=1, branch_uid=0:ffff0a278003:-28cc616e:5d7b227a:c53, subordinatenodename=null, eis_name=java:jboss/datasources/jdbc/InventoryDS >,67108864)
2019-09-13 11:01:44,479 TRACE (default task-17) IJTRACER-jdbc/InventoryDS-588c2c98-1051-30-2069714465761476-3c9e3b2f-TransactionImple < ac, BasicAction: 0:ffff0a278003:_28cc616e:5d7b227a:c51 status: ActionStatus.RUNNING >-
2019-09-13 11:01:44,480 TRACE (default task-17) Unlock: HeldByCurrentThread: Yes, Locked: Yes, HoldCount: 1, QueueLength: 0
2019-09-13 11:01:44,480 TRACE (default task-17) Owner: Thread[default task-17,5,main]
2019-09-13 11:01:44,480 TRACE (default task-17) IJTRACER-jdbc/InventoryDS-588c2c98-1051-11-2069714466239757-3c9e3b2f--
2019-09-13 11:01:44,480 TRACE (default task-17) returnConnection(3c9e3b2f, true)
2019-09-13 11:01:44,480 TRACE (default task-17) Destroying returned connection org.jboss.jca.core.connectionmanager.listener.TxConnectionListener@3c9e3b2f[state=NORMAL managed connection=org.jboss.jca.adapters.jdbc.local.LocalManagedConnection@110a223f connection handles=0 lastReturned=1568352703828 lastValidated=1568350873622 lastCheckedOut=1568352703856 trackByTx=false pool=org.jboss.jca.core.connectionmanager.pool.strategy.PoolBySubject@7b955f13 mcp=SemaphoreConcurrentLinkedQueueManagedConnectionPool@588c2c98[pool=jdbc/InventoryDS] xaResource=LocalXAResourceImpl@332d0f3[connectionListener=3c9e3b2f connectionManager=3081dd0c warned=false currentXid=null productName=Oracle productVersion=Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production jndiName=java:jboss/datasources/jdbc/InventoryDS] txSync=TransactionSynchronization@384438466{tx=TransactionImple < ac, BasicAction: 0:ffff0a278003:-28cc616e:5d7b227a:c51 status: ActionStatus.COMMITTING > wasTrackByTx=true enlisted=true cancel=false}]
2019-09-13 11:01:44,480 TRACE (default task-17) IJTRACER-jdbc/InventoryDS-588c2c98-1051-70-2069714466500063-3c9e3b2f--
Please help to solve this issue.
was:
I am using Wildfly-17 server. I am testing the fail over scenario on Oracle database during on going API traffic in Wildfly.
The steps I performed:
- Oracle RAC DB setup is done and scan ip (Virtual IP) is configured in domain.xml. Also, created 2 database services (named as "pri" and "sec") in database with preferred service configuration.
- Wildfly server is up and running with my project binaries,
where DS configuration is:
<datasource jta="true" jndi-name="java:jboss/datasources/jdbc/InventoryDS" pool-name="jdbc/InventoryDS" enabled="true" use-java-context="true" spy="false" use-ccm="true" statistics-enabled="true">
<connection-url>jdbc:oracle:thin:@10.151.5.16:1521/pri</connection-url>
<connection-property name="AutoCommit">false</connection-property>
<driver>ojdbc8</driver>
<pool>
<min-pool-size>1</min-pool-size>
<initial-pool-size>1</initial-pool-size>
<max-pool-size>10</max-pool-size>
<prefill>false</prefill>
<fair>false</fair>
<use-strict-min>false</use-strict-min>
<flush-strategy>FailingConnectionOnly</flush-strategy>
</pool>
<security>
<security-domain>InventoryDS</security-domain>
</security>
<validation>
<validate-on-match>false</validate-on-match>
<background-validation>false</background-validation>
<use-fast-fail>false</use-fast-fail>
<exception-sorter class-name="org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter"/>
</validation>
<statement>
<track-statements>false</track-statements>
</statement>
</datasource>
- Started load (REST API) using JMeter. All current Db connection is pointing to "pri" service
- During ongoing traffic, I rebooted one DB node (having "pri" service)
Expectation:
The existing DB connections will be removed from pool and new connection will be pointing to "sec" service. Hence, minimal impact on ongoing API traffic
Actual result :
It is not removing DB connection from pool. Next time the same connection is getting used. Due to which the API is getting failed.
Observation:
The code is written in such a way that for any exception occures during API execution, the code set to call setRollbackOnly() method for transaction (it is container managed transaction in EJB).
Due to the transaction rollback, the server is not able to remove connection from pool.
When I removed setRollbackOnly() from code, then it is able to remove connection from pool and next request will get new connection from "sec" DB service.
Logs for the reference:
Logs with setRollbackOnly() called from API:
2019-09-13 11:01:44,464 TRACE (default task-15) IJTRACER-jdbc/InventoryDS-4467852c-1046-93-2069714450032188-105a159d-73db02c0-org.jboss.as.connector.deployers.ra.processors.CachedConnectionManagerSetupProcessor$CachedConnectionManagerSetupAction@75128fe0
2019-09-13 11:01:44,464 TRACE (default task-15) IJTRACER-jdbc/InventoryDS-4467852c-1046-41-2069714450059032-105a159d-73db02c0-
2019-09-13 11:01:44,464 TRACE (default task-15) [TxConnectionListener@105a159d] unregisterConnection: 0 handles left ([])
2019-09-13 11:01:44,464 TRACE (default task-15) isManagedConnectionFree=false mc=org.jboss.jca.adapters.jdbc.local.LocalManagedConnection@33bd6c05
2019-09-13 11:01:44,465 TRACE (default task-15) popped object: org.jboss.as.connector.deployers.ra.processors.CachedConnectionManagerSetupProcessor$CachedConnectionManagerSetupAction@75128fe0
2019-09-13 11:01:44,465 TRACE (default task-15) IJTRACER-CachedConnectionManager-NONE-1046-91-2069714451688504-NONE-org.jboss.as.connector.deployers.ra.processors.CachedConnectionManagerSetupProcessor$CachedConnectionManagerSetupAction@75128fe0-java.lang.Throwable:_CALLSTACK|\at_org.jboss.jca.core.connectionmanager.ccm.CachedConnectionManagerImpl.popMetaAwareObject(CachedConnectionManagerImpl.java:283)|\at_org.jboss.as.connector.deployers.ra.processors.CachedConnectionManagerSetupProcessor$CachedConnectionManagerSetupAction.teardown(CachedConnectionManagerSetupProcessor.java:107)|\at_org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:60)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)|\at_org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:636)|\at_org.jboss.invocation.AccessCheckingInterceptor.processInvocation(AccessCheckingInterceptor.java:61)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)|\at_org.jboss.invocation.PrivilegedWithCombinerInterceptor.processInvocation(PrivilegedWithCombinerInterceptor.java:80)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)|\at_org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:198)|\at_org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:185)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)|\at_org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:73)|\at_com.elitecore.inventory.ejb3.inventorymgmt.interfaces.IInventoryDetailSessionLocal$$$view355.searchInventory(Unknown_Source)|\at_com.elitecore.inventory.ejb3.inventorymgmt.sessionfacadeintapi.InventoryOperations.searchInventory(InventoryOperations.java:529)|\at_sun.reflect.GeneratedMethodAccessor1021.invoke(Unknown_Source)|\at_sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)|\at_java.lang.reflect.Method.invoke(Method.java:497)|\at_org.jboss.as.ee.component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:52)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)|\at_org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.delegateInterception(Jsr299BindingsInterceptor.java:70)|\at_org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:80)|\at_org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:93)|\at_org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)|\at_com.elitecore.inventory.aspect.PrePostPlugin.processPrePostEvent(PrePostPlugin.java:125)|\at_sun.reflect.GeneratedMethodAccessor1020.invoke(Unknown_Source)|\at_sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)|\at_java.lang.reflect.Method.invoke(Method.java:497)|\at_org.jboss.as.ee.component.ManagedReferenceLifecycleMethodInterceptor.processInvocation(ManagedReferenceLifecycleMethodInterceptor.java:89)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)|\at_org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:73)|\at_org.jboss.as.weld.ejb.EjbRequestScopeActivationInterceptor.processInvocation(EjbRequestScopeActivationInterceptor.java:83)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ee.concurrent.ConcurrentContextInterceptor.processInvocation(ConcurrentContextInterceptor.java:45)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)|\at_org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:52)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.component.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:275)|\at_org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:327)|\at_org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:239)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.remote.EJBRemoteTransactionPropagatingInterceptor.processInvocation(EJBRemoteTransactionPropagatingInterceptor.java:79)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.component.invocationmetrics.WaitTimeInterceptor.processInvocation(WaitTimeInterceptor.java:47)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocation(SecurityContextInterceptor.java:100)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.deployment.processors.StartupAwaitInterceptor.processInvocation(StartupAwaitInterceptor.java:22)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.deployment.processors.EjbSuspendInterceptor.processInvocation(EjbSuspendInterceptor.java:44)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:67)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:54)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)|\at_org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:636)|\at_org.jboss.invocation.AccessCheckingInterceptor.processInvocation(AccessCheckingInterceptor.java:61)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)|\at_org.jboss.invocation.PrivilegedWithCombinerInterceptor.processInvocation(PrivilegedWithCombinerInterceptor.java:80)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)|\at_org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:198)|\at_org.jboss.as.ejb3.remote.LocalEjbReceiver.processInvocation(LocalEjbReceiver.java:266)|\at_org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:184)|\at_org.jboss.ejb.client.EJBObjectInterceptor.handleInvocation(EJBObjectInterceptor.java:58)|\at_org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)|\at_org.jboss.ejb.client.EJBHomeInterceptor.handleInvocation(EJBHomeInterceptor.java:83)|\at_org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)|\at_org.jboss.ejb.client.TransactionInterceptor.handleInvocation(TransactionInterceptor.java:42)|\at_org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)|\at_org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:138)|\at_org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)|\at_org.jboss.ejb.client.EJBInvocationHandler.sendRequestWithPossibleRetries(EJBInvocationHandler.java:255)|\at_org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:200)|\at_org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:183)|\at_org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:146)|\at_com.sun.proxy.$Proxy250.searchInventory(Unknown_Source)|\at_com.elitecore.rest.inventory.delegator.InventoryOperationsDelegator.searchInventory(InventoryOperationsDelegator.java:70)|\at_com.elitecore.rest.inventory.service.InventoryOperationsService.searchInventory(InventoryOperationsService.java:61)|\at_com.elitecore.rest.inventory.resource.InventoryOperationsResource.searchInventory(InventoryOperationsResource.java:69)|\at_sun.reflect.GeneratedMethodAccessor1019.invoke(Unknown_Source)|\at_sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)|\at_java.lang.reflect.Method.invoke(Method.java:497)|\at_org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:139)|\at_org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:295)|\at_org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:249)|\at_org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:236)|\at_org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:402)|\at_org.jboss.resteasy.core.SynchronousDispatcher.invokePropagateNotFound(SynchronousDispatcher.java:247)|\at_org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:225)|\at_org.jboss.resteasy.plugins.server.servlet.FilterDispatcher.doFilter(FilterDispatcher.java:62)|\at_io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)|\at_io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)|\at_com.elitecore.rest.core.filter.CORSFilter.doFilter(CORSFilter.java:51)|\at_io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)|\at_io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)|\at_io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)|\at_io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)|\at_io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)|\at_org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)|\at_io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)|\at_io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)|\at_io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)|\at_io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)|\at_io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)|\at_io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)|\at_io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)|\at_io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)|\at_io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)|\at_io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)|\at_io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)|\at_org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)|\at_io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)|\at_io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)|\at_io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:292)|\at_io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:81)|\at_io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:138)|\at_io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135)|\at_io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)|\at_io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)|\at_io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)|\at_io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)|\at_io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)|\at_io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)|\at_io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)|\at_io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272)|\at_io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)|\at_io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104)|\at_io.undertow.server.Connectors.executeRootHandler(Connectors.java:202)|\at_io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:805)|\at_java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)|\at_java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)|\at_java.lang.Thread.run(Thread.java:745)|
2019-09-13 11:01:44,466 TRACE (default task-15) BaseTransaction.setRollbackOnly
2019-09-13 11:01:44,466 TRACE (default task-15) TransactionImple.setRollbackOnly
2019-09-13 11:01:44,466 TRACE (default task-15) TransactionImple.getStatus: javax.transaction.Status.STATUS_MARKED_ROLLBACK
2019-09-13 11:01:44,466 TRACE (default task-15) BaseTransaction.rollback
2019-09-13 11:01:44,466 TRACE (default task-15) TransactionImple.rollbackAndDisassociate
2019-09-13 11:01:44,468 TRACE (default task-15) Unlock: HeldByCurrentThread: Yes, Locked: Yes, HoldCount: 1, QueueLength: 0
2019-09-13 11:01:44,468 TRACE (default task-15) Owner: Thread[default task-15,5,main]
2019-09-13 11:01:44,476 TRACE (default task-15) SynchronizationImple.afterCompletion - Class: class org.jboss.as.txn.service.internal.tsr.JCAOrderedLastSynchronizationList HashCode: 40330594 toString: org.jboss.as.txn.service.internal.tsr.JCAOrderedLastSynchronizationList@2676562
2019-09-13 11:01:44,476 TRACE (default task-15) afterCompletion(4) isTrackByTx=true for org.jboss.jca.core.connectionmanager.listener.TxConnectionListener@105a159d[state=NORMAL managed connection=org.jboss.jca.adapters.jdbc.local.LocalManagedConnection@33bd6c05 connection handles=0 lastReturned=1568352703782 lastValidated=1568350845750 lastCheckedOut=1568352703818 trackByTx=true pool=org.jboss.jca.core.connectionmanager.pool.strategy.PoolBySubject@20796ab0 mcp=SemaphoreConcurrentLinkedQueueManagedConnectionPool@4467852c[pool=jdbc/InventoryDS] xaResource=LocalXAResourceImpl@1263d5dd[connectionListener=105a159d connectionManager=630b92ae warned=false currentXid=null productName=Oracle productVersion=Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production jndiName=java:jboss/datasources/jdbc/InventoryDS] txSync=null]
2019-09-13 11:01:44,476 TRACE (default task-15) [TxConnectionListener@105a159d] isManagedConnectionFree: true
2019-09-13 11:01:44,476 TRACE (default task-15) IJTRACER-jdbc/InventoryDS-4467852c-1046-34-2069714462871419-105a159d--
Logs without setRollbackOnly() from API:
2019-09-13 11:01:44,479 TRACE (default task-17) IJTRACER-jdbc/InventoryDS-588c2c98-1051-93-2069714465486053-3c9e3b2f-23a7ccff-org.jboss.as.connector.deployers.ra.processors.CachedConnectionManagerSetupProcessor$CachedConnectionManagerSetupAction@751461b5
2019-09-13 11:01:44,479 TRACE (default task-17) IJTRACER-jdbc/InventoryDS-588c2c98-1051-41-2069714465507047-3c9e3b2f-23a7ccff-
2019-09-13 11:01:44,479 TRACE (default task-17) [TxConnectionListener@3c9e3b2f] unregisterConnection: 0 handles left ([])
2019-09-13 11:01:44,479 TRACE (default task-17) isManagedConnectionFree=false mc=org.jboss.jca.adapters.jdbc.local.LocalManagedConnection@110a223f
2019-09-13 11:01:44,479 TRACE (default task-17) TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE
2019-09-13 11:01:44,479 TRACE (default task-17) BaseTransaction.commit
2019-09-13 11:01:44,479 TRACE (default task-17) TransactionImple.commitAndDisassociate
2019-09-13 11:01:44,479 TRACE (default task-17) SynchronizationImple.beforeCompletion - Class: class org.jboss.as.txn.service.internal.tsr.JCAOrderedLastSynchronizationList HashCode: 101703171 toString: org.jboss.as.txn.service.internal.tsr.JCAOrderedLastSynchronizationList@60fde03
2019-09-13 11:01:44,479 TRACE (default task-17) TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE
2019-09-13 11:01:44,479 TRACE (default task-17) TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE
2019-09-13 11:01:44,479 TRACE (default task-17) delistResource(LocalXAResourceImpl@332d0f3[connectionListener=3c9e3b2f connectionManager=3081dd0c warned=false currentXid=< formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffff0a278003:-28cc616e:5d7b227a:c51, node_name=1, branch_uid=0:ffff0a278003:-28cc616e:5d7b227a:c53, subordinatenodename=null, eis_name=java:jboss/datasources/jdbc/InventoryDS > productName=Oracle productVersion=Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production jndiName=java:jboss/datasources/jdbc/InventoryDS], TMSUCCESS)
2019-09-13 11:01:44,479 TRACE (default task-17) TransactionImple.delistResource ( LocalXAResourceImpl@332d0f3[connectionListener=3c9e3b2f connectionManager=3081dd0c warned=false currentXid=< formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffff0a278003:-28cc616e:5d7b227a:c51, node_name=1, branch_uid=0:ffff0a278003:-28cc616e:5d7b227a:c53, subordinatenodename=null, eis_name=java:jboss/datasources/jdbc/InventoryDS > productName=Oracle productVersion=Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production jndiName=java:jboss/datasources/jdbc/InventoryDS], 67108864 )
2019-09-13 11:01:44,479 TRACE (default task-17) TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE
2019-09-13 11:01:44,479 TRACE (default task-17) end(< formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffff0a278003:-28cc616e:5d7b227a:c51, node_name=1, branch_uid=0:ffff0a278003:-28cc616e:5d7b227a:c53, subordinatenodename=null, eis_name=java:jboss/datasources/jdbc/InventoryDS >,67108864)
2019-09-13 11:01:44,479 TRACE (default task-17) IJTRACER-jdbc/InventoryDS-588c2c98-1051-30-2069714465761476-3c9e3b2f-TransactionImple < ac, BasicAction: 0:ffff0a278003:_28cc616e:5d7b227a:c51 status: ActionStatus.RUNNING >-
2019-09-13 11:01:44,480 TRACE (default task-17) Unlock: HeldByCurrentThread: Yes, Locked: Yes, HoldCount: 1, QueueLength: 0
2019-09-13 11:01:44,480 TRACE (default task-17) Owner: Thread[default task-17,5,main]
2019-09-13 11:01:44,480 TRACE (default task-17) IJTRACER-jdbc/InventoryDS-588c2c98-1051-11-2069714466239757-3c9e3b2f--
2019-09-13 11:01:44,480 TRACE (default task-17) returnConnection(3c9e3b2f, true)
2019-09-13 11:01:44,480 TRACE (default task-17) Destroying returned connection org.jboss.jca.core.connectionmanager.listener.TxConnectionListener@3c9e3b2f[state=NORMAL managed connection=org.jboss.jca.adapters.jdbc.local.LocalManagedConnection@110a223f connection handles=0 lastReturned=1568352703828 lastValidated=1568350873622 lastCheckedOut=1568352703856 trackByTx=false pool=org.jboss.jca.core.connectionmanager.pool.strategy.PoolBySubject@7b955f13 mcp=SemaphoreConcurrentLinkedQueueManagedConnectionPool@588c2c98[pool=jdbc/InventoryDS] xaResource=LocalXAResourceImpl@332d0f3[connectionListener=3c9e3b2f connectionManager=3081dd0c warned=false currentXid=null productName=Oracle productVersion=Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production jndiName=java:jboss/datasources/jdbc/InventoryDS] txSync=TransactionSynchronization@384438466{tx=TransactionImple < ac, BasicAction: 0:ffff0a278003:-28cc616e:5d7b227a:c51 status: ActionStatus.COMMITTING > wasTrackByTx=true enlisted=true cancel=false}]
2019-09-13 11:01:44,480 TRACE (default task-17) IJTRACER-jdbc/InventoryDS-588c2c98-1051-70-2069714466500063-3c9e3b2f--
Please help to solve this issue.
> DB Connection is not getting removed from pool when transaction is rooled back during database fail over in Wildfly-17
> ----------------------------------------------------------------------------------------------------------------------
>
> Key: WFLY-12583
> URL: https://issues.jboss.org/browse/WFLY-12583
> Project: WildFly
> Issue Type: Bug
> Components: JCA
> Affects Versions: 17.0.1.Final
> Environment: Operating System: CentOS 7.3
> Reporter: Anish Parekh
> Assignee: Stefano Maestri
> Priority: Critical
>
> I am using Wildfly-17 server. I am testing the fail over scenario on Oracle database during on going API traffic in Wildfly.
> The steps I performed:
> - Oracle RAC DB setup is done and scan ip (Virtual IP) is configured in domain.xml. Also, created 2 database services (named as "pri" and "sec") in database with preferred service configuration.
> - Wildfly server is up and running with my project binaries,
> where DS configuration is:
> <datasource jta="true" jndi-name="java:jboss/datasources/jdbc/InventoryDS" pool-name="jdbc/InventoryDS" enabled="true" use-java-context="true" spy="false" use-ccm="true" statistics-enabled="true">
> <connection-url>jdbc:oracle:thin:@10.151.5.16:1521/pri</connection-url>
> <connection-property name="AutoCommit">false</connection-property>
> <driver>ojdbc8</driver>
> <pool>
> <min-pool-size>1</min-pool-size>
> <initial-pool-size>1</initial-pool-size>
> <max-pool-size>10</max-pool-size>
> <prefill>false</prefill>
> <fair>false</fair>
> <use-strict-min>false</use-strict-min>
> <flush-strategy>FailingConnectionOnly</flush-strategy>
> </pool>
> <security>
> <security-domain>InventoryDS</security-domain>
> </security>
> <validation>
> <validate-on-match>false</validate-on-match>
> <background-validation>false</background-validation>
> <use-fast-fail>false</use-fast-fail>
> <exception-sorter class-name="org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter"/>
> </validation>
> <statement>
> <track-statements>false</track-statements>
> </statement>
> </datasource>
> - Started load (REST API) using JMeter. All current Db connection is pointing to "pri" service
> - During ongoing traffic, I rebooted one DB node (having "pri" service)
> Expectation:
> The existing DB connections will be removed from pool and new connection will be pointing to "sec" service. Hence, minimal impact on ongoing API traffic
> Actual result :
> It is not removing DB connection from pool. Next time the same connection is getting used. Due to which the API is getting failed.
> Observation:
> The code is written in such a way that for any exception occures during API execution, the code set to call setRollbackOnly() method for transaction (it is container managed transaction in EJB).
> Due to the transaction rollback, the server is not able to remove connection from pool.
> When I removed setRollbackOnly() from code, then it is able to remove connection from pool and next request will get new connection from "sec" DB service.
>
> Logs for the reference:
> =======================
> Logs with setRollbackOnly() called from API:
> --------------------------------------------
> 2019-09-13 11:01:44,464 TRACE (default task-15) IJTRACER-jdbc/InventoryDS-4467852c-1046-93-2069714450032188-105a159d-73db02c0-org.jboss.as.connector.deployers.ra.processors.CachedConnectionManagerSetupProcessor$CachedConnectionManagerSetupAction@75128fe0
> 2019-09-13 11:01:44,464 TRACE (default task-15) IJTRACER-jdbc/InventoryDS-4467852c-1046-41-2069714450059032-105a159d-73db02c0-
> 2019-09-13 11:01:44,464 TRACE (default task-15) [TxConnectionListener@105a159d] unregisterConnection: 0 handles left ([])
> 2019-09-13 11:01:44,464 TRACE (default task-15) isManagedConnectionFree=false mc=org.jboss.jca.adapters.jdbc.local.LocalManagedConnection@33bd6c05
> 2019-09-13 11:01:44,465 TRACE (default task-15) popped object: org.jboss.as.connector.deployers.ra.processors.CachedConnectionManagerSetupProcessor$CachedConnectionManagerSetupAction@75128fe0
> 2019-09-13 11:01:44,465 TRACE (default task-15) IJTRACER-CachedConnectionManager-NONE-1046-91-2069714451688504-NONE-org.jboss.as.connector.deployers.ra.processors.CachedConnectionManagerSetupProcessor$CachedConnectionManagerSetupAction@75128fe0-java.lang.Throwable:_CALLSTACK|\at_org.jboss.jca.core.connectionmanager.ccm.CachedConnectionManagerImpl.popMetaAwareObject(CachedConnectionManagerImpl.java:283)|\at_org.jboss.as.connector.deployers.ra.processors.CachedConnectionManagerSetupProcessor$CachedConnectionManagerSetupAction.teardown(CachedConnectionManagerSetupProcessor.java:107)|\at_org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:60)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)|\at_org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:636)|\at_org.jboss.invocation.AccessCheckingInterceptor.processInvocation(AccessCheckingInterceptor.java:61)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)|\at_org.jboss.invocation.PrivilegedWithCombinerInterceptor.processInvocation(PrivilegedWithCombinerInterceptor.java:80)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)|\at_org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:198)|\at_org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:185)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)|\at_org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:73)|\at_com.demo.inventory.ejb3.inventorymgmt.interfaces.IInventoryDetailSessionLocal$$$view355.searchInventory(Unknown_Source)|\at_com.demo.inventory.ejb3.inventorymgmt.sessionfacadeintapi.InventoryOperations.searchInventory(InventoryOperations.java:529)|\at_sun.reflect.GeneratedMethodAccessor1021.invoke(Unknown_Source)|\at_sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)|\at_java.lang.reflect.Method.invoke(Method.java:497)|\at_org.jboss.as.ee.component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:52)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)|\at_org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.delegateInterception(Jsr299BindingsInterceptor.java:70)|\at_org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:80)|\at_org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:93)|\at_org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)|\at_com.demo.inventory.aspect.PrePostPlugin.processPrePostEvent(PrePostPlugin.java:125)|\at_sun.reflect.GeneratedMethodAccessor1020.invoke(Unknown_Source)|\at_sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)|\at_java.lang.reflect.Method.invoke(Method.java:497)|\at_org.jboss.as.ee.component.ManagedReferenceLifecycleMethodInterceptor.processInvocation(ManagedReferenceLifecycleMethodInterceptor.java:89)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)|\at_org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:73)|\at_org.jboss.as.weld.ejb.EjbRequestScopeActivationInterceptor.processInvocation(EjbRequestScopeActivationInterceptor.java:83)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ee.concurrent.ConcurrentContextInterceptor.processInvocation(ConcurrentContextInterceptor.java:45)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)|\at_org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:52)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.component.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:275)|\at_org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:327)|\at_org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:239)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.remote.EJBRemoteTransactionPropagatingInterceptor.processInvocation(EJBRemoteTransactionPropagatingInterceptor.java:79)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.component.invocationmetrics.WaitTimeInterceptor.processInvocation(WaitTimeInterceptor.java:47)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocation(SecurityContextInterceptor.java:100)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.deployment.processors.StartupAwaitInterceptor.processInvocation(StartupAwaitInterceptor.java:22)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.deployment.processors.EjbSuspendInterceptor.processInvocation(EjbSuspendInterceptor.java:44)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:67)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:54)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)|\at_org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:636)|\at_org.jboss.invocation.AccessCheckingInterceptor.processInvocation(AccessCheckingInterceptor.java:61)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)|\at_org.jboss.invocation.PrivilegedWithCombinerInterceptor.processInvocation(PrivilegedWithCombinerInterceptor.java:80)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)|\at_org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:198)|\at_org.jboss.as.ejb3.remote.LocalEjbReceiver.processInvocation(LocalEjbReceiver.java:266)|\at_org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:184)|\at_org.jboss.ejb.client.EJBObjectInterceptor.handleInvocation(EJBObjectInterceptor.java:58)|\at_org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)|\at_org.jboss.ejb.client.EJBHomeInterceptor.handleInvocation(EJBHomeInterceptor.java:83)|\at_org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)|\at_org.jboss.ejb.client.TransactionInterceptor.handleInvocation(TransactionInterceptor.java:42)|\at_org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)|\at_org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:138)|\at_org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)|\at_org.jboss.ejb.client.EJBInvocationHandler.sendRequestWithPossibleRetries(EJBInvocationHandler.java:255)|\at_org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:200)|\at_org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:183)|\at_org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:146)|\at_com.sun.proxy.$Proxy250.searchInventory(Unknown_Source)|\at_com.demo.rest.inventory.delegator.InventoryOperationsDelegator.searchInventory(InventoryOperationsDelegator.java:70)|\at_com.demo.rest.inventory.service.InventoryOperationsService.searchInventory(InventoryOperationsService.java:61)|\at_com.demo.rest.inventory.resource.InventoryOperationsResource.searchInventory(InventoryOperationsResource.java:69)|\at_sun.reflect.GeneratedMethodAccessor1019.invoke(Unknown_Source)|\at_sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)|\at_java.lang.reflect.Method.invoke(Method.java:497)|\at_org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:139)|\at_org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:295)|\at_org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:249)|\at_org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:236)|\at_org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:402)|\at_org.jboss.resteasy.core.SynchronousDispatcher.invokePropagateNotFound(SynchronousDispatcher.java:247)|\at_org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:225)|\at_org.jboss.resteasy.plugins.server.servlet.FilterDispatcher.doFilter(FilterDispatcher.java:62)|\at_io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)|\at_io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)|\at_com.demo.rest.core.filter.CORSFilter.doFilter(CORSFilter.java:51)|\at_io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)|\at_io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)|\at_io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)|\at_io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)|\at_io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)|\at_org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)|\at_io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)|\at_io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)|\at_io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)|\at_io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)|\at_io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)|\at_io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)|\at_io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)|\at_io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)|\at_io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)|\at_io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)|\at_io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)|\at_org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)|\at_io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)|\at_io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)|\at_io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:292)|\at_io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:81)|\at_io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:138)|\at_io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135)|\at_io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)|\at_io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)|\at_io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)|\at_io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)|\at_io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)|\at_io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)|\at_io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)|\at_io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272)|\at_io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)|\at_io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104)|\at_io.undertow.server.Connectors.executeRootHandler(Connectors.java:202)|\at_io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:805)|\at_java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)|\at_java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)|\at_java.lang.Thread.run(Thread.java:745)|
> 2019-09-13 11:01:44,466 TRACE (default task-15) BaseTransaction.setRollbackOnly
> 2019-09-13 11:01:44,466 TRACE (default task-15) TransactionImple.setRollbackOnly
> 2019-09-13 11:01:44,466 TRACE (default task-15) TransactionImple.getStatus: javax.transaction.Status.STATUS_MARKED_ROLLBACK
> 2019-09-13 11:01:44,466 TRACE (default task-15) BaseTransaction.rollback
> 2019-09-13 11:01:44,466 TRACE (default task-15) TransactionImple.rollbackAndDisassociate
> 2019-09-13 11:01:44,468 TRACE (default task-15) Unlock: HeldByCurrentThread: Yes, Locked: Yes, HoldCount: 1, QueueLength: 0
> 2019-09-13 11:01:44,468 TRACE (default task-15) Owner: Thread[default task-15,5,main]
> 2019-09-13 11:01:44,476 TRACE (default task-15) SynchronizationImple.afterCompletion - Class: class org.jboss.as.txn.service.internal.tsr.JCAOrderedLastSynchronizationList HashCode: 40330594 toString: org.jboss.as.txn.service.internal.tsr.JCAOrderedLastSynchronizationList@2676562
> 2019-09-13 11:01:44,476 TRACE (default task-15) afterCompletion(4) isTrackByTx=true for org.jboss.jca.core.connectionmanager.listener.TxConnectionListener@105a159d[state=NORMAL managed connection=org.jboss.jca.adapters.jdbc.local.LocalManagedConnection@33bd6c05 connection handles=0 lastReturned=1568352703782 lastValidated=1568350845750 lastCheckedOut=1568352703818 trackByTx=true pool=org.jboss.jca.core.connectionmanager.pool.strategy.PoolBySubject@20796ab0 mcp=SemaphoreConcurrentLinkedQueueManagedConnectionPool@4467852c[pool=jdbc/InventoryDS] xaResource=LocalXAResourceImpl@1263d5dd[connectionListener=105a159d connectionManager=630b92ae warned=false currentXid=null productName=Oracle productVersion=Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production jndiName=java:jboss/datasources/jdbc/InventoryDS] txSync=null]
> 2019-09-13 11:01:44,476 TRACE (default task-15) [TxConnectionListener@105a159d] isManagedConnectionFree: true
> 2019-09-13 11:01:44,476 TRACE (default task-15) IJTRACER-jdbc/InventoryDS-4467852c-1046-34-2069714462871419-105a159d--
> Logs without setRollbackOnly() from API:
> -----------------------------------------
> 2019-09-13 11:01:44,479 TRACE (default task-17) IJTRACER-jdbc/InventoryDS-588c2c98-1051-93-2069714465486053-3c9e3b2f-23a7ccff-org.jboss.as.connector.deployers.ra.processors.CachedConnectionManagerSetupProcessor$CachedConnectionManagerSetupAction@751461b5
> 2019-09-13 11:01:44,479 TRACE (default task-17) IJTRACER-jdbc/InventoryDS-588c2c98-1051-41-2069714465507047-3c9e3b2f-23a7ccff-
> 2019-09-13 11:01:44,479 TRACE (default task-17) [TxConnectionListener@3c9e3b2f] unregisterConnection: 0 handles left ([])
> 2019-09-13 11:01:44,479 TRACE (default task-17) isManagedConnectionFree=false mc=org.jboss.jca.adapters.jdbc.local.LocalManagedConnection@110a223f
> 2019-09-13 11:01:44,479 TRACE (default task-17) TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE
> 2019-09-13 11:01:44,479 TRACE (default task-17) BaseTransaction.commit
> 2019-09-13 11:01:44,479 TRACE (default task-17) TransactionImple.commitAndDisassociate
> 2019-09-13 11:01:44,479 TRACE (default task-17) SynchronizationImple.beforeCompletion - Class: class org.jboss.as.txn.service.internal.tsr.JCAOrderedLastSynchronizationList HashCode: 101703171 toString: org.jboss.as.txn.service.internal.tsr.JCAOrderedLastSynchronizationList@60fde03
> 2019-09-13 11:01:44,479 TRACE (default task-17) TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE
> 2019-09-13 11:01:44,479 TRACE (default task-17) TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE
> 2019-09-13 11:01:44,479 TRACE (default task-17) delistResource(LocalXAResourceImpl@332d0f3[connectionListener=3c9e3b2f connectionManager=3081dd0c warned=false currentXid=< formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffff0a278003:-28cc616e:5d7b227a:c51, node_name=1, branch_uid=0:ffff0a278003:-28cc616e:5d7b227a:c53, subordinatenodename=null, eis_name=java:jboss/datasources/jdbc/InventoryDS > productName=Oracle productVersion=Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production jndiName=java:jboss/datasources/jdbc/InventoryDS], TMSUCCESS)
> 2019-09-13 11:01:44,479 TRACE (default task-17) TransactionImple.delistResource ( LocalXAResourceImpl@332d0f3[connectionListener=3c9e3b2f connectionManager=3081dd0c warned=false currentXid=< formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffff0a278003:-28cc616e:5d7b227a:c51, node_name=1, branch_uid=0:ffff0a278003:-28cc616e:5d7b227a:c53, subordinatenodename=null, eis_name=java:jboss/datasources/jdbc/InventoryDS > productName=Oracle productVersion=Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production jndiName=java:jboss/datasources/jdbc/InventoryDS], 67108864 )
> 2019-09-13 11:01:44,479 TRACE (default task-17) TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE
> 2019-09-13 11:01:44,479 TRACE (default task-17) end(< formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffff0a278003:-28cc616e:5d7b227a:c51, node_name=1, branch_uid=0:ffff0a278003:-28cc616e:5d7b227a:c53, subordinatenodename=null, eis_name=java:jboss/datasources/jdbc/InventoryDS >,67108864)
> 2019-09-13 11:01:44,479 TRACE (default task-17) IJTRACER-jdbc/InventoryDS-588c2c98-1051-30-2069714465761476-3c9e3b2f-TransactionImple < ac, BasicAction: 0:ffff0a278003:_28cc616e:5d7b227a:c51 status: ActionStatus.RUNNING >-
> 2019-09-13 11:01:44,480 TRACE (default task-17) Unlock: HeldByCurrentThread: Yes, Locked: Yes, HoldCount: 1, QueueLength: 0
> 2019-09-13 11:01:44,480 TRACE (default task-17) Owner: Thread[default task-17,5,main]
> 2019-09-13 11:01:44,480 TRACE (default task-17) IJTRACER-jdbc/InventoryDS-588c2c98-1051-11-2069714466239757-3c9e3b2f--
> 2019-09-13 11:01:44,480 TRACE (default task-17) returnConnection(3c9e3b2f, true)
> 2019-09-13 11:01:44,480 TRACE (default task-17) Destroying returned connection org.jboss.jca.core.connectionmanager.listener.TxConnectionListener@3c9e3b2f[state=NORMAL managed connection=org.jboss.jca.adapters.jdbc.local.LocalManagedConnection@110a223f connection handles=0 lastReturned=1568352703828 lastValidated=1568350873622 lastCheckedOut=1568352703856 trackByTx=false pool=org.jboss.jca.core.connectionmanager.pool.strategy.PoolBySubject@7b955f13 mcp=SemaphoreConcurrentLinkedQueueManagedConnectionPool@588c2c98[pool=jdbc/InventoryDS] xaResource=LocalXAResourceImpl@332d0f3[connectionListener=3c9e3b2f connectionManager=3081dd0c warned=false currentXid=null productName=Oracle productVersion=Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production jndiName=java:jboss/datasources/jdbc/InventoryDS] txSync=TransactionSynchronization@384438466{tx=TransactionImple < ac, BasicAction: 0:ffff0a278003:-28cc616e:5d7b227a:c51 status: ActionStatus.COMMITTING > wasTrackByTx=true enlisted=true cancel=false}]
> 2019-09-13 11:01:44,480 TRACE (default task-17) IJTRACER-jdbc/InventoryDS-588c2c98-1051-70-2069714466500063-3c9e3b2f--
> Please help to solve this issue.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 10 months
[JBoss JIRA] (WFLY-12583) DB Connection is not getting removed from pool when transaction is rooled back during database fail over in Wildfly-17
by Anish Parekh (Jira)
Anish Parekh created WFLY-12583:
-----------------------------------
Summary: DB Connection is not getting removed from pool when transaction is rooled back during database fail over in Wildfly-17
Key: WFLY-12583
URL: https://issues.jboss.org/browse/WFLY-12583
Project: WildFly
Issue Type: Bug
Components: JCA
Affects Versions: 17.0.1.Final
Environment: Operating System: CentOS 7.3
Reporter: Anish Parekh
Assignee: Stefano Maestri
I am using Wildfly-17 server. I am testing the fail over scenario on Oracle database during on going API traffic in Wildfly.
The steps I performed:
- Oracle RAC DB setup is done and scan ip (Virtual IP) is configured in domain.xml. Also, created 2 database services (named as "pri" and "sec") in database with preferred service configuration.
- Wildfly server is up and running with my project binaries,
where DS configuration is:
<datasource jta="true" jndi-name="java:jboss/datasources/jdbc/InventoryDS" pool-name="jdbc/InventoryDS" enabled="true" use-java-context="true" spy="false" use-ccm="true" statistics-enabled="true">
<connection-url>jdbc:oracle:thin:@10.151.5.16:1521/pri</connection-url>
<connection-property name="AutoCommit">false</connection-property>
<driver>ojdbc8</driver>
<pool>
<min-pool-size>1</min-pool-size>
<initial-pool-size>1</initial-pool-size>
<max-pool-size>10</max-pool-size>
<prefill>false</prefill>
<fair>false</fair>
<use-strict-min>false</use-strict-min>
<flush-strategy>FailingConnectionOnly</flush-strategy>
</pool>
<security>
<security-domain>InventoryDS</security-domain>
</security>
<validation>
<validate-on-match>false</validate-on-match>
<background-validation>false</background-validation>
<use-fast-fail>false</use-fast-fail>
<exception-sorter class-name="org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter"/>
</validation>
<statement>
<track-statements>false</track-statements>
</statement>
</datasource>
- Started load (REST API) using JMeter. All current Db connection is pointing to "pri" service
- During ongoing traffic, I rebooted one DB node (having "pri" service)
Expectation:
The existing DB connections will be removed from pool and new connection will be pointing to "sec" service. Hence, minimal impact on ongoing API traffic
Actual result :
It is not removing DB connection from pool. Next time the same connection is getting used. Due to which the API is getting failed.
Observation:
The code is written in such a way that for any exception occures during API execution, the code set to call setRollbackOnly() method for transaction (it is container managed transaction in EJB).
Due to the transaction rollback, the server is not able to remove connection from pool.
When I removed setRollbackOnly() from code, then it is able to remove connection from pool and next request will get new connection from "sec" DB service.
Logs for the reference:
Logs with setRollbackOnly() called from API:
2019-09-13 11:01:44,464 TRACE (default task-15) IJTRACER-jdbc/InventoryDS-4467852c-1046-93-2069714450032188-105a159d-73db02c0-org.jboss.as.connector.deployers.ra.processors.CachedConnectionManagerSetupProcessor$CachedConnectionManagerSetupAction@75128fe0
2019-09-13 11:01:44,464 TRACE (default task-15) IJTRACER-jdbc/InventoryDS-4467852c-1046-41-2069714450059032-105a159d-73db02c0-
2019-09-13 11:01:44,464 TRACE (default task-15) [TxConnectionListener@105a159d] unregisterConnection: 0 handles left ([])
2019-09-13 11:01:44,464 TRACE (default task-15) isManagedConnectionFree=false mc=org.jboss.jca.adapters.jdbc.local.LocalManagedConnection@33bd6c05
2019-09-13 11:01:44,465 TRACE (default task-15) popped object: org.jboss.as.connector.deployers.ra.processors.CachedConnectionManagerSetupProcessor$CachedConnectionManagerSetupAction@75128fe0
2019-09-13 11:01:44,465 TRACE (default task-15) IJTRACER-CachedConnectionManager-NONE-1046-91-2069714451688504-NONE-org.jboss.as.connector.deployers.ra.processors.CachedConnectionManagerSetupProcessor$CachedConnectionManagerSetupAction@75128fe0-java.lang.Throwable:_CALLSTACK|\at_org.jboss.jca.core.connectionmanager.ccm.CachedConnectionManagerImpl.popMetaAwareObject(CachedConnectionManagerImpl.java:283)|\at_org.jboss.as.connector.deployers.ra.processors.CachedConnectionManagerSetupProcessor$CachedConnectionManagerSetupAction.teardown(CachedConnectionManagerSetupProcessor.java:107)|\at_org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:60)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)|\at_org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:636)|\at_org.jboss.invocation.AccessCheckingInterceptor.processInvocation(AccessCheckingInterceptor.java:61)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)|\at_org.jboss.invocation.PrivilegedWithCombinerInterceptor.processInvocation(PrivilegedWithCombinerInterceptor.java:80)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)|\at_org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:198)|\at_org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:185)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)|\at_org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:73)|\at_com.elitecore.inventory.ejb3.inventorymgmt.interfaces.IInventoryDetailSessionLocal$$$view355.searchInventory(Unknown_Source)|\at_com.elitecore.inventory.ejb3.inventorymgmt.sessionfacadeintapi.InventoryOperations.searchInventory(InventoryOperations.java:529)|\at_sun.reflect.GeneratedMethodAccessor1021.invoke(Unknown_Source)|\at_sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)|\at_java.lang.reflect.Method.invoke(Method.java:497)|\at_org.jboss.as.ee.component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:52)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)|\at_org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.delegateInterception(Jsr299BindingsInterceptor.java:70)|\at_org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:80)|\at_org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:93)|\at_org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)|\at_com.elitecore.inventory.aspect.PrePostPlugin.processPrePostEvent(PrePostPlugin.java:125)|\at_sun.reflect.GeneratedMethodAccessor1020.invoke(Unknown_Source)|\at_sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)|\at_java.lang.reflect.Method.invoke(Method.java:497)|\at_org.jboss.as.ee.component.ManagedReferenceLifecycleMethodInterceptor.processInvocation(ManagedReferenceLifecycleMethodInterceptor.java:89)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)|\at_org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:73)|\at_org.jboss.as.weld.ejb.EjbRequestScopeActivationInterceptor.processInvocation(EjbRequestScopeActivationInterceptor.java:83)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ee.concurrent.ConcurrentContextInterceptor.processInvocation(ConcurrentContextInterceptor.java:45)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)|\at_org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:52)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.component.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:275)|\at_org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:327)|\at_org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:239)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.remote.EJBRemoteTransactionPropagatingInterceptor.processInvocation(EJBRemoteTransactionPropagatingInterceptor.java:79)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.component.invocationmetrics.WaitTimeInterceptor.processInvocation(WaitTimeInterceptor.java:47)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocation(SecurityContextInterceptor.java:100)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.deployment.processors.StartupAwaitInterceptor.processInvocation(StartupAwaitInterceptor.java:22)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.deployment.processors.EjbSuspendInterceptor.processInvocation(EjbSuspendInterceptor.java:44)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:67)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:54)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)|\at_org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:636)|\at_org.jboss.invocation.AccessCheckingInterceptor.processInvocation(AccessCheckingInterceptor.java:61)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)|\at_org.jboss.invocation.PrivilegedWithCombinerInterceptor.processInvocation(PrivilegedWithCombinerInterceptor.java:80)|\at_org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)|\at_org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)|\at_org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:198)|\at_org.jboss.as.ejb3.remote.LocalEjbReceiver.processInvocation(LocalEjbReceiver.java:266)|\at_org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:184)|\at_org.jboss.ejb.client.EJBObjectInterceptor.handleInvocation(EJBObjectInterceptor.java:58)|\at_org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)|\at_org.jboss.ejb.client.EJBHomeInterceptor.handleInvocation(EJBHomeInterceptor.java:83)|\at_org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)|\at_org.jboss.ejb.client.TransactionInterceptor.handleInvocation(TransactionInterceptor.java:42)|\at_org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)|\at_org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:138)|\at_org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)|\at_org.jboss.ejb.client.EJBInvocationHandler.sendRequestWithPossibleRetries(EJBInvocationHandler.java:255)|\at_org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:200)|\at_org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:183)|\at_org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:146)|\at_com.sun.proxy.$Proxy250.searchInventory(Unknown_Source)|\at_com.elitecore.rest.inventory.delegator.InventoryOperationsDelegator.searchInventory(InventoryOperationsDelegator.java:70)|\at_com.elitecore.rest.inventory.service.InventoryOperationsService.searchInventory(InventoryOperationsService.java:61)|\at_com.elitecore.rest.inventory.resource.InventoryOperationsResource.searchInventory(InventoryOperationsResource.java:69)|\at_sun.reflect.GeneratedMethodAccessor1019.invoke(Unknown_Source)|\at_sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)|\at_java.lang.reflect.Method.invoke(Method.java:497)|\at_org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:139)|\at_org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:295)|\at_org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:249)|\at_org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:236)|\at_org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:402)|\at_org.jboss.resteasy.core.SynchronousDispatcher.invokePropagateNotFound(SynchronousDispatcher.java:247)|\at_org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:225)|\at_org.jboss.resteasy.plugins.server.servlet.FilterDispatcher.doFilter(FilterDispatcher.java:62)|\at_io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)|\at_io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)|\at_com.elitecore.rest.core.filter.CORSFilter.doFilter(CORSFilter.java:51)|\at_io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)|\at_io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)|\at_io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)|\at_io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)|\at_io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)|\at_org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)|\at_io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)|\at_io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)|\at_io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)|\at_io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)|\at_io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)|\at_io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)|\at_io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)|\at_io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)|\at_io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)|\at_io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)|\at_io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)|\at_org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)|\at_io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)|\at_io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)|\at_io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:292)|\at_io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:81)|\at_io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:138)|\at_io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135)|\at_io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)|\at_io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)|\at_io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)|\at_io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)|\at_io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)|\at_io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)|\at_io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)|\at_io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272)|\at_io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)|\at_io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104)|\at_io.undertow.server.Connectors.executeRootHandler(Connectors.java:202)|\at_io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:805)|\at_java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)|\at_java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)|\at_java.lang.Thread.run(Thread.java:745)|
2019-09-13 11:01:44,466 TRACE (default task-15) BaseTransaction.setRollbackOnly
2019-09-13 11:01:44,466 TRACE (default task-15) TransactionImple.setRollbackOnly
2019-09-13 11:01:44,466 TRACE (default task-15) TransactionImple.getStatus: javax.transaction.Status.STATUS_MARKED_ROLLBACK
2019-09-13 11:01:44,466 TRACE (default task-15) BaseTransaction.rollback
2019-09-13 11:01:44,466 TRACE (default task-15) TransactionImple.rollbackAndDisassociate
2019-09-13 11:01:44,468 TRACE (default task-15) Unlock: HeldByCurrentThread: Yes, Locked: Yes, HoldCount: 1, QueueLength: 0
2019-09-13 11:01:44,468 TRACE (default task-15) Owner: Thread[default task-15,5,main]
2019-09-13 11:01:44,476 TRACE (default task-15) SynchronizationImple.afterCompletion - Class: class org.jboss.as.txn.service.internal.tsr.JCAOrderedLastSynchronizationList HashCode: 40330594 toString: org.jboss.as.txn.service.internal.tsr.JCAOrderedLastSynchronizationList@2676562
2019-09-13 11:01:44,476 TRACE (default task-15) afterCompletion(4) isTrackByTx=true for org.jboss.jca.core.connectionmanager.listener.TxConnectionListener@105a159d[state=NORMAL managed connection=org.jboss.jca.adapters.jdbc.local.LocalManagedConnection@33bd6c05 connection handles=0 lastReturned=1568352703782 lastValidated=1568350845750 lastCheckedOut=1568352703818 trackByTx=true pool=org.jboss.jca.core.connectionmanager.pool.strategy.PoolBySubject@20796ab0 mcp=SemaphoreConcurrentLinkedQueueManagedConnectionPool@4467852c[pool=jdbc/InventoryDS] xaResource=LocalXAResourceImpl@1263d5dd[connectionListener=105a159d connectionManager=630b92ae warned=false currentXid=null productName=Oracle productVersion=Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production jndiName=java:jboss/datasources/jdbc/InventoryDS] txSync=null]
2019-09-13 11:01:44,476 TRACE (default task-15) [TxConnectionListener@105a159d] isManagedConnectionFree: true
2019-09-13 11:01:44,476 TRACE (default task-15) IJTRACER-jdbc/InventoryDS-4467852c-1046-34-2069714462871419-105a159d--
Logs without setRollbackOnly() from API:
2019-09-13 11:01:44,479 TRACE (default task-17) IJTRACER-jdbc/InventoryDS-588c2c98-1051-93-2069714465486053-3c9e3b2f-23a7ccff-org.jboss.as.connector.deployers.ra.processors.CachedConnectionManagerSetupProcessor$CachedConnectionManagerSetupAction@751461b5
2019-09-13 11:01:44,479 TRACE (default task-17) IJTRACER-jdbc/InventoryDS-588c2c98-1051-41-2069714465507047-3c9e3b2f-23a7ccff-
2019-09-13 11:01:44,479 TRACE (default task-17) [TxConnectionListener@3c9e3b2f] unregisterConnection: 0 handles left ([])
2019-09-13 11:01:44,479 TRACE (default task-17) isManagedConnectionFree=false mc=org.jboss.jca.adapters.jdbc.local.LocalManagedConnection@110a223f
2019-09-13 11:01:44,479 TRACE (default task-17) TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE
2019-09-13 11:01:44,479 TRACE (default task-17) BaseTransaction.commit
2019-09-13 11:01:44,479 TRACE (default task-17) TransactionImple.commitAndDisassociate
2019-09-13 11:01:44,479 TRACE (default task-17) SynchronizationImple.beforeCompletion - Class: class org.jboss.as.txn.service.internal.tsr.JCAOrderedLastSynchronizationList HashCode: 101703171 toString: org.jboss.as.txn.service.internal.tsr.JCAOrderedLastSynchronizationList@60fde03
2019-09-13 11:01:44,479 TRACE (default task-17) TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE
2019-09-13 11:01:44,479 TRACE (default task-17) TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE
2019-09-13 11:01:44,479 TRACE (default task-17) delistResource(LocalXAResourceImpl@332d0f3[connectionListener=3c9e3b2f connectionManager=3081dd0c warned=false currentXid=< formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffff0a278003:-28cc616e:5d7b227a:c51, node_name=1, branch_uid=0:ffff0a278003:-28cc616e:5d7b227a:c53, subordinatenodename=null, eis_name=java:jboss/datasources/jdbc/InventoryDS > productName=Oracle productVersion=Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production jndiName=java:jboss/datasources/jdbc/InventoryDS], TMSUCCESS)
2019-09-13 11:01:44,479 TRACE (default task-17) TransactionImple.delistResource ( LocalXAResourceImpl@332d0f3[connectionListener=3c9e3b2f connectionManager=3081dd0c warned=false currentXid=< formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffff0a278003:-28cc616e:5d7b227a:c51, node_name=1, branch_uid=0:ffff0a278003:-28cc616e:5d7b227a:c53, subordinatenodename=null, eis_name=java:jboss/datasources/jdbc/InventoryDS > productName=Oracle productVersion=Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production jndiName=java:jboss/datasources/jdbc/InventoryDS], 67108864 )
2019-09-13 11:01:44,479 TRACE (default task-17) TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE
2019-09-13 11:01:44,479 TRACE (default task-17) end(< formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffff0a278003:-28cc616e:5d7b227a:c51, node_name=1, branch_uid=0:ffff0a278003:-28cc616e:5d7b227a:c53, subordinatenodename=null, eis_name=java:jboss/datasources/jdbc/InventoryDS >,67108864)
2019-09-13 11:01:44,479 TRACE (default task-17) IJTRACER-jdbc/InventoryDS-588c2c98-1051-30-2069714465761476-3c9e3b2f-TransactionImple < ac, BasicAction: 0:ffff0a278003:_28cc616e:5d7b227a:c51 status: ActionStatus.RUNNING >-
2019-09-13 11:01:44,480 TRACE (default task-17) Unlock: HeldByCurrentThread: Yes, Locked: Yes, HoldCount: 1, QueueLength: 0
2019-09-13 11:01:44,480 TRACE (default task-17) Owner: Thread[default task-17,5,main]
2019-09-13 11:01:44,480 TRACE (default task-17) IJTRACER-jdbc/InventoryDS-588c2c98-1051-11-2069714466239757-3c9e3b2f--
2019-09-13 11:01:44,480 TRACE (default task-17) returnConnection(3c9e3b2f, true)
2019-09-13 11:01:44,480 TRACE (default task-17) Destroying returned connection org.jboss.jca.core.connectionmanager.listener.TxConnectionListener@3c9e3b2f[state=NORMAL managed connection=org.jboss.jca.adapters.jdbc.local.LocalManagedConnection@110a223f connection handles=0 lastReturned=1568352703828 lastValidated=1568350873622 lastCheckedOut=1568352703856 trackByTx=false pool=org.jboss.jca.core.connectionmanager.pool.strategy.PoolBySubject@7b955f13 mcp=SemaphoreConcurrentLinkedQueueManagedConnectionPool@588c2c98[pool=jdbc/InventoryDS] xaResource=LocalXAResourceImpl@332d0f3[connectionListener=3c9e3b2f connectionManager=3081dd0c warned=false currentXid=null productName=Oracle productVersion=Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production jndiName=java:jboss/datasources/jdbc/InventoryDS] txSync=TransactionSynchronization@384438466{tx=TransactionImple < ac, BasicAction: 0:ffff0a278003:-28cc616e:5d7b227a:c51 status: ActionStatus.COMMITTING > wasTrackByTx=true enlisted=true cancel=false}]
2019-09-13 11:01:44,480 TRACE (default task-17) IJTRACER-jdbc/InventoryDS-588c2c98-1051-70-2069714466500063-3c9e3b2f--
Please help to solve this issue.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 10 months