Michael Kublin has uploaded a new change for review.

Change subject: engine: Making all internal actions to have same correlationId
......................................................................

engine: Making all internal actions to have same correlationId

The following patch will force all internal actions to have same correlationId.
When an action triggered from gui or rest client, it should pass a 
correlationId otherwise it will
be automaticly generated.
But, if action has some another internal actions they will have different 
correlationId.
This patch will fix a problem.
Discovered during work on provided bug

Change-Id: I47ad8e04452b7f0e3f5f8477f84bc6b22e35ec98
Bug-Url: https://bugzilla.redhat.com/844335
Signed-off-by: Michael Kublin <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/job/ExecutionHandler.java
1 file changed, 12 insertions(+), 10 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/11/13011/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/job/ExecutionHandler.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/job/ExecutionHandler.java
index 4cacbb2..c088b26 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/job/ExecutionHandler.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/job/ExecutionHandler.java
@@ -27,6 +27,7 @@
 import org.ovirt.engine.core.compat.NGuid;
 import org.ovirt.engine.core.dal.dbbroker.DbFacade;
 import org.ovirt.engine.core.dal.job.ExecutionMessageDirector;
+import org.ovirt.engine.core.utils.ThreadLocalParamsContainer;
 import org.ovirt.engine.core.utils.lock.EngineLock;
 import org.ovirt.engine.core.utils.log.Log;
 import org.ovirt.engine.core.utils.log.LogFactory;
@@ -627,18 +628,19 @@
      */
     public static VdcReturnValueBase 
evaluateCorrelationId(VdcActionParametersBase parameters) {
         VdcReturnValueBase returnValue = null;
-        if (parameters != null) {
-            String correlationId = parameters.getCorrelationId();
+        String correlationId = parameters.getCorrelationId();
+        if (StringUtils.isEmpty(correlationId)) {
+            correlationId = ThreadLocalParamsContainer.getCorrelationId();
             if (StringUtils.isEmpty(correlationId)) {
                 
parameters.setCorrelationId(LoggedUtils.getObjectId(parameters));
-            } else {
-                List<String> messages = 
ValidationUtils.validateInputs(validationGroups, parameters);
-                if (!messages.isEmpty()) {
-                    VdcReturnValueBase returnErrorValue = new 
VdcReturnValueBase();
-                    returnErrorValue.setCanDoAction(false);
-                    returnErrorValue.getCanDoActionMessages().addAll(messages);
-                    return returnErrorValue;
-                }
+            }
+        } else {
+            List<String> messages = 
ValidationUtils.validateInputs(validationGroups, parameters);
+            if (!messages.isEmpty()) {
+                VdcReturnValueBase returnErrorValue = new VdcReturnValueBase();
+                returnErrorValue.setCanDoAction(false);
+                returnErrorValue.getCanDoActionMessages().addAll(messages);
+                return returnErrorValue;
             }
         }
         return returnValue;


--
To view, visit http://gerrit.ovirt.org/13011
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I47ad8e04452b7f0e3f5f8477f84bc6b22e35ec98
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Michael Kublin <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to