Merge branch 'stable-2.11'
* stable-2.11: Move all GarbageCollection bindings into the same module Fix gc_log when running in a web container Change-Id: Ib4927d7fa1d1c8c3dd6bcf43359fc32b79abbb2c Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
This commit is contained in:
@@ -38,7 +38,6 @@ import com.google.gerrit.pgm.http.jetty.JettyEnv;
|
|||||||
import com.google.gerrit.pgm.http.jetty.JettyModule;
|
import com.google.gerrit.pgm.http.jetty.JettyModule;
|
||||||
import com.google.gerrit.pgm.http.jetty.ProjectQoSFilter;
|
import com.google.gerrit.pgm.http.jetty.ProjectQoSFilter;
|
||||||
import com.google.gerrit.pgm.util.ErrorLogFile;
|
import com.google.gerrit.pgm.util.ErrorLogFile;
|
||||||
import com.google.gerrit.pgm.util.GarbageCollectionLogFile;
|
|
||||||
import com.google.gerrit.pgm.util.LogFileCompressor;
|
import com.google.gerrit.pgm.util.LogFileCompressor;
|
||||||
import com.google.gerrit.pgm.util.RuntimeShutdown;
|
import com.google.gerrit.pgm.util.RuntimeShutdown;
|
||||||
import com.google.gerrit.pgm.util.SiteProgram;
|
import com.google.gerrit.pgm.util.SiteProgram;
|
||||||
@@ -55,7 +54,7 @@ import com.google.gerrit.server.config.MasterNodeStartup;
|
|||||||
import com.google.gerrit.server.config.RestCacheAdminModule;
|
import com.google.gerrit.server.config.RestCacheAdminModule;
|
||||||
import com.google.gerrit.server.contact.ContactStoreModule;
|
import com.google.gerrit.server.contact.ContactStoreModule;
|
||||||
import com.google.gerrit.server.contact.HttpContactStoreConnection;
|
import com.google.gerrit.server.contact.HttpContactStoreConnection;
|
||||||
import com.google.gerrit.server.git.GarbageCollectionRunner;
|
import com.google.gerrit.server.git.GarbageCollectionModule;
|
||||||
import com.google.gerrit.server.git.ReceiveCommitsExecutorModule;
|
import com.google.gerrit.server.git.ReceiveCommitsExecutorModule;
|
||||||
import com.google.gerrit.server.git.WorkQueue;
|
import com.google.gerrit.server.git.WorkQueue;
|
||||||
import com.google.gerrit.server.index.DummyIndexModule;
|
import com.google.gerrit.server.index.DummyIndexModule;
|
||||||
@@ -197,7 +196,6 @@ public class Daemon extends SiteProgram {
|
|||||||
throw die("No services enabled, nothing to do");
|
throw die("No services enabled, nothing to do");
|
||||||
}
|
}
|
||||||
|
|
||||||
manager.add(GarbageCollectionLogFile.start(getSitePath()));
|
|
||||||
if (!consoleLog) {
|
if (!consoleLog) {
|
||||||
manager.add(ErrorLogFile.start(getSitePath()));
|
manager.add(ErrorLogFile.start(getSitePath()));
|
||||||
}
|
}
|
||||||
@@ -371,7 +369,7 @@ public class Daemon extends SiteProgram {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
modules.add(GarbageCollectionRunner.module());
|
modules.add(new GarbageCollectionModule());
|
||||||
return cfgInjector.createChildInjector(modules);
|
return cfgInjector.createChildInjector(modules);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -72,7 +72,6 @@ import com.google.gerrit.server.change.MergeabilityCacheImpl;
|
|||||||
import com.google.gerrit.server.events.EventFactory;
|
import com.google.gerrit.server.events.EventFactory;
|
||||||
import com.google.gerrit.server.extensions.events.GitReferenceUpdated;
|
import com.google.gerrit.server.extensions.events.GitReferenceUpdated;
|
||||||
import com.google.gerrit.server.git.ChangeMergeQueue;
|
import com.google.gerrit.server.git.ChangeMergeQueue;
|
||||||
import com.google.gerrit.server.git.GarbageCollection;
|
|
||||||
import com.google.gerrit.server.git.GitModule;
|
import com.google.gerrit.server.git.GitModule;
|
||||||
import com.google.gerrit.server.git.MergeQueue;
|
import com.google.gerrit.server.git.MergeQueue;
|
||||||
import com.google.gerrit.server.git.MergeUtil;
|
import com.google.gerrit.server.git.MergeUtil;
|
||||||
@@ -200,7 +199,6 @@ public class GerritGlobalModule extends FactoryModule {
|
|||||||
factory(ProjectState.Factory.class);
|
factory(ProjectState.Factory.class);
|
||||||
factory(RegisterNewEmailSender.Factory.class);
|
factory(RegisterNewEmailSender.Factory.class);
|
||||||
factory(ReplacePatchSetSender.Factory.class);
|
factory(ReplacePatchSetSender.Factory.class);
|
||||||
factory(GarbageCollection.Factory.class);
|
|
||||||
bind(PermissionCollection.Factory.class);
|
bind(PermissionCollection.Factory.class);
|
||||||
bind(AccountVisibility.class)
|
bind(AccountVisibility.class)
|
||||||
.toProvider(AccountVisibilityProvider.class)
|
.toProvider(AccountVisibilityProvider.class)
|
||||||
|
|||||||
@@ -12,39 +12,38 @@
|
|||||||
// See the License for the specific language governing permissions and
|
// See the License for the specific language governing permissions and
|
||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
|
|
||||||
package com.google.gerrit.pgm.util;
|
package com.google.gerrit.server.git;
|
||||||
|
|
||||||
import com.google.gerrit.common.FileUtil;
|
import com.google.gerrit.common.FileUtil;
|
||||||
import com.google.gerrit.extensions.events.LifecycleListener;
|
import com.google.gerrit.extensions.events.LifecycleListener;
|
||||||
import com.google.gerrit.server.config.SitePaths;
|
import com.google.gerrit.server.config.SitePaths;
|
||||||
import com.google.gerrit.server.git.GarbageCollection;
|
|
||||||
import com.google.gerrit.server.util.SystemLog;
|
import com.google.gerrit.server.util.SystemLog;
|
||||||
|
import com.google.inject.Inject;
|
||||||
|
|
||||||
import org.apache.log4j.LogManager;
|
import org.apache.log4j.LogManager;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
import org.apache.log4j.PatternLayout;
|
import org.apache.log4j.PatternLayout;
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
|
|
||||||
public class GarbageCollectionLogFile {
|
public class GarbageCollectionLogFile implements LifecycleListener {
|
||||||
public static LifecycleListener start(Path sitePath) throws IOException {
|
|
||||||
Path logdir = FileUtil.mkdirsOrDie(new SitePaths(sitePath).logs_dir,
|
@Inject
|
||||||
|
public GarbageCollectionLogFile(SitePaths sitePaths) {
|
||||||
|
Path logdir = FileUtil.mkdirsOrDie(sitePaths.logs_dir,
|
||||||
"Cannot create log directory");
|
"Cannot create log directory");
|
||||||
if (SystemLog.shouldConfigure()) {
|
if (SystemLog.shouldConfigure()) {
|
||||||
initLogSystem(logdir);
|
initLogSystem(logdir);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return new LifecycleListener() {
|
@Override
|
||||||
@Override
|
public void start() {
|
||||||
public void start() {
|
}
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void stop() {
|
public void stop() {
|
||||||
LogManager.getLogger(GarbageCollection.LOG_NAME).removeAllAppenders();
|
LogManager.getLogger(GarbageCollection.LOG_NAME).removeAllAppenders();
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void initLogSystem(Path logdir) {
|
private static void initLogSystem(Path logdir) {
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
// Copyright (C) 2015 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.google.gerrit.server.git;
|
||||||
|
|
||||||
|
import com.google.gerrit.lifecycle.LifecycleModule;
|
||||||
|
|
||||||
|
public class GarbageCollectionModule extends LifecycleModule {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void configure() {
|
||||||
|
bind(GarbageCollectionLogFile.class).asEagerSingleton();
|
||||||
|
listener().to(GarbageCollectionLogFile.class);
|
||||||
|
|
||||||
|
bind(GarbageCollectionQueue.class);
|
||||||
|
factory(GarbageCollection.Factory.class);
|
||||||
|
listener().to(GarbageCollectionRunner.Lifecycle.class);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -18,12 +18,10 @@ import static com.google.gerrit.server.config.ScheduleConfig.MISSING_CONFIG;
|
|||||||
|
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import com.google.gerrit.extensions.events.LifecycleListener;
|
import com.google.gerrit.extensions.events.LifecycleListener;
|
||||||
import com.google.gerrit.lifecycle.LifecycleModule;
|
|
||||||
import com.google.gerrit.server.config.GcConfig;
|
import com.google.gerrit.server.config.GcConfig;
|
||||||
import com.google.gerrit.server.config.ScheduleConfig;
|
import com.google.gerrit.server.config.ScheduleConfig;
|
||||||
import com.google.gerrit.server.project.ProjectCache;
|
import com.google.gerrit.server.project.ProjectCache;
|
||||||
import com.google.inject.Inject;
|
import com.google.inject.Inject;
|
||||||
import com.google.inject.Module;
|
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
@@ -35,16 +33,6 @@ public class GarbageCollectionRunner implements Runnable {
|
|||||||
private static final Logger gcLog = LoggerFactory
|
private static final Logger gcLog = LoggerFactory
|
||||||
.getLogger(GarbageCollection.LOG_NAME);
|
.getLogger(GarbageCollection.LOG_NAME);
|
||||||
|
|
||||||
public static Module module() {
|
|
||||||
return new LifecycleModule() {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void configure() {
|
|
||||||
listener().to(Lifecycle.class);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
static class Lifecycle implements LifecycleListener {
|
static class Lifecycle implements LifecycleListener {
|
||||||
private final WorkQueue queue;
|
private final WorkQueue queue;
|
||||||
private final GarbageCollectionRunner gcRunner;
|
private final GarbageCollectionRunner gcRunner;
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ import com.google.gerrit.server.config.SitePath;
|
|||||||
import com.google.gerrit.server.config.TrackingFooters;
|
import com.google.gerrit.server.config.TrackingFooters;
|
||||||
import com.google.gerrit.server.config.TrackingFootersProvider;
|
import com.google.gerrit.server.config.TrackingFootersProvider;
|
||||||
import com.google.gerrit.server.git.EmailReviewCommentsExecutor;
|
import com.google.gerrit.server.git.EmailReviewCommentsExecutor;
|
||||||
|
import com.google.gerrit.server.git.GarbageCollection;
|
||||||
import com.google.gerrit.server.git.GitRepositoryManager;
|
import com.google.gerrit.server.git.GitRepositoryManager;
|
||||||
import com.google.gerrit.server.git.PerThreadRequestScope;
|
import com.google.gerrit.server.git.PerThreadRequestScope;
|
||||||
import com.google.gerrit.server.git.WorkQueue;
|
import com.google.gerrit.server.git.WorkQueue;
|
||||||
@@ -127,6 +128,7 @@ public class InMemoryModule extends FactoryModule {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
install(cfgInjector.getInstance(GerritGlobalModule.class));
|
install(cfgInjector.getInstance(GerritGlobalModule.class));
|
||||||
|
factory(GarbageCollection.Factory.class);
|
||||||
|
|
||||||
bindScope(RequestScoped.class, PerThreadRequestScope.REQUEST);
|
bindScope(RequestScoped.class, PerThreadRequestScope.REQUEST);
|
||||||
|
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ import com.google.gerrit.server.config.RestCacheAdminModule;
|
|||||||
import com.google.gerrit.server.config.SitePath;
|
import com.google.gerrit.server.config.SitePath;
|
||||||
import com.google.gerrit.server.contact.ContactStoreModule;
|
import com.google.gerrit.server.contact.ContactStoreModule;
|
||||||
import com.google.gerrit.server.contact.HttpContactStoreConnection;
|
import com.google.gerrit.server.contact.HttpContactStoreConnection;
|
||||||
import com.google.gerrit.server.git.GarbageCollectionRunner;
|
import com.google.gerrit.server.git.GarbageCollectionModule;
|
||||||
import com.google.gerrit.server.git.LocalDiskRepositoryManager;
|
import com.google.gerrit.server.git.LocalDiskRepositoryManager;
|
||||||
import com.google.gerrit.server.git.ReceiveCommitsExecutorModule;
|
import com.google.gerrit.server.git.ReceiveCommitsExecutorModule;
|
||||||
import com.google.gerrit.server.git.WorkQueue;
|
import com.google.gerrit.server.git.WorkQueue;
|
||||||
@@ -320,7 +320,7 @@ public class WebAppInitializer extends GuiceServletContextListener
|
|||||||
bind(GerritOptions.class).toInstance(new GerritOptions(false, false));
|
bind(GerritOptions.class).toInstance(new GerritOptions(false, false));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
modules.add(GarbageCollectionRunner.module());
|
modules.add(new GarbageCollectionModule());
|
||||||
return cfgInjector.createChildInjector(modules);
|
return cfgInjector.createChildInjector(modules);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user