From f47108a86b7828917b0917e8e0a853544bdf4dbf Mon Sep 17 00:00:00 2001 From: David Pursehouse Date: Fri, 1 Nov 2019 15:13:37 +0900 Subject: [PATCH 1/6] PutDescription: Access MetaDataUpdate.Factory via Provider If the update factory is not accessed via a provider, the same instance gets reused, and this results in the commit message for the update always having the same timestamp which is the time of the server startup. Change-Id: I2517c8be4c6fe5594850cb787095809203a1874e --- .../com/google/gerrit/server/project/PutDescription.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/PutDescription.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/PutDescription.java index 5c1d41b41f..27bf042a1c 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/PutDescription.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/PutDescription.java @@ -27,6 +27,7 @@ import com.google.gerrit.server.IdentifiedUser; import com.google.gerrit.server.git.MetaDataUpdate; import com.google.gerrit.server.git.ProjectConfig; import com.google.inject.Inject; +import com.google.inject.Provider; import com.google.inject.Singleton; import java.io.IOException; import org.eclipse.jgit.errors.ConfigInvalidException; @@ -35,10 +36,10 @@ import org.eclipse.jgit.errors.RepositoryNotFoundException; @Singleton public class PutDescription implements RestModifyView { private final ProjectCache cache; - private final MetaDataUpdate.Server updateFactory; + private final Provider updateFactory; @Inject - PutDescription(ProjectCache cache, MetaDataUpdate.Server updateFactory) { + PutDescription(ProjectCache cache, Provider updateFactory) { this.cache = cache; this.updateFactory = updateFactory; } @@ -56,7 +57,7 @@ public class PutDescription implements RestModifyView Date: Fri, 1 Nov 2019 15:23:12 +0900 Subject: [PATCH 2/6] SetParent: Access MetaDataUpdate.Factory via Provider If the update factory is not accessed via a provider, the same instance gets reused, and this results in the commit message for the update always having the same timestamp which is the time of the server startup. Change-Id: I872eadf240209dad2d70761f03d3b3a494e0f330 --- .../java/com/google/gerrit/server/project/SetParent.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/SetParent.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/SetParent.java index 37cfcdd33b..56fc1aea18 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/SetParent.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/SetParent.java @@ -35,6 +35,7 @@ import com.google.gerrit.server.permissions.PermissionBackend; import com.google.gerrit.server.permissions.PermissionBackendException; import com.google.gerrit.server.project.SetParent.Input; import com.google.inject.Inject; +import com.google.inject.Provider; import com.google.inject.Singleton; import java.io.IOException; import org.eclipse.jgit.errors.ConfigInvalidException; @@ -49,14 +50,14 @@ public class SetParent implements RestModifyView { private final ProjectCache cache; private final PermissionBackend permissionBackend; - private final MetaDataUpdate.Server updateFactory; + private final Provider updateFactory; private final AllProjectsName allProjects; @Inject SetParent( ProjectCache cache, PermissionBackend permissionBackend, - MetaDataUpdate.Server updateFactory, + Provider updateFactory, AllProjectsName allProjects) { this.cache = cache; this.permissionBackend = permissionBackend; @@ -78,7 +79,7 @@ public class SetParent implements RestModifyView { String parentName = MoreObjects.firstNonNull(Strings.emptyToNull(input.parent), allProjects.get()); validateParentUpdate(rsrc.getProjectState().getNameKey(), user, parentName, checkIfAdmin); - try (MetaDataUpdate md = updateFactory.create(rsrc.getNameKey())) { + try (MetaDataUpdate md = updateFactory.get().create(rsrc.getNameKey())) { ProjectConfig config = ProjectConfig.read(md); Project project = config.getProject(); project.setParentName(parentName); From 7d433c504dc6d7e498e50d93ed1b5686f3e0e951 Mon Sep 17 00:00:00 2001 From: David Pursehouse Date: Fri, 1 Nov 2019 14:22:07 +0900 Subject: [PATCH 3/6] ElasticContainer: Use 6.8.4 image for V6_8 tests 6.8.4 is the latest release on the 6.8 series. Change-Id: I04b76e76b4841904f1db16773b5ea6a9793b48ac --- .../java/com/google/gerrit/elasticsearch/ElasticContainer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticContainer.java b/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticContainer.java index 67113888d0..4e7256db91 100644 --- a/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticContainer.java +++ b/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticContainer.java @@ -51,7 +51,7 @@ public class ElasticContainer extends ElasticsearchContainer { case V6_7: return "blacktop/elasticsearch:6.7.2"; case V6_8: - return "blacktop/elasticsearch:6.8.2"; + return "blacktop/elasticsearch:6.8.4"; case V7_0: return "blacktop/elasticsearch:7.0.1"; case V7_1: From 1b8e602f6fcf0f7a07024af6d84962832c2b70b8 Mon Sep 17 00:00:00 2001 From: David Pursehouse Date: Fri, 1 Nov 2019 15:37:57 +0900 Subject: [PATCH 4/6] GetAccess: Access MetaDataUpdate.Factory via Provider If the update factory is not accessed via a provider, the same instance gets reused, and this results in the commit message for the update always having the same timestamp which is the time of the server startup. Change-Id: If657e503eb5a6fb0103dd2ac12f8a36ebfa5ee49 --- .../java/com/google/gerrit/server/project/GetAccess.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/GetAccess.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/GetAccess.java index 9fbb3551db..e8252b46ac 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/GetAccess.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/GetAccess.java @@ -90,7 +90,7 @@ public class GetAccess implements RestReadView { private final AllProjectsName allProjectsName; private final ProjectJson projectJson; private final ProjectCache projectCache; - private final MetaDataUpdate.Server metaDataUpdateFactory; + private final Provider metaDataUpdateFactory; private final ProjectControl.GenericFactory projectControlFactory; private final GroupBackend groupBackend; private final GroupJson groupJson; @@ -102,7 +102,7 @@ public class GetAccess implements RestReadView { GroupControl.Factory groupControlFactory, AllProjectsName allProjectsName, ProjectCache projectCache, - MetaDataUpdate.Server metaDataUpdateFactory, + Provider metaDataUpdateFactory, ProjectJson projectJson, ProjectControl.GenericFactory projectControlFactory, GroupBackend groupBackend, @@ -143,7 +143,7 @@ public class GetAccess implements RestReadView { PermissionBackend.ForProject perm = permissionBackend.user(user).project(projectName); ProjectConfig config; - try (MetaDataUpdate md = metaDataUpdateFactory.create(projectName)) { + try (MetaDataUpdate md = metaDataUpdateFactory.get().create(projectName)) { config = ProjectConfig.read(md); if (config.updateGroupNames(groupBackend)) { From e212914cd5ad4fc49e96f6005eab9792e0bd23cb Mon Sep 17 00:00:00 2001 From: David Pursehouse Date: Fri, 1 Nov 2019 14:17:10 +0900 Subject: [PATCH 5/6] Update elasticsearch-rest-client to 7.4.2 Also use this version for the test image. Change-Id: Id9fed03f8251861017f26791d5c59e0b7fa6af5a --- WORKSPACE | 4 ++-- .../com/google/gerrit/elasticsearch/ElasticContainer.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 800276edb8..5741e8e8f6 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -918,8 +918,8 @@ maven_jar( # and httpasyncclient as necessary. maven_jar( name = "elasticsearch-rest-client", - artifact = "org.elasticsearch.client:elasticsearch-rest-client:7.4.1", - sha1 = "b4e00ab47019103d69b6c9dcfdcbd3bfda00f86e", + artifact = "org.elasticsearch.client:elasticsearch-rest-client:7.4.2", + sha1 = "f48725523c0b3402f869214433602f8d3f4c737c", ) maven_jar( diff --git a/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticContainer.java b/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticContainer.java index 4e7256db91..b0d3b57b2f 100644 --- a/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticContainer.java +++ b/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticContainer.java @@ -61,7 +61,7 @@ public class ElasticContainer extends ElasticsearchContainer { case V7_3: return "blacktop/elasticsearch:7.3.2"; case V7_4: - return "blacktop/elasticsearch:7.4.1"; + return "blacktop/elasticsearch:7.4.2"; } throw new IllegalStateException("No tests for version: " + version.name()); } From 0b7e99815be4ee624dcf64068421c3cf8dbc5301 Mon Sep 17 00:00:00 2001 From: Marco Miller Date: Fri, 1 Nov 2019 13:29:08 -0400 Subject: [PATCH 6/6] Documentation: Fix word typo in Eclipse Setup page Change-Id: Id1de987117cec33fa5c1f870a2cd50c1a9d71a2b --- Documentation/dev-eclipse.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/dev-eclipse.txt b/Documentation/dev-eclipse.txt index e5c1e368a3..daabbf3c57 100644 --- a/Documentation/dev-eclipse.txt +++ b/Documentation/dev-eclipse.txt @@ -55,7 +55,7 @@ Java 9 and later are supported, but some adjustments must be done, because Java 8 is still the default: * Add JRE, e.g.: directory: /usr/lib64/jvm/java-9-openjdk, name: java-9-openjdk-9 -* Change execution environemnt for gerrit project to: JavaSE-9 (java-9-openjdk-9) +* Change execution environment for gerrit project to: JavaSE-9 (java-9-openjdk-9) * Check that compiler compliance level in gerrit project is set to: 9 * Add this parameter to VM argument for gerrit_daemin launcher: ----