Fabio Ponciroli | bce7b8c | 2021-03-19 17:45:27 +0100 | [diff] [blame] | 1 | :linkattrs: |
| 2 | = Glossary |
| 3 | |
Nasser Grainawi | 46e16fb | 2021-04-29 12:37:57 -0600 | [diff] [blame] | 4 | [[cluster]] |
| 5 | == Cluster |
| 6 | A Gerrit Cluster is a set of Gerrit processes sharing the same |
| 7 | link:config-gerrit.html#gerrit.serverId[ServerId] and associated to the same |
| 8 | set of repositories, accounts, and groups. |
| 9 | |
Fabio Ponciroli | eb44d28 | 2021-03-19 17:57:46 +0100 | [diff] [blame] | 10 | [[event]] |
| 11 | == Event |
| 12 | |
| 13 | It refers to the link:https://gerrit.googlesource.com/gerrit/+/refs/heads/master/java/com/google/gerrit/server/events/Event.java[com.google.gerrit.server.events.Event] |
| 14 | base abstract class representing any possible action that is generated or |
| 15 | received in a Gerrit instance. Actions can be associated with change set status |
| 16 | updates, project creations, indexing of changes, etc. |
| 17 | |
| 18 | [[event-broker]] |
| 19 | == Event broker |
| 20 | |
| 21 | Distributes Gerrit Events to listeners if they are allowed to see them. |
| 22 | |
| 23 | [[event-dispatcher]] |
| 24 | == Event dispatcher |
| 25 | |
| 26 | Interface for posting events to the Gerrit event system. Implemented by default |
| 27 | by link:https://gerrit.googlesource.com/gerrit/+/refs/heads/master/java/com/google/gerrit/server/events/EventBroker.java[com.google.gerrit.server.events.EventBroker]. |
| 28 | It can be implemented by plugins and allows to influence how events are managed. |
| 29 | |
| 30 | [[event-hierarchy]] |
| 31 | == Event hierarchy |
| 32 | |
| 33 | Hierarchy of events representing anything that can happen in Gerrit. |
| 34 | |
| 35 | [[event-listener]] |
| 36 | == Event listener |
| 37 | |
| 38 | API for listening to Gerrit events from plugins, without having any |
| 39 | visibility restrictions. |
| 40 | |
Nasser Grainawi | 46e16fb | 2021-04-29 12:37:57 -0600 | [diff] [blame] | 41 | [[multi-primary]] |
| 42 | == Multi-primary |
| 43 | Multi-primary typically refers to configurations where multiple Gerrit primary |
| 44 | processes are running in one or more xref:cluster[clusters] together. |
| 45 | |
| 46 | === Single cluster multi-primary with shared storage |
| 47 | A variation of multi-primary (a.k.a. HA or high-availability) that shares a file |
| 48 | storage volume for the git repositories. These configurations can use the |
| 49 | link:https://gerrit.googlesource.com/plugins/high-availability[high-availability plugin] |
| 50 | to synchronize or share caches, indexes, events, and web sessions. The |
| 51 | replication plugin also |
| 52 | link:https://gerrit.googlesource.com/plugins/replication/+/refs/heads/master/src/main/resources/Documentation/config.md#configuring-cluster-replication[supports] |
| 53 | synchronizing events using a shared file storage volume. |
| 54 | |
| 55 | [[multi-cluster-multi-primary]] |
| 56 | === Multiple clusters multi-primary |
| 57 | Multi-cluster (aka multi-site) primaries typically refers to configurations |
| 58 | where multiple Gerrit primary processes are running in different (likely |
| 59 | geographically distributed) clusters (sites). This also typically makes use of |
| 60 | a multi-primary configuration within each cluster. Synchronization across sites |
| 61 | is necessary to detect and prevent split-brain scenarios. These configurations |
| 62 | can use the link:https://gerrit.googlesource.com/plugins/multi-site[multi-site plugin] |
| 63 | to facilitate synchronization. |
| 64 | |
| 65 | [[primary]] |
| 66 | == Primary |
| 67 | A Gerrit primary is the link:pgm-daemon.html[main Gerrit process] permitting |
| 68 | write operations by clients. Most installations of Gerrit have only a single |
| 69 | Gerrit primary running at a time for their service. |
| 70 | |
| 71 | [[replica]] |
| 72 | == Replica |
| 73 | A Gerrit process running with the link:pgm-daemon.html[--replica switch] |
| 74 | provided. This permits read-only git operations by clients. There is no REST |
| 75 | API, WebUI, or search operation available. Replicas can be run in |
| 76 | the same cluster with primaries (likely sharing the storage volume) or in other |
| 77 | clusters/sites (likely facilitated by the |
| 78 | link:https://gerrit.googlesource.com/plugins/replication[replication plugin]). |
| 79 | |
Fabio Ponciroli | eb44d28 | 2021-03-19 17:57:46 +0100 | [diff] [blame] | 80 | [[stream-events]] |
| 81 | == Stream events |
| 82 | |
| 83 | Command that allows a user via CLI or a plugin to receive in a sequential way |
| 84 | some events that are generated in Gerrit. The consumption of the stream by default |
| 85 | is available via SSH connection. |
| 86 | However, plugins can provide an alternative implementation of the event |
| 87 | brokering by sending them over a reliable messaging queueing system (RabbitMQ) |
| 88 | or a pub-sub (Kafka). |
| 89 | |
Fabio Ponciroli | bce7b8c | 2021-03-19 17:45:27 +0100 | [diff] [blame] | 90 | GERRIT |
| 91 | ------ |
| 92 | Part of link:index.html[Gerrit Code Review] |
| 93 | |
| 94 | SEARCHBOX |
| 95 | --------- |