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 b40da53  IGNITE-10562 NPE fix for TC Bot DB contains invalid values 
for build references ID maps to value with other ID.
b40da53 is described below

commit b40da538c1e3999eaf3b5a715ea6488f6c1c1202
Author: Dmitriy Pavlov <[email protected]>
AuthorDate: Thu Dec 6 15:31:33 2018 +0300

    IGNITE-10562 NPE fix for TC Bot DB contains invalid values for build 
references ID maps to value with other ID.
---
 .../org/apache/ignite/ci/teamcity/ignited/fatbuild/FatBuildDao.java  | 4 ++--
 .../ignite/ci/teamcity/ignited/fatbuild/ProactiveFatBuildSync.java   | 5 ++++-
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git 
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/FatBuildDao.java
 
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/FatBuildDao.java
index ccafc68..38f6502 100644
--- 
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/FatBuildDao.java
+++ 
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/FatBuildDao.java
@@ -24,6 +24,7 @@ import java.util.Map;
 import java.util.Objects;
 import java.util.Set;
 import java.util.stream.Collectors;
+import javax.annotation.Nullable;
 import javax.inject.Inject;
 import javax.inject.Provider;
 import javax.validation.constraints.NotNull;
@@ -37,7 +38,6 @@ import 
org.apache.ignite.ci.tcmodel.result.problems.ProblemOccurrence;
 import org.apache.ignite.ci.tcmodel.result.stat.Statistics;
 import org.apache.ignite.ci.tcmodel.result.tests.TestOccurrencesFull;
 import org.apache.ignite.ci.teamcity.ignited.IStringCompactor;
-import org.jetbrains.annotations.Nullable;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -80,7 +80,7 @@ public class FatBuildDao {
      * @param existingBuild existing version of build in the DB.
      * @return Fat Build saved (if modifications detected), otherwise null.
      */
-    public FatBuildCompacted saveBuild(int srvIdMaskHigh,
+    @Nullable public FatBuildCompacted saveBuild(int srvIdMaskHigh,
                                        int buildId,
                                        @NotNull Build build,
                                        @NotNull List<TestOccurrencesFull> 
tests,
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 3f68542..52af9fe 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
@@ -271,6 +271,9 @@ public class ProactiveFatBuildSync {
 
         FatBuildCompacted savedVer = reloadBuild(conn, buildId, existingBuild);
 
+        if (savedVer == null)
+            return null;
+
         BuildRefCompacted refCompacted = new BuildRefCompacted(savedVer);
         if (savedVer.isFakeStub())
             refCompacted.setId(buildId); //to provide possiblity to save the 
build
@@ -294,7 +297,7 @@ public class ProactiveFatBuildSync {
      */
     @SuppressWarnings({"WeakerAccess"})
     @AutoProfiling
-    public FatBuildCompacted reloadBuild(ITeamcityConn conn, int buildId, 
@Nullable FatBuildCompacted existingBuild) {
+    @Nullable public FatBuildCompacted reloadBuild(ITeamcityConn conn, int 
buildId, @Nullable FatBuildCompacted existingBuild) {
         //todo some sort of locking to avoid double requests
 
         final String srvName = conn.serverId();

Reply via email to