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/30 16:26:09 UTC

[ignite-teamcity-bot] branch ignite-10071 updated: IGNITE-10071 Second case of queued build in refs but not in fat builds demo by test

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

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


The following commit(s) were added to refs/heads/ignite-10071 by this push:
     new 0a195d7  IGNITE-10071 Second case of queued build in refs but not in fat builds demo by test
0a195d7 is described below

commit 0a195d709912378b35a2467db0e1e65b3486e712
Author: Dmitriy Pavlov <dp...@apache.org>
AuthorDate: Fri Nov 30 19:26:07 2018 +0300

    IGNITE-10071 Second case of queued build in refs but not in fat builds demo by test
---
 build.gradle                                       |  3 +-
 .../ignited/fatbuild/ProactiveFatBuildSync.java    |  6 +++-
 .../ignited/IgnitedTcInMemoryIntegrationTest.java  | 42 +++++++++++++++-------
 3 files changed, 36 insertions(+), 15 deletions(-)

diff --git a/build.gradle b/build.gradle
index 50eb5dd..c0e6426 100644
--- a/build.gradle
+++ b/build.gradle
@@ -41,7 +41,8 @@ allprojects {
     ext {
         jettyVer = '9.4.12.v20180830'
 
-        ignVer = '2.7.0'
+        ignVer = '2.6.0'
+        // ignVer = '2.7.0'
         //  ignVer = '2.7.0-SNAPSHOT'
 
         guavaVer = '26.0-jre'
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/ProactiveFatBuildSync.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/ProactiveFatBuildSync.java
index 03e6311..65c7320 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/ProactiveFatBuildSync.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/ProactiveFatBuildSync.java
@@ -100,7 +100,6 @@ public class ProactiveFatBuildSync {
         if (buildsToAskFromTc.isEmpty())
             return;
 
-
         synchronized (this) {
             final SyncTask syncTask = getSyncTask(conn);
 
@@ -237,6 +236,11 @@ public class ProactiveFatBuildSync {
         return ProactiveFatBuildSync.class.getSimpleName() +"." + taskName + "." + srvName;
     }
 
+    /**
+     * Schedule missing builds into Fat builds cache. Sync is based by BuildRefs cache.
+     * @param srvName Server name.
+     * @param conn Connection.
+     */
     public void invokeLaterFindMissingByBuildRef(String srvName, ITeamcityConn conn) {
         scheduler.sheduleNamed(taskName("findMissingBuildsFromBuildRef", srvName),
                 () -> findMissingBuildsFromBuildRef(srvName, conn), 360, TimeUnit.MINUTES);
diff --git a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/ignited/IgnitedTcInMemoryIntegrationTest.java b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/ignited/IgnitedTcInMemoryIntegrationTest.java
index eeebd5e..d8a9720 100644
--- a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/ignited/IgnitedTcInMemoryIntegrationTest.java
+++ b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/ignited/IgnitedTcInMemoryIntegrationTest.java
@@ -16,7 +16,6 @@
  */
 package org.apache.ignite.ci.teamcity.ignited;
 
-import com.google.common.base.Preconditions;
 import com.google.common.collect.Lists;
 import com.google.inject.AbstractModule;
 import com.google.inject.Guice;
@@ -35,7 +34,6 @@ import javax.xml.bind.JAXBException;
 import com.google.inject.internal.SingletonScope;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.Ignition;
-import org.apache.ignite.ci.IAnalyticsEnabledTeamcity;
 import org.apache.ignite.ci.ITeamcity;
 import org.apache.ignite.ci.analysis.SuiteInBranch;
 import org.apache.ignite.ci.analysis.TestInBranch;
@@ -61,6 +59,7 @@ import org.apache.ignite.ci.teamcity.ignited.fatbuild.ProactiveFatBuildSync;
 import org.apache.ignite.ci.teamcity.ignited.runhist.RunHistCompactedDao;
 import org.apache.ignite.ci.teamcity.ignited.runhist.RunHistSync;
 import org.apache.ignite.ci.teamcity.pure.BuildHistoryEmulator;
+import org.apache.ignite.ci.teamcity.pure.ITeamcityConn;
 import org.apache.ignite.ci.teamcity.pure.ITeamcityHttpConnection;
 import org.apache.ignite.ci.teamcity.restcached.ITcServerFactory;
 import org.apache.ignite.ci.user.ICredentialsProv;
@@ -556,11 +555,11 @@ public class IgnitedTcInMemoryIntegrationTest {
         FatBuildDao fatBuildDao = injector.getInstance(FatBuildDao.class).init();
 
         int buildId = 1000042;
-        BuildRef ref = new BuildRef();
-        ref.buildTypeId = "Testbuild";
-        ref.branchName = ITeamcity.REFS_HEADS_MASTER;
-        ref.state = BuildRef.STATE_QUEUED;
-        ref.setId(buildId);
+        BuildRef refQ = new BuildRef();
+        refQ.buildTypeId = "Testbuild";
+        refQ.branchName = ITeamcity.REFS_HEADS_MASTER;
+        refQ.state = BuildRef.STATE_QUEUED;
+        refQ.setId(buildId);
 
         int buildIdRunning = 1000043;
         BuildRef refR = new BuildRef();
@@ -571,16 +570,17 @@ public class IgnitedTcInMemoryIntegrationTest {
 
         String srvId = APACHE;
         int srvIdInt = ITeamcityIgnited.serverIdToInt(srvId);
-        buildRefDao.saveChunk(srvIdInt, Lists.newArrayList(ref, refR));
+        ITeamcityConn srvConn = injector.getInstance(ITcServerFactory.class).createServer(srvId);
+
+        buildRefDao.saveChunk(srvIdInt, Lists.newArrayList(refQ, refR));
 
         List<BuildRefCompacted> running = buildRefDao.getQueuedAndRunning(srvIdInt);
         assertFalse(checkNotNull(running).isEmpty());
 
-        System.out.println("Running builds: " + running);
+        System.out.println("Running builds (before sync): " + printRefs(c, running));
 
         ProactiveFatBuildSync buildSync = injector.getInstance(ProactiveFatBuildSync.class);
-        buildSync.invokeLaterFindMissingByBuildRef(srvId,
-            injector.getInstance(ITcServerFactory.class).createServer(srvId));
+        buildSync.invokeLaterFindMissingByBuildRef(srvId, srvConn);
 
         FatBuildCompacted fatBuild = fatBuildDao.getFatBuild(srvIdInt, buildId);
         System.out.println(fatBuild);
@@ -591,9 +591,25 @@ public class IgnitedTcInMemoryIntegrationTest {
         assertTrue(fatBuild.isCancelled(c));
 
         List<BuildRefCompacted> running2 = buildRefDao.getQueuedAndRunning(srvIdInt);
-        System.out.println("Running builds (after sync): " +
-            running2.stream().map(bref->bref.toBuildRef(c)).collect(Collectors.toList()));
+        System.out.println("Running builds (after sync): " + printRefs(c, running2));
         assertTrue(checkNotNull(running2).isEmpty());
+
+        // Now we have 2 fake stubs, retry to actualize
+        buildRefDao.saveChunk(srvIdInt, Lists.newArrayList(refQ, refR));
+
+        List<BuildRefCompacted> running3 = buildRefDao.getQueuedAndRunning(srvIdInt);
+        System.out.println("Running builds (before with fake builds): " + printRefs(c, running3));
+        assertFalse(checkNotNull(running3).isEmpty());
+
+        buildSync.invokeLaterFindMissingByBuildRef(srvId, srvConn);
+
+        List<BuildRefCompacted> running4 = buildRefDao.getQueuedAndRunning(srvIdInt);
+        System.out.println("Running builds (before with fake builds): " + printRefs(c, running4));
+        assertTrue(checkNotNull(running4).isEmpty());
+    }
+
+    @NotNull public List<BuildRef> printRefs(IStringCompactor c, List<BuildRefCompacted> running2) {
+        return running2.stream().map(bref->bref.toBuildRef(c)).collect(Collectors.toList());
     }
 
     /**