Move NoteDbSchemaVersionManager to c.g.g.server.schema package

Currently, NoteDbSchemaVersionManager class cannot access
NoteDbSchemaVersions.LATEST constant, and instead a hard coded value is
used. This approach is very error prone as recent schema migration 181
has shown. As mentioned in TODO comment, this class can now be easily
moved to c.g.g.server.schema package, and hard coded value can be
replaced with NoteDbSchemaVersions.LATEST constant.

Change-Id: I301c4f2c93bb0cf384574d358e110f770102ed4f
This commit is contained in:
David Ostrovsky
2018-12-13 22:27:05 +01:00
parent c9b1ece4bf
commit 3ae4ff2e4d
6 changed files with 4 additions and 13 deletions

View File

@@ -47,7 +47,6 @@ import com.google.gerrit.server.extensions.events.GitReferenceUpdated;
import com.google.gerrit.server.git.GitRepositoryManager;
import com.google.gerrit.server.git.meta.MetaDataUpdate;
import com.google.gerrit.server.group.SystemGroupBackend;
import com.google.gerrit.server.notedb.NoteDbSchemaVersionManager;
import com.google.gerrit.server.notedb.RepoSequence;
import com.google.gerrit.server.project.ProjectConfig;
import com.google.gwtorm.server.OrmException;

View File

@@ -25,7 +25,6 @@ import com.google.gerrit.server.Sequences;
import com.google.gerrit.server.config.AllUsersName;
import com.google.gerrit.server.config.GerritServerConfig;
import com.google.gerrit.server.git.GitRepositoryManager;
import com.google.gerrit.server.notedb.NoteDbSchemaVersionManager;
import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject;
import java.io.IOException;

View File

@@ -17,7 +17,6 @@ package com.google.gerrit.server.schema;
import com.google.gerrit.extensions.events.LifecycleListener;
import com.google.gerrit.lifecycle.LifecycleModule;
import com.google.gerrit.server.config.SitePaths;
import com.google.gerrit.server.notedb.NoteDbSchemaVersionManager;
import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject;
import com.google.inject.Module;

View File

@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
package com.google.gerrit.server.notedb;
package com.google.gerrit.server.schema;
import static com.google.gerrit.reviewdb.client.RefNames.REFS_VERSION;
@@ -20,6 +20,7 @@ import com.google.common.annotations.VisibleForTesting;
import com.google.gerrit.server.config.AllProjectsName;
import com.google.gerrit.server.extensions.events.GitReferenceUpdated;
import com.google.gerrit.server.git.GitRepositoryManager;
import com.google.gerrit.server.notedb.IntBlob;
import com.google.gwtorm.server.OrmException;
import java.io.IOException;
import java.util.Optional;
@@ -67,13 +68,7 @@ public class NoteDbSchemaVersionManager {
allProjectsName,
REFS_VERSION,
old.map(IntBlob::id).orElse(ObjectId.zeroId()),
// TODO(dborowitz): Find some way to not hard-code this constant here. We can't depend on
// NoteDbSchemaVersions from this package, because the schema java_library depends on the
// server java_library, so that would add a circular dependency. But *this* class must
// live in the server library, because it's used by things like NoteDbMigrator. One
// option: once NoteDbMigrator goes away, this class could move back to the schema
// subpackage.
180,
NoteDbSchemaVersions.LATEST,
GitReferenceUpdated.DISABLED);
}
}

View File

@@ -29,7 +29,6 @@ import com.google.gerrit.server.config.AllUsersName;
import com.google.gerrit.server.extensions.events.GitReferenceUpdated;
import com.google.gerrit.server.git.GitRepositoryManager;
import com.google.gerrit.server.notedb.IntBlob;
import com.google.gerrit.server.notedb.NoteDbSchemaVersionManager;
import com.google.gerrit.server.notedb.RepoSequence;
import com.google.gerrit.testing.GerritBaseTests;
import com.google.gerrit.testing.InMemoryRepositoryManager;

View File

@@ -1,4 +1,4 @@
package com.google.gerrit.server.notedb;
package com.google.gerrit.server.schema;
import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.Truth.assert_;