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 2019/01/25 17:45:47 UTC

[ignite-teamcity-bot] 01/01: IGNITE-10989 Removing in-memory caches for data presented in new TcIgnited DB.

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

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

commit b3109423a12b6b5a4cea2c64e901392e0ccfb9ef
Author: Dmitriy Pavlov <dp...@apache.org>
AuthorDate: Fri Jan 25 20:45:42 2019 +0300

    IGNITE-10989 Removing in-memory caches for data presented in new TcIgnited DB.
---
 .../java/org/apache/ignite/ci/db/DbMigrations.java | 13 -----
 .../tcbot/chain/TrackedBranchChainsProcessor.java  |  8 ++--
 .../ignite/ci/tcbot/issue/IssueDetector.java       | 11 +++--
 .../apache/ignite/ci/web/IBackgroundUpdatable.java |  1 +
 .../rest/tracked/GetTrackedBranchTestResults.java  | 39 +++++++--------
 ignite-tc-helper-web/src/main/webapp/current.html  | 55 +++++++++++++---------
 ignite-tc-helper-web/src/main/webapp/pr.html       |  6 +++
 .../ci/tcbot/chain/TrackedBranchProcessorTest.java |  3 +-
 8 files changed, 69 insertions(+), 67 deletions(-)

diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/db/DbMigrations.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/db/DbMigrations.java
index d0cd305..ec6d4db 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/db/DbMigrations.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/db/DbMigrations.java
@@ -207,24 +207,11 @@ public class DbMigrations {
 
         applyRemoveCache(GetTrackedBranchTestResults.ALL_TEST_FAILURES_SUMMARY);
 
-        applyRemoveCache(GetTrackedBranchTestResults.TEST_FAILURES_SUMMARY_CACHE_NAME);
         applyRemoveCache(GetBuildTestFailures.TEST_FAILURES_SUMMARY_CACHE_NAME);
         applyRemoveCache(Old.CURRENT_PR_FAILURES);
 
         applyDestroyIgnCacheMigration(TEST_OCCURRENCE_FULL);
-        /*
-            int size = oldTestCache.size();
-            if (size > 0) {
-                ignite.cluster().disableWal(testFullCache.getName());
-                try {
 
-                    oldTestCache.destroy();
-                }
-                finally {
-                    ignite.cluster().enableWal(testFullCache.getName());
-                }
-            }
-        });*/
         applyDestroyIgnCacheMigration(PROBLEMS);
 
         applyDestroyIgnCacheMigration(FINISHED_BUILDS_INCLUDE_FAILED);
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/TrackedBranchChainsProcessor.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/TrackedBranchChainsProcessor.java
index 2f8ba13..4dd5f04 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/TrackedBranchChainsProcessor.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/TrackedBranchChainsProcessor.java
@@ -64,14 +64,16 @@ public class TrackedBranchChainsProcessor {
         @Nullable String branch,
         @Nullable Boolean checkAllLogs,
         int buildResMergeCnt,
-        ICredentialsProv creds) {
+        ICredentialsProv creds,
+        SyncMode syncMode) {
         final TestFailuresSummary res = new TestFailuresSummary();
         final AtomicInteger runningUpdates = new AtomicInteger();
 
         final String branchNn = isNullOrEmpty(branch) ? FullQueryParams.DEFAULT_TRACKED_BRANCH_NAME : branch;
-        final BranchTracked tracked = tcBotConfig.getTrackedBranches().getBranchMandatory(branchNn);
         res.setTrackedBranch(branchNn);
 
+        final BranchTracked tracked = tcBotConfig.getTrackedBranches().getBranchMandatory(branchNn);
+
         tracked.chains.stream()
             .filter(chainTracked -> creds.hasAccess(chainTracked.serverId))
             .map(chainTracked -> {
@@ -111,7 +113,7 @@ public class TrackedBranchChainsProcessor {
                     logs,
                     includeScheduled,
                     baseBranchTc,
-                    SyncMode.RELOAD_QUEUED
+                    syncMode
                 );
 
                 int cnt = (int)ctx.getRunningUpdates().count();
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/issue/IssueDetector.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/issue/IssueDetector.java
index 238df87..7ea2c63 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/issue/IssueDetector.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/issue/IssueDetector.java
@@ -34,7 +34,6 @@ import java.util.concurrent.atomic.AtomicInteger;
 import javax.inject.Inject;
 import javax.inject.Provider;
 import org.apache.ignite.ci.HelperConfig;
-import org.apache.ignite.ci.IAnalyticsEnabledTeamcity;
 import org.apache.ignite.ci.analysis.SuiteInBranch;
 import org.apache.ignite.ci.analysis.TestInBranch;
 import org.apache.ignite.ci.di.AutoProfiling;
@@ -53,9 +52,9 @@ import org.apache.ignite.ci.teamcity.ignited.IRunHistory;
 import org.apache.ignite.ci.teamcity.ignited.IStringCompactor;
 import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnited;
 import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnitedProvider;
+import org.apache.ignite.ci.teamcity.ignited.SyncMode;
 import org.apache.ignite.ci.teamcity.ignited.change.ChangeCompacted;
 import org.apache.ignite.ci.teamcity.ignited.fatbuild.FatBuildCompacted;
-import org.apache.ignite.ci.teamcity.restcached.ITcServerProvider;
 import org.apache.ignite.ci.user.ICredentialsProv;
 import org.apache.ignite.ci.user.TcHelperUser;
 import org.apache.ignite.ci.web.model.current.ChainAtServerCurrentStatus;
@@ -437,17 +436,19 @@ public class IssueDetector {
 
         ICredentialsProv creds = Preconditions.checkNotNull(backgroundOpsCreds, "Server should be authorized");
 
-        TestFailuresSummary allHist = tbProc.getTrackedBranchTestFailures(
+        tbProc.getTrackedBranchTestFailures(
             brachName,
             false,
             buildsToQry,
-            creds);
+            creds,
+            SyncMode.RELOAD_QUEUED);
 
         TestFailuresSummary failures =
             tbProc.getTrackedBranchTestFailures(brachName,
                 false,
                 1,
-                creds
+                creds,
+                SyncMode.RELOAD_QUEUED
             );
 
         String issResult = registerIssuesAndNotifyLater(failures, backgroundOpsCreds);
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/IBackgroundUpdatable.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/IBackgroundUpdatable.java
index 75aeba0..30955db 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/IBackgroundUpdatable.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/IBackgroundUpdatable.java
@@ -20,6 +20,7 @@ package org.apache.ignite.ci.web;
 /**
  *
  */
+@Deprecated
 public interface IBackgroundUpdatable {
     /**
      * Sets flag indicating if update required from HTML interface, new results will be prepared by updater soon
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/tracked/GetTrackedBranchTestResults.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/tracked/GetTrackedBranchTestResults.java
index c737741..406a8b5 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/tracked/GetTrackedBranchTestResults.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/tracked/GetTrackedBranchTestResults.java
@@ -17,11 +17,13 @@
 
 package org.apache.ignite.ci.web.rest.tracked;
 
+import com.google.inject.Injector;
 import java.util.Set;
 import org.apache.ignite.ci.tcbot.conf.ITcBotConfig;
 import org.apache.ignite.ci.tcmodel.mute.MuteInfo;
 import org.apache.ignite.ci.tcbot.chain.TrackedBranchChainsProcessor;
 import org.apache.ignite.ci.tcbot.visa.TcBotTriggerAndSignOffService;
+import org.apache.ignite.ci.teamcity.ignited.SyncMode;
 import org.apache.ignite.ci.user.ICredentialsProv;
 import org.apache.ignite.ci.web.BackgroundUpdater;
 import org.apache.ignite.ci.web.CtxListener;
@@ -49,7 +51,6 @@ import static org.apache.ignite.ci.tcbot.conf.ITcBotConfig.DEFAULT_SERVER_ID;
 @Produces(MediaType.APPLICATION_JSON)
 public class GetTrackedBranchTestResults {
     public static final String TRACKED = "tracked";
-    public static final String TEST_FAILURES_SUMMARY_CACHE_NAME = "currentTestFailuresSummary";
     public static final String ALL_TEST_FAILURES_SUMMARY = "AllTestFailuresSummary";
 
     /** Servlet Context. */
@@ -64,7 +65,7 @@ public class GetTrackedBranchTestResults {
     @Path("updates")
     public UpdateInfo getTestFailsUpdates(@Nullable @QueryParam("branch") String branchOrNull,
                                           @Nullable @QueryParam("checkAllLogs") Boolean checkAllLogs) {
-        return new UpdateInfo().copyFrom(getTestFails(branchOrNull, checkAllLogs));
+        return new UpdateInfo().copyFrom(getTestFailsResultsNoSync(branchOrNull, checkAllLogs));
     }
 
     @GET
@@ -72,39 +73,34 @@ public class GetTrackedBranchTestResults {
     @Produces(MediaType.TEXT_PLAIN)
     public String getTestFailsText(@Nullable @QueryParam("branch") String branchOrNull,
                                    @Nullable @QueryParam("checkAllLogs") Boolean checkAllLogs) {
-        return getTestFails(branchOrNull, checkAllLogs).toString();
+        return getTestFailsResultsNoSync(branchOrNull, checkAllLogs).toString();
     }
 
     @GET
-    @Path("results")
-    public TestFailuresSummary getTestFails(
-            @Nullable @QueryParam("branch") String branchOrNull,
+    @Path("resultsNoSync")
+    public TestFailuresSummary getTestFailsResultsNoSync(
+            @Nullable @QueryParam("branch") String branch,
             @Nullable @QueryParam("checkAllLogs") Boolean checkAllLogs) {
+        ICredentialsProv creds = ICredentialsProv.get(req);
 
-        final BackgroundUpdater updater = CtxListener.getBackgroundUpdater(ctx);
-
-        FullQueryParams param = new FullQueryParams();
-        param.setBranch(branchOrNull);
-        param.setCheckAllLogs(checkAllLogs);
+        Injector injector = CtxListener.getInjector(ctx);
 
-        return updater.get(TEST_FAILURES_SUMMARY_CACHE_NAME, ICredentialsProv.get(req), param,
-                (k) -> getTestFailsNoCache(k.getBranch(), k.getCheckAllLogs()), true
-        );
+        return injector.getInstance(TrackedBranchChainsProcessor.class)
+            .getTrackedBranchTestFailures(branch, checkAllLogs, 1, creds, SyncMode.NONE);
     }
 
     @GET
-    @Path("resultsNoCache")
+    @Path("results")
     @NotNull
     public TestFailuresSummary getTestFailsNoCache(
             @Nullable @QueryParam("branch") String branch,
             @Nullable @QueryParam("checkAllLogs") Boolean checkAllLogs) {
+        ICredentialsProv creds = ICredentialsProv.get(req);
 
-        final ICredentialsProv creds = ICredentialsProv.get(req);
+        Injector injector = CtxListener.getInjector(ctx);
 
-        final TrackedBranchChainsProcessor tbProc = CtxListener.getInjector(ctx).getInstance(TrackedBranchChainsProcessor.class);
-
-        return tbProc.getTrackedBranchTestFailures(branch, checkAllLogs, 1, creds
-        );
+        return injector.getInstance(TrackedBranchChainsProcessor.class)
+            .getTrackedBranchTestFailures(branch, checkAllLogs, 1, creds, SyncMode.RELOAD_QUEUED);
     }
 
     @GET
@@ -112,7 +108,6 @@ public class GetTrackedBranchTestResults {
     public UpdateInfo getAllTestFailsUpdates(@Nullable @QueryParam("branch") String branchOrNull,
                                              @Nullable @QueryParam("count") Integer cnt,
                                              @Nullable @QueryParam("checkAllLogs") Boolean checkAllLogs) {
-
         return new UpdateInfo().copyFrom(getAllTestFails(branchOrNull, cnt, checkAllLogs));
     }
 
@@ -147,7 +142,7 @@ public class GetTrackedBranchTestResults {
         int cntLimit = cnt == null ? FullQueryParams.DEFAULT_COUNT : cnt;
         final TrackedBranchChainsProcessor tbProc = CtxListener.getInjector(ctx).getInstance(TrackedBranchChainsProcessor.class);
 
-        return tbProc.getTrackedBranchTestFailures(branchOpt, checkAllLogs, cntLimit, creds);
+        return tbProc.getTrackedBranchTestFailures(branchOpt, checkAllLogs, cntLimit, creds, SyncMode.RELOAD_QUEUED);
     }
 
     /**
diff --git a/ignite-tc-helper-web/src/main/webapp/current.html b/ignite-tc-helper-web/src/main/webapp/current.html
index 6d454c8..6989400 100644
--- a/ignite-tc-helper-web/src/main/webapp/current.html
+++ b/ignite-tc-helper-web/src/main/webapp/current.html
@@ -16,7 +16,6 @@
 <body>
 <script>
 var g_shownDataHashCodeHex = "";
-var g_updTimer = null;
 
 $(document).ready(function() {
     $.getScript("js/testfails-2.1.js", function(data, textStatus, jqxhr){ });
@@ -26,30 +25,8 @@ $(document).ready(function() {
     //todo fix setInterval( function() { checkForUpdate(); }, 30000);
 
     $.ajax({ url: "rest/branches/version",  success: showVersionInfo, error: showErrInLoadStatus });
-
-    if (g_updTimer == null) {
-        g_updTimer = setTimeout(tstTimeout, 3200);
-    }
-    setInterval(tstTimeout, 10000);
 });
 
-function tstTimeout() {
-
-    if (g_updTimer != null) {
-        clearTimeout(g_updTimer);
-        g_updTimer = null;
-    }
-
-    var d = new Date();
-    var n = d.getTime();
-
-    // $(document.body).prepend("timeout at "+n+"<br>");
-
-    if (g_updTimer == null) {
-        g_updTimer = setTimeout(tstTimeout, 3200);
-    }
-}
-
 function parmsForRest() {
     var curReqParms = "";
     var branch = findGetParameter("branch");
@@ -95,6 +72,7 @@ function loadData() {
     var curFailuresUrl = "rest/tracked/results" + parmsForRest();
     
     $("#loadStatus").html("<img src='https://www.wallies.com/filebin/images/loading_apple.gif' width=20px height=20px> Please wait");
+    setTimeout(loadPartialData, 3000);
     $.ajax({
         url: curFailuresUrl,
         success: function(result) {
@@ -112,6 +90,37 @@ function loadData() {
     });
 }
 
+function loadPartialData() {
+    var curFailuresUrl = "rest/tracked/resultsNoSync" + parmsForRest();
+
+    if (g_shownDataHashCodeHex !== "") {
+        return;
+    }
+    $.ajax({
+        url: curFailuresUrl,
+        success: function (result) {
+            if (g_shownDataHashCodeHex !== "") {
+                return;
+            }
+
+            var validResult = true;
+            for (var i = 0; i < result.servers.length; i++) {
+                var server = result.servers[i];
+
+                if (isDefinedAndFilled(server.buildNotFound) && server.buildNotFound) {
+                    validResult = false;
+                    break;
+                }
+            }
+            if (validResult)
+                showData(result);
+
+            setTimeout(loadPartialData, 3000);
+        },
+        error: showErrInLoadStatus
+    });
+}
+
 function showData(result) {
     //var txtUrl = "rest/tracked/results/txt" + parmsForRest();
 
diff --git a/ignite-tc-helper-web/src/main/webapp/pr.html b/ignite-tc-helper-web/src/main/webapp/pr.html
index f8d0056..99a1220 100644
--- a/ignite-tc-helper-web/src/main/webapp/pr.html
+++ b/ignite-tc-helper-web/src/main/webapp/pr.html
@@ -58,6 +58,12 @@ function parmsForRest() {
     if(baseBranchForTc != null) {
         curReqParms += "&baseBranchForTc=" + baseBranchForTc;
     }
+
+    var checkAllLogs = findGetParameter("checkAllLogs");
+    if (checkAllLogs != null) {
+        curReqParms += "&checkAllLogs=" + checkAllLogs;
+    }
+
     return curReqParms;
 }
 
diff --git a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/TrackedBranchProcessorTest.java b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/TrackedBranchProcessorTest.java
index 0035621..3164e7d 100644
--- a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/TrackedBranchProcessorTest.java
+++ b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/TrackedBranchProcessorTest.java
@@ -31,6 +31,7 @@ import org.apache.ignite.ci.conf.BranchesTracked;
 import org.apache.ignite.ci.conf.ChainAtServerTracked;
 import org.apache.ignite.ci.teamcity.ignited.IStringCompactor;
 import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnitedProvider;
+import org.apache.ignite.ci.teamcity.ignited.SyncMode;
 import org.apache.ignite.ci.teamcity.ignited.TeamcityIgnitedProviderMock;
 import org.apache.ignite.ci.teamcity.ignited.fatbuild.FatBuildCompacted;
 import org.apache.ignite.ci.user.ICredentialsProv;
@@ -116,7 +117,7 @@ public class TrackedBranchProcessorTest {
         TestFailuresSummary failures = tbProc.getTrackedBranchTestFailures(BRACH_NAME,
             false,
             1,
-            mock
+            mock, SyncMode.RELOAD_QUEUED
         );
 
         Gson gson = new GsonBuilder().setPrettyPrinting().create();