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/28 18:07:27 UTC
[ignite-teamcity-bot] branch ignite-9542-new-run-stripe updated:
IGNITE-9542 Critical failures covered by test
This is an automated email from the ASF dual-hosted git repository.
dpavlov pushed a commit to branch ignite-9542-new-run-stripe
in repository https://gitbox.apache.org/repos/asf/ignite-teamcity-bot.git
The following commit(s) were added to refs/heads/ignite-9542-new-run-stripe by this push:
new ce95b0e IGNITE-9542 Critical failures covered by test
ce95b0e is described below
commit ce95b0ebddd600ea34200d7b6738a7ab4a0e4cdd
Author: Dmitriy Pavlov <dp...@apache.org>
AuthorDate: Wed Nov 28 21:07:25 2018 +0300
IGNITE-9542 Critical failures covered by test
---
.../ci/teamcity/ignited/fatbuild/FatBuildCompacted.java | 15 +++++++++++----
.../ci/teamcity/ignited/fatbuild/ProblemCompacted.java | 9 +++++++++
.../ci/teamcity/ignited/runhist/InvocationData.java | 2 +-
.../ignite/ci/tcbot/chain/PrChainsProcessorTest.java | 12 ++++++++++--
.../ignited/IgnitedTcInMemoryIntegrationTest.java | 1 +
5 files changed, 32 insertions(+), 7 deletions(-)
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/FatBuildCompacted.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/FatBuildCompacted.java
index 79e1226..e1b1041 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/FatBuildCompacted.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/FatBuildCompacted.java
@@ -473,15 +473,22 @@ public class FatBuildCompacted extends BuildRefCompacted implements IVersionedEn
final int failCode ;
- if(success)
+ if (success)
failCode = InvocationData.OK;
else {
- failCode = InvocationData.FAILURE;
-
+ if (problems()
+ .stream().anyMatch(occurrence ->
+ occurrence.isExecutionTimeout(compactor)
+ || occurrence.isJvmCrash(compactor)
+ || occurrence.isBuildFailureOnMetric(compactor)
+ || occurrence.isCompilationError(compactor)))
+ failCode = InvocationData.CRITICAL_FAILURE;
+ else
+ failCode = InvocationData.FAILURE;
}
- invocation.status((byte) failCode);
+ invocation.status((byte)failCode);
invocation.startDate(getStartDateTs());
invocation.changesPresent(changes().length > 0 ? 1 : 0);
return invocation;
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/ProblemCompacted.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/ProblemCompacted.java
index 7a800e3..c1942e0 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/ProblemCompacted.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/ProblemCompacted.java
@@ -124,6 +124,15 @@ public class ProblemCompacted {
return compactor.getStringId(ProblemOccurrence.TC_COMPILATION_ERROR) == type;
}
+
+ /** */
+ public boolean isBuildFailureOnMetric(IStringCompactor compactor) {
+ return compactor.getStringId(ProblemOccurrence.BUILD_FAILURE_ON_METRIC) == type;
+ }
+
+ /**
+ * @param compactor Compactor.
+ */
public boolean isExecutionTimeout(IStringCompactor compactor) {
return compactor.getStringId(ProblemOccurrence.TC_EXECUTION_TIMEOUT) == type;
}
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/runhist/InvocationData.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/runhist/InvocationData.java
index ad0336c..bb0e6af 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/runhist/InvocationData.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/runhist/InvocationData.java
@@ -139,7 +139,7 @@ public class InvocationData {
*
*/
public int failuresCount() {
- return (int)invocations().filter(inv -> inv.status == FAILURE).count();
+ return (int)invocations().filter(inv -> inv.status == FAILURE || inv.status == CRITICAL_FAILURE).count();
}
/** {@inheritDoc} */
diff --git a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/PrChainsProcessorTest.java b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/PrChainsProcessorTest.java
index 741c7f6..963533e 100644
--- a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/PrChainsProcessorTest.java
+++ b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/PrChainsProcessorTest.java
@@ -201,13 +201,21 @@ public class PrChainsProcessorTest {
addBuilds(cancelledBuild);
for (int i = 0; i < NUM_OF_TESTS_IN_MASTER; i++) {
- addBuilds(createFailedBuild(c, CACHE_1,
+ FatBuildCompacted cache1InMaster = createFailedBuild(c, CACHE_1,
ITeamcity.DEFAULT, 500 + i, 100000 + (i * 10000))
.addTests(c, Lists.newArrayList(
createFailedTest(2L, TEST_WITH_HISTORY_FAILING_IN_MASTER),
createPassingTest(3L, TEST_WITH_HISTORY_PASSING_IN_MASTER),
createTest(50L, TEST_FLAKY_IN_MASTER, i % 2 == 0),
- createPassingTest(400L, TEST_WAS_FIXED_IN_MASTER))));
+ createPassingTest(400L, TEST_WAS_FIXED_IN_MASTER)));
+
+ if (i % 7 == 1) {
+ ProblemOccurrence timeout = new ProblemOccurrence();
+ timeout.setType(ProblemOccurrence.TC_EXECUTION_TIMEOUT);
+ cache1InMaster.addProblems(c, Collections.singletonList(timeout));
+ }
+
+ addBuilds(cache1InMaster);
}
long ageMs = TimeUnit.DAYS.toMillis(InvocationData.MAX_DAYS);
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 718aad8..632a6aa 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
@@ -374,6 +374,7 @@ public class IgnitedTcInMemoryIntegrationTest {
assertNotNull(cache1Hist);
assertEquals(1.0, cache1Hist.getFailRate(), 0.1);
+ assertEquals(0.18, cache1Hist.getCriticalFailRate(), 0.05);
}