= gerrit flush-caches

== NAME
gerrit flush-caches - Flush some/all server caches from memory.

== SYNOPSIS
[verse]
--
_ssh_ -p <port> <host> _gerrit flush-caches_ --all
_ssh_ -p <port> <host> _gerrit flush-caches_ --list
_ssh_ -p <port> <host> _gerrit flush-caches_ --cache <NAME> ...
--

== DESCRIPTION
Clear an in-memory cache, forcing Gerrit to reconsult the ground
truth when it needs the information again.

Flushing a cache may be necessary if an administrator modifies
NoteDb metadata directly in a repository, rather than going through
the Gerrit web interface.

If no options are supplied, defaults to `--all`.

== ACCESS

The caller must be a member of a group that is granted one of the
following capabilities:

* link:access-control.html#capability_flushCaches[Flush Caches] (any cache
  except "web_sessions")
* link:access-control.html#capability_maintainServer[Maintain Server] (any cache
  including "web_sessions")
* link:access-control.html#capability_administrateServer[Administrate Server]
  (any cache including "web_sessions")

== SCRIPTING
This command is intended to be used in scripts.

== OPTIONS
--all::
	Flush all known caches.  This is like applying a big hammer,
	it will force everything out, potentially more than was
	necessary for the change made. This option automatically
	skips flushing potentially dangerous caches such as
	"web_sessions".  To flush one of these caches, the caller
	must specifically name them on the command line, e.g. pass
	`--cache web_sessions`.

--list::
	Show a list of the caches.

--cache <NAME>::
	Flush only the cache called <NAME>.  May be supplied more
	than once to flush multiple caches in a single command
	execution.

== EXAMPLES
List caches available for flushing:

----
$ ssh -p 29418 review.example.com gerrit flush-caches --list
accounts
diff
groups
ldap_groups
openid
projects
sshkeys
web_sessions
----

Flush all caches known to the server, forcing them to recompute:

----
$ ssh -p 29418 review.example.com gerrit flush-caches --all
----

or

----
$ ssh -p 29418 review.example.com gerrit flush-caches
----

Flush only the "sshkeys" cache, after manually editing an SSH key
for a user:

----
$ ssh -p 29418 review.example.com gerrit flush-caches --cache sshkeys
----

Flush "web_sessions", forcing all users to sign-in again:

----
$ ssh -p 29418 review.example.com gerrit flush-caches --cache web_sessions
----

== SEE ALSO

* link:cmd-show-caches.html[gerrit show-caches]
* link:config-gerrit.html#cache[Cache Configuration]
* link:config-gerrit.html#cache_names[Standard Caches]

GERRIT
------
Part of link:index.html[Gerrit Code Review]

SEARCHBOX
---------
