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 fd9a364  Fix bug for RunAll reported as running (newer TC versions 
reports intermediate state as running for composite builds)
fd9a364 is described below

commit fd9a3642c2d408dd7473e7c674155c55d909dc4e
Author: Dmitriy Pavlov <[email protected]>
AuthorDate: Wed Sep 29 19:32:06 2021 +0300

    Fix bug for RunAll reported as running (newer TC versions reports 
intermediate state as running for composite builds)
---
 .../src/main/java/org/apache/ignite/ci/jobs/CheckQueueJob.java |  6 +++---
 .../src/main/java/org/apache/ignite/ci/web/model/Version.java  |  2 +-
 .../java/org/apache/ignite/tcignited/ITeamcityIgnited.java     |  4 ++--
 .../java/org/apache/ignite/tcignited/TeamcityIgnitedImpl.java  | 10 ++++++++--
 .../java/org/apache/ignite/tcignited/build/FatBuildDao.java    |  3 +--
 5 files changed, 15 insertions(+), 10 deletions(-)

diff --git 
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jobs/CheckQueueJob.java
 
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jobs/CheckQueueJob.java
index 46af5f0..7d41cfd 100644
--- 
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jobs/CheckQueueJob.java
+++ 
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jobs/CheckQueueJob.java
@@ -274,7 +274,7 @@ public class CheckQueueJob implements Runnable {
         String selfLogin,
         ITrackedChain chain,
         String agentStatus) {
-        List<BuildRefCompacted> buildsForBr = 
tcIgn.getQueuedBuildsCompacted(tcBranch);
+        List<BuildRefCompacted> buildsForBr = 
tcIgn.getQueuedAndRunningBuildsCompacted(tcBranch);
 
         for (BuildRefCompacted refComp : buildsForBr) {
             Integer buildId = refComp.getId();
@@ -295,14 +295,14 @@ public class CheckQueueJob implements Runnable {
             User user = build.getTriggered().getUser();
 
             if (user == null) {
-                logger.info("Unable to get username for queued build {} 
(type={}).", buildId, build.buildTypeId);
+                logger.info("Unable to get username for queued build {} 
(type={}). Possibly VCS triggered", buildId, build.buildTypeId);
 
                 continue;
             }
 
             String buildTypeIdExisting = build.buildTypeId();
             if (buildTypeIdExisting == null) {
-                logger.info("Unable to get buildTypeId  for queued build {} 
(type={}).", buildId, build.buildTypeId);
+                logger.info("Unable to get buildTypeId for queued build {} 
(type={}).", buildId, build.buildTypeId);
 
                 continue;
             }
diff --git 
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/Version.java
 
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/Version.java
index 7359bec..07bb055 100644
--- 
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/Version.java
+++ 
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/Version.java
@@ -28,7 +28,7 @@ package org.apache.ignite.ci.web.model;
     public static final String GITHUB_REF = 
"https://github.com/apache/ignite-teamcity-bot";;
 
     /** TC Bot Version. */
-    public static final String VERSION = "20190916";
+    public static final String VERSION = "20210929";
 
     /** Java version, where Web App is running. */
     public String javaVer;
diff --git 
a/tcbot-teamcity-ignited/src/main/java/org/apache/ignite/tcignited/ITeamcityIgnited.java
 
b/tcbot-teamcity-ignited/src/main/java/org/apache/ignite/tcignited/ITeamcityIgnited.java
index 04802ae..d0dc84b 100644
--- 
a/tcbot-teamcity-ignited/src/main/java/org/apache/ignite/tcignited/ITeamcityIgnited.java
+++ 
b/tcbot-teamcity-ignited/src/main/java/org/apache/ignite/tcignited/ITeamcityIgnited.java
@@ -72,12 +72,12 @@ public interface ITeamcityIgnited {
             @Nullable String branchName);
 
     /**
-     * Return queued builds for branch and suite, without relation to its 
status.
+     * Return queued and running builds for branch and suite, without relation 
to its status.
      *
      * @param branchName Branch name.
      * @return list of builds in history, includes all statuses: queued, 
running, etc
      */
-    public List<BuildRefCompacted> getQueuedBuildsCompacted(String branchName);
+    public List<BuildRefCompacted> getQueuedAndRunningBuildsCompacted(String 
branchName);
 
     /**
      * @param projectId Project id.
diff --git 
a/tcbot-teamcity-ignited/src/main/java/org/apache/ignite/tcignited/TeamcityIgnitedImpl.java
 
b/tcbot-teamcity-ignited/src/main/java/org/apache/ignite/tcignited/TeamcityIgnitedImpl.java
index 148ef71..0eb5e69 100644
--- 
a/tcbot-teamcity-ignited/src/main/java/org/apache/ignite/tcignited/TeamcityIgnitedImpl.java
+++ 
b/tcbot-teamcity-ignited/src/main/java/org/apache/ignite/tcignited/TeamcityIgnitedImpl.java
@@ -375,7 +375,7 @@ public class TeamcityIgnitedImpl implements 
ITeamcityIgnited {
 
     /** {@inheritDoc} */
     @AutoProfiling
-    @Override public List<BuildRefCompacted> getQueuedBuildsCompacted(
+    @Override public List<BuildRefCompacted> 
getQueuedAndRunningBuildsCompacted(
         @Nullable String branchName) {
         ensureActualizeRequested();
 
@@ -383,6 +383,10 @@ public class TeamcityIgnitedImpl implements 
ITeamcityIgnited {
         if (stateQueuedId == null)
             return Collections.emptyList();
 
+        Integer stateRunningId = 
compactor.getStringIdIfPresent(BuildRef.STATE_RUNNING);
+        if (stateRunningId == null)
+            return Collections.emptyList();
+
         Set<Integer> branchNameIds = 
branchEquivalence.branchForQuery(branchName).stream().map(str -> 
compactor.getStringIdIfPresent(str))
             .filter(Objects::nonNull).collect(Collectors.toSet());
 
@@ -394,7 +398,9 @@ public class TeamcityIgnitedImpl implements 
ITeamcityIgnited {
             if(builds.isEmpty())
                 return;
 
-            builds.stream().filter(buildRef -> buildRef.state() == 
stateQueuedId).forEach(res::add);
+            builds.stream()
+                    .filter(buildRef -> (buildRef.state() == stateQueuedId || 
buildRef.state() == stateRunningId))
+                    .forEach(res::add);
         });
 
         return res;
diff --git 
a/tcbot-teamcity-ignited/src/main/java/org/apache/ignite/tcignited/build/FatBuildDao.java
 
b/tcbot-teamcity-ignited/src/main/java/org/apache/ignite/tcignited/build/FatBuildDao.java
index 7a0c4c7..8a36f0a 100644
--- 
a/tcbot-teamcity-ignited/src/main/java/org/apache/ignite/tcignited/build/FatBuildDao.java
+++ 
b/tcbot-teamcity-ignited/src/main/java/org/apache/ignite/tcignited/build/FatBuildDao.java
@@ -234,8 +234,7 @@ public class FatBuildDao {
     private static Set<Long> buildsIdsToCacheKeys(int srvId, int[] buildIds) {
         HashSet<Long> set = new HashSet<>(buildIds.length);
 
-        for (int i = 0; i < buildIds.length; i++) {
-            int id = buildIds[i];
+        for (int id : buildIds) {
             set.add(buildIdToCacheKey(srvId, id));
         }
 

Reply via email to