:linkattrs:
= Gerrit Code Review - ExternalId case insensitivity

Gerrit usernames are case insensitive by default: e.g. johndoe and JohnDoe
represents the same account. However, for installations older than v3.5.x,
the usernames were case sensitive, e.g. johndoe and JohnDoe can both exist
as separate accounts. This could lead to issues when migrating an account
from LDAP to an internal account, if ldap.localUsernameToLowerCase was set.
Such usernames can also be rather confusing for users, if they try to identify
authors of comments or changes.

When Gerrit handles case insensitive usernames (external IDs using the
`gerrit:` or `username:` scheme, their external IDs SHA-1 is always computed
using the lowercase external ID, hence there cannot be any account differing
only in the capitalization of their usernames.

Gerrit installations older than v3.5.x that are switching to the case-insensitive
username need to migrating all their existing accounts SHA-1s.

[[migration]]
== Migration

Migrating external ID notes can take several minutes for large sites(for example
migration ~45000 accounts can take up to five minutes), so administrators choose
whether to do the migration offline or online, depending on their available
resources and tolerance for downtime.

NOTE: Migration is required only on Gerrit primary instances.

[[offline-migration]]
=== Offline

To run the offline migration execute following steps:
* Stop all Gerrit primary instances
* Set the `auth.userNameCaseInsensitive` to false
----
[auth]
  userNameCaseInsensitive = false
----

* Run:
[verse]
--
_java_ -jar gerrit.war _ChangeExternalIdCaseSensitivity_
  -d <SITE_PATH>
  [--batch]
--

See: link:pgm-ChangeExternalIdCaseSensitivity.html

* During the migration `auth.userNameCaseInsensitive` will be set to true
on a node which is executing the migration. When the migration is finished,
on all other primary nodes set `auth.userNameCaseInsensitive` to true
* Start all Gerrit primary instances

[[online-migration]]
=== Online

To start the online migration, set the `auth.userNameCaseInsensitive` and
`auth.userNameCaseInsensitiveMigrationMode` options in `gerrit.config` and
restart Gerrit:
----
[auth]
  userNameCaseInsensitive = true
  userNameCaseInsensitiveMigrationMode = true
----
* Trigger online migration:
----
$ ssh -p <port> <host> gerrit migrate-externalids-to-insensitive
----

See: link:cmd-migrate-externalids-to-insensitive.html

[online-ha-migration]
== Online migration for high-availability setup

To start the online migration with a setup containing multiple primary
instances execute following steps:
* On all Gerrit primary instances set `auth.userNameCaseInsensitive` and
`auth.userNameCaseInsensitiveMigrationMode` and perform a rolling restart
----
[auth]
  userNameCaseInsensitive = true
  userNameCaseInsensitiveMigrationMode = true
----
* Trigger online migration:
----
$ ssh -p <port> <host> gerrit migrate-externalids-to-insensitive
----

See: link:cmd-migrate-externalids-to-insensitive.html

* When the migration is finished, on all other primary nodes set
`auth.userNameCaseInsensitiveMigrationMode` to false and perform a
rolling restart
----
[auth]
  userNameCaseInsensitive = true
  userNameCaseInsensitiveMigrationMode = false
----

== External ID case insensitivity rollback

The offline migration tool allows to calculate external ID notes named with the SHA-1
from the case sensitive external ID.

To rollback external ID notes migration execute following steps:
* Stop all Gerrit primary instances
* Set the `auth.userNameCaseInsensitive` to true
----
[auth]
  userNameCaseInsensitive = true
----

* Run:
[verse]
--
_java_ -jar gerrit.war _ChangeExternalIdCaseSensitivity_
  -d <SITE_PATH>
  [--batch]
--

See: link:pgm-ChangeExternalIdCaseSensitivity.html

* During the migration `auth.userNameCaseInsensitive` will be set to false
on a node which is executing the migration. When the migration is finished,
on all other primary nodes set `auth.userNameCaseInsensitive` to false
* Start all Gerrit primary instances
