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/05/07 13:34:41 UTC

[ignite-teamcity-bot] branch ignite-10095 updated: IGNITE-10095: Avoid saving particular Build Parameters

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

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


The following commit(s) were added to refs/heads/ignite-10095 by this push:
     new 6a7869a  IGNITE-10095: Avoid saving particular Build Parameters
6a7869a is described below

commit 6a7869afa7e31f9759283c65c29729959236d0c4
Author: Dmitriy Pavlov <dp...@apache.org>
AuthorDate: Tue May 7 16:29:52 2019 +0300

    IGNITE-10095: Avoid saving particular Build Parameters
---
 .../src/main/java/org/apache/ignite/ci/ITeamcity.java       |  4 +++-
 .../java/org/apache/ignite/ci/tcmodel/result/Build.java     |  6 ++++++
 .../ci/teamcity/ignited/fatbuild/FatBuildCompacted.java     | 13 +++++++++++--
 .../ci/teamcity/ignited/fatbuild/PropertiesCompacted.java   |  4 +---
 .../teamcity/ignited/IgnitedTcInMemoryIntegrationTest.java  |  2 ++
 ignite-tc-helper-web/src/test/resources/build.xml           |  1 +
 6 files changed, 24 insertions(+), 6 deletions(-)

diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/ITeamcity.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/ITeamcity.java
index c145e1f..6f933c8 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/ITeamcity.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/ITeamcity.java
@@ -17,7 +17,9 @@
 
 package org.apache.ignite.ci;
 
+import com.google.common.collect.Sets;
 import java.io.File;
+import java.util.Set;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.Executor;
 import java.util.concurrent.ExecutorService;
@@ -45,7 +47,7 @@ public interface ITeamcity extends ITeamcityConn {
     public String TCBOT_TRIGGER_TIME = "tcbot.triggerTime";
 
     /** Default list of properties to be skipped in saving in FAT builds. */
-    public String[] AVOID_SAVE_PROPERTIES = new String[] {TCBOT_TRIGGER_TIME, "build.query.loginTs"};
+    public Set<String> AVOID_SAVE_PROPERTIES = Sets.newHashSet(TCBOT_TRIGGER_TIME, "build.query.loginTs");
 
     CompletableFuture<File> unzipFirstFile(CompletableFuture<File> fut);
 
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/Build.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/Build.java
index aa4235a..a3871e0 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/Build.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/Build.java
@@ -199,10 +199,16 @@ public class Build extends BuildRef {
         return properties == null ? null : properties.getParameter(s);
     }
 
+    /**
+     * @return {@link #properties}
+     */
     @Nullable public Parameters parameters() {
         return properties;
     }
 
+    /**
+     * @param parameters Parameters to be saved as {@link #properties}.
+     */
     public void parameters(Parameters parameters) {
         this.properties = parameters;
     }
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 b7ed85f..e62632b 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
@@ -17,6 +17,7 @@
 package org.apache.ignite.ci.teamcity.ignited.fatbuild;
 
 import com.google.common.base.MoreObjects;
+import com.google.common.base.Strings;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.BitSet;
@@ -27,6 +28,7 @@ import java.util.Objects;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
+import org.apache.ignite.ci.ITeamcity;
 import org.apache.ignite.ci.analysis.IVersionedEntity;
 import org.apache.ignite.ci.db.Persisted;
 import org.apache.ignite.ci.tcmodel.conf.BuildType;
@@ -118,6 +120,7 @@ public class FatBuildCompacted extends BuildRefCompacted implements IVersionedEn
 
     @Nullable private RevisionCompacted revisions[];
 
+    /** Build parameters compacted, excluding dynamic parameters. */
     @Nullable private PropertiesCompacted parameters;
 
     /** {@inheritDoc} */
@@ -214,8 +217,14 @@ public class FatBuildCompacted extends BuildRefCompacted implements IVersionedEn
 
         Parameters parameters = build.parameters();
 
-        if (parameters != null && !parameters.isEmpty())
-            this.parameters = new PropertiesCompacted(compactor, parameters);
+        if (parameters != null) {
+            List<Property> propList = parameters.properties().stream()
+                .filter(prop -> !Strings.isNullOrEmpty(prop.name()))
+                .filter(prop -> !ITeamcity.AVOID_SAVE_PROPERTIES.contains(prop.name())).collect(Collectors.toList());
+
+            if (!propList.isEmpty())
+                this.parameters = new PropertiesCompacted(compactor, propList);
+        }
     }
 
     public FatBuildCompacted setFakeStub(boolean val) {
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/PropertiesCompacted.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/PropertiesCompacted.java
index 070e3dd..1091966 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/PropertiesCompacted.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/PropertiesCompacted.java
@@ -21,7 +21,6 @@ import com.google.common.base.Strings;
 import java.util.List;
 import java.util.function.BiConsumer;
 import org.apache.ignite.ci.db.Persisted;
-import org.apache.ignite.ci.tcmodel.conf.bt.Parameters;
 import org.apache.ignite.ci.tcmodel.conf.bt.Property;
 import org.apache.ignite.ci.teamcity.ignited.IStringCompactor;
 import org.apache.ignite.internal.util.GridIntList;
@@ -40,8 +39,7 @@ public class PropertiesCompacted {
     public PropertiesCompacted() {
     }
 
-    public PropertiesCompacted(IStringCompactor compactor, Parameters parameters) {
-        List<Property> props = parameters.properties();
+    public PropertiesCompacted(IStringCompactor compactor, List<Property> props) {
         int size = props.size();
         keys = new GridIntList(size);
         values = new GridIntList(size);
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 3a2faa9..daa7b77 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
@@ -479,6 +479,8 @@ public class IgnitedTcInMemoryIntegrationTest {
 
         assertParameter(refBuild, actBuild, "env.JAVA_HOME");
         assertParameter(refBuild, actBuild, "reverse.dep.*.env.JAVA_HOME");
+        assertNotNull(refBuild.parameter(ITeamcity.TCBOT_TRIGGER_TIME));
+        assertNull(actBuild.parameter(ITeamcity.TCBOT_TRIGGER_TIME));
 
         final Triggered refTrig = refBuild.getTriggered();
         final Triggered actTrig = actBuild.getTriggered();
diff --git a/ignite-tc-helper-web/src/test/resources/build.xml b/ignite-tc-helper-web/src/test/resources/build.xml
index 46e0903..541f723 100644
--- a/ignite-tc-helper-web/src/test/resources/build.xml
+++ b/ignite-tc-helper-web/src/test/resources/build.xml
@@ -37,6 +37,7 @@
         <property name="TEST_SUITE" value="IgniteCacheMvccTestSuite" inherited="true"/>
         <property name="XMS" value="2g" inherited="true"/>
         <property name="XMX" value="2g" inherited="true"/>
+        <property name="tcbot.triggerTime" value="12345"/>
     </properties>
     <statistics href="/app/rest/latest/builds/id:2153237/statistics"/>
     <snapshot-dependencies count="1">