Remove Fetch And PushCounter Events
The Fetch and PushCounter never worked correctly and they where wrongly
located in the Quota plugin. Remove that unused functionality.
Change-Id: I8d7d87286cde005c085ca97d3733df041fdc0ab3
diff --git a/src/main/java/com/googlesource/gerrit/plugins/quota/FetchAndPushEventCreator.java b/src/main/java/com/googlesource/gerrit/plugins/quota/FetchAndPushEventCreator.java
deleted file mode 100644
index fd41c4b..0000000
--- a/src/main/java/com/googlesource/gerrit/plugins/quota/FetchAndPushEventCreator.java
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright (C) 2014 The Android Open Source Project
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package com.googlesource.gerrit.plugins.quota;
-
-import com.google.gerrit.extensions.events.UsageDataPublishedListener.Event;
-import com.google.gerrit.extensions.events.UsageDataPublishedListener.MetaData;
-import com.google.gerrit.reviewdb.client.Project;
-import com.google.gerrit.server.project.ProjectCache;
-import com.google.inject.Singleton;
-
-@Singleton
-public class FetchAndPushEventCreator implements UsageDataEventCreator {
-
- static final MetaData PUSH_COUNT = new MetaDataImpl("pushCount", "", "",
- "number of pushes to the repository since the last event");
-
- static final MetaData FETCH_COUNT = new MetaDataImpl("fetchCount", "", "",
- "number of fetches from the repository since the last event");
-
- private final ProjectCache projectCache;
- private final PersistentCounter counts;
- private final MetaData metaData;
-
- public FetchAndPushEventCreator(ProjectCache projectCache, PersistentCounter counts,
- MetaData metaData) {
- this.projectCache = projectCache;
- this.counts = counts;
- this.metaData = metaData;
- }
-
- @Override
- public String getName() {
- return metaData.getName();
- }
-
- @Override
- public Event create() {
- UsageDataEvent event = new UsageDataEvent(metaData);
- for (Project.NameKey p : projectCache.all()) {
- long currentCount = counts.getAndReset(p);
- if (currentCount != 0) {
- event.addData(currentCount, p.get());
- }
- }
- return event;
- }
-
-}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/quota/FetchAndPushListener.java b/src/main/java/com/googlesource/gerrit/plugins/quota/FetchAndPushListener.java
deleted file mode 100644
index 8ac2f9b..0000000
--- a/src/main/java/com/googlesource/gerrit/plugins/quota/FetchAndPushListener.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package com.googlesource.gerrit.plugins.quota;
-
-import com.google.gerrit.reviewdb.client.Project;
-import com.google.inject.Inject;
-import com.google.inject.name.Named;
-
-import org.eclipse.jgit.lib.ObjectId;
-import org.eclipse.jgit.transport.PostReceiveHook;
-import org.eclipse.jgit.transport.PreUploadHook;
-import org.eclipse.jgit.transport.ReceiveCommand;
-import org.eclipse.jgit.transport.ReceivePack;
-import org.eclipse.jgit.transport.ServiceMayNotContinueException;
-import org.eclipse.jgit.transport.UploadPack;
-
-import java.util.Collection;
-
-public class FetchAndPushListener implements PostReceiveHook, PreUploadHook {
-
- private final ProjectNameResolver projectNameResolver;
- private final PersistentCounter fetchCounts;
- private final PersistentCounter pushCounts;
-
- @Inject
- public FetchAndPushListener(@Named(PersistentCounter.FETCH) PersistentCounter fetchCounts,
- @Named(PersistentCounter.PUSH) PersistentCounter pushCounts,
- ProjectNameResolver projectNameResolver) {
- this.fetchCounts = fetchCounts;
- this.pushCounts = pushCounts;
- this.projectNameResolver = projectNameResolver;
- }
-
- @Override
- public void onBeginNegotiateRound(UploadPack up,
- Collection<? extends ObjectId> wants, int cntOffered)
- throws ServiceMayNotContinueException {
- }
-
- @Override
- public void onEndNegotiateRound(UploadPack up,
- Collection<? extends ObjectId> wants, int cntCommon, int cntNotFound,
- boolean ready) throws ServiceMayNotContinueException {
- }
-
- @Override
- public void onSendPack(UploadPack up, Collection<? extends ObjectId> wants,
- Collection<? extends ObjectId> haves)
- throws ServiceMayNotContinueException {
- Project.NameKey project =
- projectNameResolver.projectName(up.getRepository());
- fetchCounts.increment(project);
- }
-
- @Override
- public void onPostReceive(ReceivePack rp, Collection<ReceiveCommand> commands) {
- Project.NameKey project =
- projectNameResolver.projectName(rp.getRepository());
- pushCounts.increment(project);
- }
-
-}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/quota/Module.java b/src/main/java/com/googlesource/gerrit/plugins/quota/Module.java
index 1b0867a..df4c996 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/quota/Module.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/quota/Module.java
@@ -26,7 +26,6 @@
import com.google.inject.internal.UniqueAnnotations;
import org.eclipse.jgit.transport.PostReceiveHook;
-import org.eclipse.jgit.transport.PreUploadHook;
class Module extends AbstractModule {
@@ -38,10 +37,6 @@
.to(MaxRepositorySizeQuota.class);
DynamicSet.bind(binder(), PostReceiveHook.class)
.to(MaxRepositorySizeQuota.class);
- DynamicSet.bind(binder(), PostReceiveHook.class)
- .to(FetchAndPushListener.class);
- DynamicSet.bind(binder(), PreUploadHook.class)
- .to(FetchAndPushListener.class);
DynamicSet.setOf(binder(), UsageDataEventCreator.class);
install(MaxRepositorySizeQuota.module());
install(PersistentCounter.module());
diff --git a/src/main/java/com/googlesource/gerrit/plugins/quota/PersistentCounter.java b/src/main/java/com/googlesource/gerrit/plugins/quota/PersistentCounter.java
index b3c22df..bf665cc 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/quota/PersistentCounter.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/quota/PersistentCounter.java
@@ -5,64 +5,17 @@
import com.google.gerrit.extensions.registration.DynamicSet;
import com.google.gerrit.reviewdb.client.Project;
import com.google.gerrit.server.cache.CacheModule;
-import com.google.gerrit.server.project.ProjectCache;
-import com.google.inject.Key;
import com.google.inject.Module;
-import com.google.inject.Provides;
import com.google.inject.Singleton;
-import com.google.inject.TypeLiteral;
-import com.google.inject.name.Named;
-import com.google.inject.name.Names;
-import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicLong;
class PersistentCounter {
- public static final String FETCH = "FETCH_COUNTS";
- public static final String PUSH = "PUSH_COUNTS";
-
static Module module() {
return new CacheModule() {
protected void configure() {
- persist(FETCH, Project.NameKey.class, AtomicLong.class).loader(
- Loader.class).expireAfterWrite(Integer.MAX_VALUE, TimeUnit.DAYS);
- persist(PUSH, Project.NameKey.class, AtomicLong.class).loader(
- Loader.class).expireAfterWrite(Integer.MAX_VALUE, TimeUnit.DAYS);
- DynamicSet.bind(binder(), UsageDataEventCreator.class).to(creatorKey(FETCH));
- DynamicSet.bind(binder(), UsageDataEventCreator.class).to(creatorKey(PUSH));
DynamicSet.bind(binder(), UsageDataEventCreator.class).to(RepoSizeEventCreator.class);
}
-
- private Key<UsageDataEventCreator> creatorKey(String kind) {
- Key<UsageDataEventCreator> pushCreatorKey =
- Key.get(new TypeLiteral<UsageDataEventCreator>() {},
- Names.named(kind));
- return pushCreatorKey;
- }
-
- @Provides @Singleton @Named(FETCH)
- PersistentCounter provideFetchCounter(
- @Named(FETCH) LoadingCache<Project.NameKey, AtomicLong> counts) {
- return new PersistentCounter(counts);
- }
-
- @Provides @Singleton @Named(PUSH)
- PersistentCounter providePushCounter(
- @Named(PUSH) LoadingCache<Project.NameKey, AtomicLong> counts) {
- return new PersistentCounter(counts);
- }
-
- @Provides @Singleton @Named(FETCH)
- UsageDataEventCreator provideFetchEventCreator(ProjectCache projectCache,
- @Named(FETCH) PersistentCounter counts) {
- return new FetchAndPushEventCreator(projectCache, counts, FetchAndPushEventCreator.FETCH_COUNT);
- }
-
- @Provides @Singleton @Named(PUSH)
- UsageDataEventCreator providePushEventCreator(ProjectCache projectCache,
- @Named(PUSH) PersistentCounter counts) {
- return new FetchAndPushEventCreator(projectCache, counts, FetchAndPushEventCreator.PUSH_COUNT);
- }
};
}
diff --git a/src/main/resources/Documentation/about.md b/src/main/resources/Documentation/about.md
index 05641d9..5091958 100644
--- a/src/main/resources/Documentation/about.md
+++ b/src/main/resources/Documentation/about.md
@@ -9,5 +9,5 @@
* Maximum number of projects in a namespace
* The maximum total file size of a repository in a namespace
-The measured repository sizes and the number of fetches and pushes
-can be published periodically to registered UsageDataPublishedListeners.
+The measured repository sizes can be published periodically to registered
+UsageDataPublishedListeners.
diff --git a/src/test/java/com/googlesource/gerrit/plugins/quota/PublisherExceptionTest.java b/src/test/java/com/googlesource/gerrit/plugins/quota/PublisherExceptionTest.java
index dbe03f8..f79079f 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/quota/PublisherExceptionTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/quota/PublisherExceptionTest.java
@@ -86,7 +86,7 @@
expect(creator.create()).andStubThrow(ex);
UsageDataEventCreator good = createMock(UsageDataEventCreator.class);
- Event data = new UsageDataEvent(FetchAndPushEventCreator.FETCH_COUNT);
+ Event data = new UsageDataEvent(null);
expect(good.create()).andStubReturn(data);
creators.add(good);
@@ -103,7 +103,7 @@
@Test
public void testExceptionInListenerIsLogged() {
RuntimeException ex = new RuntimeException();
- Event data = new UsageDataEvent(FetchAndPushEventCreator.FETCH_COUNT);
+ Event data = new UsageDataEvent(null);
expect(creator.create()).andStubReturn(data);
listener.onUsageDataPublished(data);
@@ -123,7 +123,7 @@
@Test
public void testIsPropagatedToGoodListener() {
RuntimeException ex = new RuntimeException();
- Event data = new UsageDataEvent(FetchAndPushEventCreator.FETCH_COUNT);
+ Event data = new UsageDataEvent(null);
expect(creator.create()).andStubReturn(data);
listener.onUsageDataPublished(data);
diff --git a/src/test/java/com/googlesource/gerrit/plugins/quota/PublisherTest.java b/src/test/java/com/googlesource/gerrit/plugins/quota/PublisherTest.java
index 077b056..fd41489 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/quota/PublisherTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/quota/PublisherTest.java
@@ -30,11 +30,11 @@
@Test
public void testAllEventsPropagatedToListener() throws Exception {
- Event e1 = new UsageDataEvent(FetchAndPushEventCreator.FETCH_COUNT);
+ Event e1 = new UsageDataEvent(null);
UsageDataEventCreator c1 = createMock(UsageDataEventCreator.class);
expect(c1.create()).andStubReturn(e1);
- Event e2 = new UsageDataEvent(FetchAndPushEventCreator.PUSH_COUNT);
+ Event e2 = new UsageDataEvent(null);
UsageDataEventCreator c2 = createMock(UsageDataEventCreator.class);
expect(c2.create()).andStubReturn(e2);
@@ -61,7 +61,7 @@
@Test
public void testEventPropagatedToAllListeners() throws Exception {
- Event event = new UsageDataEvent(FetchAndPushEventCreator.FETCH_COUNT);
+ Event event = new UsageDataEvent(null);
UsageDataEventCreator creator = createMock(UsageDataEventCreator.class);
expect(creator.create()).andStubReturn(event);
DynamicSet<UsageDataEventCreator> creators = DynamicSet.emptySet();