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 c36a3a8 Bug fixes after incremental build upload done
c36a3a8 is described below
commit c36a3a8d8ae4df402a15c95c38fd190d269a758e
Author: Dmitriy Pavlov <[email protected]>
AuthorDate: Thu Sep 20 19:30:57 2018 +0300
Bug fixes after incremental build upload done
---
.../main/java/org/apache/ignite/ci/ITeamcity.java | 16 ++++-----
.../apache/ignite/ci/IgnitePersistentTeamcity.java | 41 +++++++++++-----------
.../org/apache/ignite/ci/IgniteTeamcityHelper.java | 27 +++++++-------
.../java/org/apache/ignite/ci/util/HttpUtil.java | 7 +++-
.../org/apache/ignite/ci/web/model/Version.java | 2 +-
5 files changed, 50 insertions(+), 43 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 ccc3fea..42ed6cb 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
@@ -70,13 +70,13 @@ public interface ITeamcity extends AutoCloseable {
};
/**
- * @param projectId suite ID (string without spaces)
- * @param branch
- * @param cnt builds count
- * @param sinceBuildNumber
- * @return list of builds in historical order, recent builds coming last
+ * @param projectId suite ID (string without spaces).
+ * @param branch Branch name in TC identification.
+ * @param cnt builds count.
+ * @param sinceBuildId Some build ID in the past to to use as minimal
build to export.
+ * @return list of builds in historical order, recent builds coming last.
*/
- List<BuildRef> getFinishedBuilds(String projectId, String branch, Long
cnt, Integer sinceBuildNumber);
+ List<BuildRef> getFinishedBuilds(String projectId, String branch, Long
cnt, Integer sinceBuildId);
/**
* Includes snapshot dependencies failed builds into list
@@ -95,10 +95,10 @@ public interface ITeamcity extends AutoCloseable {
* @param projectId suite ID (string without spaces)
* @param branch branch in TC identification
* @param cnt builds count
- * @param sinceBuildNumber limit builds export with some build number, not
operational for Persistent connection
+ * @param sinceBuildId limit builds export with some build number, not
operational for Persistent connection
* @return list of builds in historical order, recent builds coming last
*/
- List<BuildRef> getFinishedBuildsIncludeSnDepFailed(String projectId,
String branch, Long cnt, Integer sinceBuildNumber);
+ List<BuildRef> getFinishedBuildsIncludeSnDepFailed(String projectId,
String branch, Long cnt, Integer sinceBuildId);
/** */
CompletableFuture<List<BuildRef>> getRunningBuilds(@Nullable String
branch);
diff --git
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgnitePersistentTeamcity.java
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgnitePersistentTeamcity.java
index 4d49121..8ea41ce 100644
---
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgnitePersistentTeamcity.java
+++
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgnitePersistentTeamcity.java
@@ -42,6 +42,7 @@ import java.util.stream.StreamSupport;
import javax.annotation.Nullable;
import javax.cache.Cache;
import javax.inject.Inject;
+import javax.ws.rs.BadRequestException;
import org.apache.ignite.Ignite;
import org.apache.ignite.IgniteCache;
@@ -301,33 +302,33 @@ public class IgnitePersistentTeamcity implements
IAnalyticsEnabledTeamcity, ITea
}
}
- //todo sinceBuild:(number:) // --todo -10 build numbers
-
- Integer sinceBuildNum = null;
+ Integer sinceBuildId;
if (persistedBuilds != null) {
List<BuildRef> prevData = persistedBuilds.getData();
if (prevData.size() >= MAX_BUILDS_IN_PAST_TO_RELOAD) {
BuildRef buildRef = prevData.get(prevData.size() -
MAX_BUILDS_IN_PAST_TO_RELOAD);
- if (!Strings.isNullOrEmpty(buildRef.buildNumber)) {
- try {
- sinceBuildNum =
Integer.valueOf(buildRef.buildNumber);
- } catch (NumberFormatException e) {
- logger.info("", e);
- }
- }
+ sinceBuildId = buildRef.getId();
+ } else {
+ sinceBuildId = null;
}
- }
+ } else
+ sinceBuildId = null;
+
List<BuildRef> dataFromRest;
try {
- dataFromRest = realLoad.apply(key, sinceBuildNum);
- }
- catch (Exception e) {
+ dataFromRest = realLoad.apply(key, sinceBuildId);
+ } catch (Exception e) {
if (Throwables.getRootCause(e) instanceof
FileNotFoundException) {
System.err.println("Build history not found for build : "
+ key);
dataFromRest = Collections.emptyList();
- }
- else
+ } else if (Throwables.getRootCause(e) instanceof
BadRequestException) {
+ //probably referenced build not found
+ if (sinceBuildId != null)
+ dataFromRest = realLoad.apply(key, null);
+ else
+ throw e;
+ } else
throw e;
}
final List<BuildRef> persistedList = persistedBuilds != null ?
persistedBuilds.getData() : null;
@@ -381,8 +382,8 @@ public class IgnitePersistentTeamcity implements
IAnalyticsEnabledTeamcity, ITea
//todo may be support sinceBuildNo
final SuiteInBranch suiteInBranch = new SuiteInBranch(projectId,
branch);
- List<BuildRef> buildRefs = loadBuildHistory(buildHistCache(), 60, cnt,
suiteInBranch,
- (key, sinceBuildNumber) -> teamcity.getFinishedBuilds(projectId,
branch, cnt, sinceBuildNumber));
+ List<BuildRef> buildRefs = loadBuildHistory(buildHistCache(), 90, cnt,
suiteInBranch,
+ (key, sinceBuildId) -> teamcity.getFinishedBuilds(projectId,
branch, cnt, sinceBuildId));
if (cnt == null)
return buildRefs;
@@ -416,8 +417,8 @@ public class IgnitePersistentTeamcity implements
IAnalyticsEnabledTeamcity, ITea
Integer ignored) {
final SuiteInBranch suiteInBranch = new SuiteInBranch(projectId,
branch);
- return loadBuildHistory(buildHistIncFailedCache(), 60, cnt,
suiteInBranch,
- (key, sinceBuildNumber) ->
teamcity.getFinishedBuildsIncludeSnDepFailed(projectId, branch, cnt,
sinceBuildNumber));
+ return loadBuildHistory(buildHistIncFailedCache(), 91, cnt,
suiteInBranch,
+ (key, sinceBuildId) ->
teamcity.getFinishedBuildsIncludeSnDepFailed(projectId, branch, cnt,
sinceBuildId));
}
diff --git
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgniteTeamcityHelper.java
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgniteTeamcityHelper.java
index 41da839..ffe66e2 100644
---
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgniteTeamcityHelper.java
+++
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgniteTeamcityHelper.java
@@ -473,11 +473,11 @@ public class IgniteTeamcityHelper implements ITeamcity {
boolean dfltFilter,
@Nullable String state,
@Nullable Long cnt,
- @Nullable Integer sinceBuildNumber)
{
+ @Nullable Integer sinceBuildId) {
String btFilter = isNullOrEmpty(buildTypeId) ? "" : ",buildType:" +
buildTypeId;
String stateFilter = isNullOrEmpty(state) ? "" : (",state:" + state);
String branchFilter = isNullOrEmpty(branchName) ? "" : ",branch:" +
branchName;
- String buildNoFilter = sinceBuildNumber == null ? "" :
",sinceBuild:(number:" + sinceBuildNumber + ")";
+ String buildNoFilter = sinceBuildId == null ? "" : ",sinceBuild:(id:"
+ sinceBuildId + ")";
long cntFilter = cnt == null ? DEFAULT_BUILDS_COUNT : cnt;
return sendGetXmlParseJaxb(host + "app/rest/latest/builds"
@@ -571,13 +571,13 @@ public class IgniteTeamcityHelper implements ITeamcity {
public List<BuildRef> getFinishedBuilds(String projectId,
String branch,
Long cnt,
- @Nullable Integer
sinceBuildNumber) {
+ @Nullable Integer sinceBuildId) {
List<BuildRef> finished = getBuildHistory(projectId,
UrlUtil.escape(branch),
true,
null,
cnt,
- sinceBuildNumber);
+ sinceBuildId);
return
finished.stream().filter(BuildRef::isNotCancelled).collect(Collectors.toList());
}
@@ -585,13 +585,13 @@ public class IgniteTeamcityHelper implements ITeamcity {
/** {@inheritDoc} */
@Override
@AutoProfiling public List<BuildRef>
getFinishedBuildsIncludeSnDepFailed(String projectId, String branch) {
- return getBuildsInState(projectId, branch, BuildRef.STATE_FINISHED,
null);
+ return getBuildsInState(projectId, branch, BuildRef.STATE_FINISHED,
null, null);
}
/** {@inheritDoc} */
@Override
- @AutoProfiling public List<BuildRef>
getFinishedBuildsIncludeSnDepFailed(String projectId, String branch, Long cnt,
Integer sinceBuildNumber) {
- return getBuildsInState(projectId, branch, BuildRef.STATE_FINISHED,
cnt);
+ @AutoProfiling public List<BuildRef>
getFinishedBuildsIncludeSnDepFailed(String projectId, String branch, Long cnt,
Integer sinceBuildId) {
+ return getBuildsInState(projectId, branch, BuildRef.STATE_FINISHED,
cnt, sinceBuildId);
}
/** {@inheritDoc} */
@@ -607,14 +607,15 @@ public class IgniteTeamcityHelper implements ITeamcity {
}
private List<BuildRef> getBuildsInState(
- @Nullable final String projectId,
- @Nullable final String branch,
- @Nonnull final String state,
- @Nullable final Long cnt) {
+ @Nullable final String projectId,
+ @Nullable final String branch,
+ @Nonnull final String state,
+ @Nullable final Long cnt,
+ @Nullable final Integer sinceBuildId) {
List<BuildRef> finished = getBuildHistory(projectId,
UrlUtil.escape(branch),
false,
- state, cnt, null);
+ state, cnt, sinceBuildId);
return
finished.stream().filter(BuildRef::isNotCancelled).collect(Collectors.toList());
}
@@ -623,7 +624,7 @@ public class IgniteTeamcityHelper implements ITeamcity {
@Nullable final String branch,
@Nonnull final String state) {
- return getBuildsInState(projectId, branch, state, null);
+ return getBuildsInState(projectId, branch, state, null, null);
}
@Override
diff --git
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/util/HttpUtil.java
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/util/HttpUtil.java
index a703c12..ab0c698 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/util/HttpUtil.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/util/HttpUtil.java
@@ -36,6 +36,8 @@ import
org.apache.ignite.ci.web.rest.login.ServiceUnauthorizedException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import javax.ws.rs.BadRequestException;
+
/**
* Methods for sending HTTP requests
*/
@@ -158,12 +160,15 @@ public class HttpUtil {
if (resCode / 100 == 2)
return con.getInputStream();
+ if (resCode == 400)
+ throw new
BadRequestException(readIsToString(con.getErrorStream()));
+
if (resCode == 401)
throw new ServiceUnauthorizedException("Service " + con.getURL() +
" returned forbidden error.");
if (resCode == 404)
throw new FileNotFoundException("Service " + con.getURL() + "
returned not found error."
- + readIsToString(con.getErrorStream()));
+ + readIsToString(con.getErrorStream()));
throw new IllegalStateException("Invalid Response Code : " + resCode +
":\n"
+ readIsToString(con.getErrorStream()));
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 1a08ce6..2e4879d 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
@@ -22,7 +22,7 @@ package org.apache.ignite.ci.web.model;
public static final String DEFAULT_CONTACT = "[email protected]";
/** TC Helper Version. */
- public String version = "20180919";
+ public String version = "20180920";
/** Ignite version. */
public String ignVer;