Merge tag 'v2.4.1'

gerrit 2.4.1

* tag 'v2.4.1':
  Gerrit 2.4.1 ReleaseNotes
  Make logging events discardable, prevent NPE in AsyncAppender thread.
  Display proper error if file diff fails because content is too large
  Make async logging buffer size configurable.
  Make sure the "Object too large..." error is printed to the client

Conflicts:
	gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/patch/PatchScriptFactory.java

Change-Id: Ifd6b7ba9d3b099576fab97d7d739beef7949d045
Signed-off-by: Sasa Zivkov <sasa.zivkov@sap.com>
This commit is contained in:
Sasa Zivkov
2012-06-18 09:30:31 +02:00
9 changed files with 125 additions and 9 deletions

View File

@@ -30,6 +30,7 @@ import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.RequestLog;
import org.eclipse.jetty.server.Response;
import org.eclipse.jetty.util.component.AbstractLifeCycle;
import org.eclipse.jgit.lib.Config;
import java.io.File;
import java.io.IOException;
@@ -54,7 +55,7 @@ class HttpLog extends AbstractLifeCycle implements RequestLog {
private final AsyncAppender async;
HttpLog(final SitePaths site) {
HttpLog(final SitePaths site, final Config config) {
final DailyRollingFileAppender dst = new DailyRollingFileAppender();
dst.setName(LOG_NAME);
dst.setLayout(new MyLayout());
@@ -69,7 +70,7 @@ class HttpLog extends AbstractLifeCycle implements RequestLog {
async = new AsyncAppender();
async.setBlocking(true);
async.setBufferSize(64);
async.setBufferSize(config.getInt("core", "asyncLoggingBufferSize", 64));
async.setLocationInfo(false);
async.addAppender(dst);
async.activateOptions();
@@ -93,7 +94,7 @@ class HttpLog extends AbstractLifeCycle implements RequestLog {
private void doLog(Request req, Response rsp, CurrentUser user) {
final LoggingEvent event = new LoggingEvent( //
Logger.class.getName(), // fqnOfCategoryClass
null, // logger (optional)
log, // logger
System.currentTimeMillis(), // when
Level.INFO, // level
"", // message text

View File

@@ -117,7 +117,7 @@ public class JettyServer {
Handler app = makeContext(env, cfg);
if (cfg.getBoolean("httpd", "requestlog", !reverseProxy)) {
RequestLogHandler handler = new RequestLogHandler();
handler.setRequestLog(new HttpLog(site));
handler.setRequestLog(new HttpLog(site, cfg));
handler.setHandler(app);
app = handler;
}