You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by dp...@apache.org on 2018/11/13 13:39:33 UTC

[ignite-teamcity-bot] branch master updated: IGNITE-9939 more debug info for find out problem cause - Fixes #68.

This is an automated email from the ASF dual-hosted git repository.

dpavlov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite-teamcity-bot.git


The following commit(s) were added to refs/heads/master by this push:
     new fd6c96c  IGNITE-9939 more debug info for find out problem cause - Fixes #68.
fd6c96c is described below

commit fd6c96c23bd85caa901e13cadd20dbde57b419fe
Author: ololo3000 <pm...@gmail.com>
AuthorDate: Tue Nov 13 16:39:20 2018 +0300

    IGNITE-9939 more debug info for find out problem cause - Fixes #68.
    
    Signed-off-by: Dmitriy Pavlov <dp...@apache.org>
---
 .../apache/ignite/ci/observer/ObserverTask.java    | 44 ++++++++++++++++++++--
 1 file changed, 41 insertions(+), 3 deletions(-)

diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/ObserverTask.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/ObserverTask.java
index 7716ba1..5ad1350 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/ObserverTask.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/ObserverTask.java
@@ -17,7 +17,9 @@
 
 package org.apache.ignite.ci.observer;
 
+import com.google.common.base.Preconditions;
 import java.util.ArrayList;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import java.util.Collection;
 import java.util.HashSet;
 import java.util.List;
@@ -37,6 +39,7 @@ import org.apache.ignite.ci.teamcity.ignited.IStringCompactor;
 import org.apache.ignite.ci.user.ICredentialsProv;
 import org.apache.ignite.ci.web.model.Visa;
 import org.apache.ignite.ci.web.model.hist.VisasHistoryStorage;
+import org.apache.ignite.internal.util.typedef.X;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -112,9 +115,24 @@ public class ObserverTask extends TimerTask {
         int notFinishedBuilds = 0;
         Set<String> ticketsNotified = new HashSet<>();
 
+        ObjectMapper objMapper = new ObjectMapper();
+
+        List<String> rmvdVisas = new ArrayList<>();
+
+        List<String> queuedVisas = new ArrayList<>();
+
         for (Cache.Entry<CompactBuildsInfo, Object> entry : compactInfos()) {
             CompactBuildsInfo compactInfo = entry.getKey();
 
+            try {
+                queuedVisas.add(objMapper.writeValueAsString(compactInfo));
+            }
+            catch (Exception e) {
+                logger.error("JSON string parse failed: " + e.getMessage(), e);
+
+                return "Exception while JSON parsing " + e.getClass().getSimpleName() + ": " + e.getMessage();
+            }
+
             BuildsInfo info = compactInfo.toBuildInfo(strCompactor);
 
             checkedBuilds += info.buildsCount();
@@ -122,7 +140,9 @@ public class ObserverTask extends TimerTask {
             IAnalyticsEnabledTeamcity teamcity = tcHelper.server(info.srvId, tcHelper.getServerAuthorizerCreds());
 
             if (info.isFinishedWithFailures(teamcity)) {
-                compactInfos().remove(compactInfo);
+                boolean rmv = compactInfos().remove(compactInfo);
+                
+                Preconditions.checkState(rmv, "Key not found: " + compactInfo);
 
                 logger.error("JIRA will not be commented." +
                     " [ticket: " + info.ticket + ", branch:" + info.branchForTc + "] : " +
@@ -147,10 +167,28 @@ public class ObserverTask extends TimerTask {
             if (visa.isSuccess()) {
                 ticketsNotified.add(info.ticket);
 
-                compactInfos().remove(compactInfo);
+                try {
+                    rmvdVisas.add(objMapper.writeValueAsString(compactInfo));
+                }
+                catch (Exception e) {
+                    logger.error("JSON string parse failed: " + e.getMessage(), e);
+
+                    return "Exception while JSON parsing: " + e.getClass().getSimpleName() + ": " + e.getMessage();
+                }
+
+                try {
+                    compactInfos().remove(compactInfo);
+                }
+                catch (Exception e) {
+                    logger.error("cache remove: " + e.getMessage(), e);
+
+                    return X.getFullStackTrace(e);
+                }
             }
         }
 
-        return "Checked " + checkedBuilds + " not finished " + notFinishedBuilds + " notified: " + ticketsNotified;
+        return "Checked " + checkedBuilds + " not finished " + notFinishedBuilds + " notified: " + ticketsNotified +
+            " Visas in queue: [" + String.join(", ", queuedVisas) +
+            "] Visas to rmv: [" + String.join(", ", rmvdVisas) + ']';
     }
 }