|  | :linkattrs: | 
|  | = Glossary | 
|  |  | 
|  | [[cluster]] | 
|  | == Cluster | 
|  | A Gerrit Cluster is a set of Gerrit processes sharing the same | 
|  | link:config-gerrit.html#gerrit.serverId[ServerId] and associated to the same | 
|  | set of repositories, accounts, and groups. | 
|  |  | 
|  | [[event]] | 
|  | == Event | 
|  |  | 
|  | 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] | 
|  | base abstract class representing any possible action that is generated or | 
|  | received in a Gerrit instance. Actions can be associated with change set status | 
|  | updates, project creations, indexing of changes, etc. | 
|  |  | 
|  | [[event-broker]] | 
|  | == Event broker | 
|  |  | 
|  | Distributes Gerrit Events to listeners if they are allowed to see them. | 
|  |  | 
|  | [[event-dispatcher]] | 
|  | == Event dispatcher | 
|  |  | 
|  | Interface for posting events to the Gerrit event system. Implemented by default | 
|  | by link:https://gerrit.googlesource.com/gerrit/+/refs/heads/master/java/com/google/gerrit/server/events/EventBroker.java[com.google.gerrit.server.events.EventBroker]. | 
|  | It can be implemented by plugins and allows to influence how events are managed. | 
|  |  | 
|  | [[event-hierarchy]] | 
|  | == Event hierarchy | 
|  |  | 
|  | Hierarchy of events representing anything that can happen in Gerrit. | 
|  |  | 
|  | [[event-listener]] | 
|  | == Event listener | 
|  |  | 
|  | API for listening to Gerrit events from plugins, without having any | 
|  | visibility restrictions. | 
|  |  | 
|  | [[multi-primary]] | 
|  | == Multi-primary | 
|  | Multi-primary typically refers to configurations where multiple Gerrit primary | 
|  | processes are running in one or more xref:cluster[clusters] together. | 
|  |  | 
|  | === Single cluster multi-primary with shared storage | 
|  | A variation of multi-primary (a.k.a. HA or high-availability) that shares a file | 
|  | storage volume for the git repositories. These configurations can use the | 
|  | link:https://gerrit.googlesource.com/plugins/high-availability[high-availability plugin] | 
|  | to synchronize or share caches, indexes, events, and web sessions. The | 
|  | replication plugin also | 
|  | link:https://gerrit.googlesource.com/plugins/replication/+/refs/heads/master/src/main/resources/Documentation/config.md#configuring-cluster-replication[supports] | 
|  | synchronizing events using a shared file storage volume. | 
|  |  | 
|  | [[multi-cluster-multi-primary]] | 
|  | === Multiple clusters multi-primary | 
|  | Multi-cluster (aka multi-site) primaries typically refers to configurations | 
|  | where multiple Gerrit primary processes are running in different (likely | 
|  | geographically distributed) clusters (sites). This also typically makes use of | 
|  | a multi-primary configuration within each cluster. Synchronization across sites | 
|  | is necessary to detect and prevent split-brain scenarios. These configurations | 
|  | can use the link:https://gerrit.googlesource.com/plugins/multi-site[multi-site plugin] | 
|  | to facilitate synchronization. | 
|  |  | 
|  | [[primary]] | 
|  | == Primary | 
|  | A Gerrit primary is the link:pgm-daemon.html[main Gerrit process] permitting | 
|  | write operations by clients. Most installations of Gerrit have only a single | 
|  | Gerrit primary running at a time for their service. | 
|  |  | 
|  | [[replica]] | 
|  | == Replica | 
|  | A Gerrit process running with the link:pgm-daemon.html[--replica switch] | 
|  | provided. This permits read-only git operations by clients. There is no REST | 
|  | API, WebUI, or search operation available. Replicas can be run in | 
|  | the same cluster with primaries (likely sharing the storage volume) or in other | 
|  | clusters/sites (likely facilitated by the | 
|  | link:https://gerrit.googlesource.com/plugins/replication[replication plugin]). | 
|  |  | 
|  | [[stream-events]] | 
|  | == Stream events | 
|  |  | 
|  | Command that allows a user via CLI or a plugin to receive in a sequential way | 
|  | some events that are generated in Gerrit. The consumption of the stream by default | 
|  | is available via SSH connection. | 
|  | However, plugins can provide an alternative implementation of the event | 
|  | brokering by sending them over a reliable messaging queueing system (RabbitMQ) | 
|  | or a pub-sub (Kafka). | 
|  |  | 
|  | GERRIT | 
|  | ------ | 
|  | Part of link:index.html[Gerrit Code Review] | 
|  |  | 
|  | SEARCHBOX | 
|  | --------- |