RETIRED, Gerrit as used by OpenStack
Go to file
Shawn Pearce ed001d7f69 Limit number of reductions made by Prolog
Allow site administrators to place an upper bound on how much CPU
time will be spent evaluating rules for a single change. This covers
not just the project rules, but also all filters up to All-Projects.

Reduction counting and not wall-clock time is used to be fair to
rules that are running on a temporarily overloaded system. It also
permits builtin predicates that are expensive like commit_edits/2
to count only once per result made to Prolog, and not charge time
waiting for JGit to populate the PatchListCache.

The default is configured to be 100,000 reductions. This value was
experimentally determined on a Intel Core i7 running at 2.3 GHz and
Java 1.6.0_37. On that system reaching the limit of reductions and
aborting an infinite loop in a user predicate takes about 14 ms.

Any rules taking 14 ms to run will add ~350 ms to the latency of the
All > Open changes screen. Because of this, Administrators already
have sufficient incentives to keep rule running time low.

Change-Id: I2cd5660fc556e6aeeb61606a850ce45c98157c96
2014-12-18 04:35:28 +00:00
.settings Support AutoValue 2014-11-08 08:31:08 -08:00
bucklets Rename __standalone_mode__ to STANDALONE_MODE 2014-11-24 08:44:12 +00:00
contrib contrib: Add a simple tool for pushing to named reviewers 2014-11-06 14:42:37 -08:00
Documentation Limit number of reductions made by Prolog 2014-12-18 04:35:28 +00:00
gerrit-acceptance-tests Use dedicated endpoint for commit message retrieval for revisions 2014-12-17 17:07:36 +09:00
gerrit-antlr Support change~branch~id in query syntax 2014-12-10 09:55:08 -08:00
gerrit-cache-h2 Honor expireAfterWrite in the H2CacheImpl 2014-12-03 16:25:05 +09:00
gerrit-common OpenID: Add support for Launchpad on the login form 2014-12-12 21:22:55 +01:00
gerrit-extension-api Factor out DiffInfo classes to extensions package 2014-12-16 13:54:49 +00:00
gerrit-gwtdebug Update GWT to 2.7 2014-12-04 11:23:01 +09:00
gerrit-gwtexpui Turn on many more Eclipse warnings, and fix them 2014-10-29 15:00:17 -07:00
gerrit-gwtui Fix trailing space in Actions.ui.xml 2014-12-17 10:32:44 -08:00
gerrit-gwtui-common Add icons to switch between side-by-side and unified diff view 2014-12-12 12:43:53 +01:00
gerrit-httpd Merge branch 'stable-2.10' 2014-12-10 12:49:26 +09:00
gerrit-launcher Apply "type inference for generic instance creation" Java 7 feature 2014-04-26 15:27:57 +02:00
gerrit-lucene Update Lucene to version 4.10.2 2014-11-18 09:15:07 +09:00
gerrit-main Build Main for Java 1.2 2013-11-30 01:53:00 -08:00
gerrit-openid OpenID: Add support for Launchpad on the login form 2014-12-12 21:22:55 +01:00
gerrit-patch-commonsnet Replace 'for' loop with 'foreach' 2013-12-04 01:02:53 +04:00
gerrit-patch-jgit Turn on many more Eclipse warnings, and fix them 2014-10-29 15:00:17 -07:00
gerrit-pgm Merge "Allow to pass run options to daemon with gerrit.sh" 2014-12-11 15:30:24 +00:00
gerrit-plugin-api Set version to 2.9.3 2014-12-08 09:48:09 +09:00
gerrit-plugin-archetype Set version to 2.9.3 2014-12-08 09:48:09 +09:00
gerrit-plugin-gwt-archetype Set version to 2.9.3 2014-12-08 09:48:09 +09:00
gerrit-plugin-gwtui Set version to 2.9.3 2014-12-08 09:48:09 +09:00
gerrit-plugin-js-archetype Set version to 2.9.3 2014-12-08 09:48:09 +09:00
gerrit-prettify Turn on many more Eclipse warnings, and fix them 2014-10-29 15:00:17 -07:00
gerrit-reviewdb Replace ChangeJson.ChangeInfo with extensions.common.ChangeInfo 2014-11-27 10:23:30 +00:00
gerrit-server Limit number of reductions made by Prolog 2014-12-18 04:35:28 +00:00
gerrit-solr Simplify ChangeIndex by removing delete(ChangeData) 2014-11-12 10:35:02 -08:00
gerrit-sshd Merge branch 'stable-2.10' 2014-12-10 12:49:26 +09:00
gerrit-util-cli Turn on many more Eclipse warnings, and fix them 2014-10-29 15:00:17 -07:00
gerrit-util-http Refactor RequestUtil into a separate package 2014-10-30 15:35:26 -07:00
gerrit-util-ssl Turn on many more Eclipse warnings, and fix them 2014-10-29 15:00:17 -07:00
gerrit-war Set version to 2.9.3 2014-12-08 09:48:09 +09:00
lib Consume closure compiler binary from Maven Central 2014-12-17 00:38:08 +00:00
plugins Update replication plugin 2014-11-05 09:46:58 +09:00
ReleaseNotes Merge branch 'stable-2.10' 2014-12-12 20:25:48 +09:00
tools Improve GWT SDM debug session recompilation time by a factor of 10 2014-12-04 11:23:14 +09:00
website/releases Releases: Update website to use Cloud Storage v1 API 2014-11-21 12:22:59 -08:00
.buckconfig Update GWT to 2.7 2014-12-04 11:23:01 +09:00
.buckversion Update Buck to recent version 2014-12-17 22:41:02 +01:00
.gitignore Support AutoValue 2014-11-08 08:31:08 -08:00
.gitmodules Add singleusergroup plugin 2013-11-09 07:45:00 +01:00
.mailmap Define mailmap 2014-11-06 09:15:44 +01:00
.pydevproject Update PyDev project to use Python 2.7 2014-10-02 15:16:44 +09:00
.watchmanconfig Watchman: Add buck-out dir to ignored directories 2014-08-21 07:32:37 +02:00
BUCK Update Buck and use gwt_binary() 2014-05-19 11:41:31 -07:00
COPYING Initial project setup of Gerrit 2 2008-11-14 16:59:34 -08:00
INSTALL Remove Gerrit 1.x to 2.x import tools 2009-03-27 20:20:10 -07:00
SUBMITTING_PATCHES Update push URL in SUBMITTING_PATCHES 2012-03-29 00:57:14 -04:00
VERSION Set version to 2.9.3 2014-12-08 09:48:09 +09:00