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();