diff --git a/src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/AutoAdjustCaches.java b/src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/AutoAdjustCaches.java
index a851c58..9fcc36f 100644
--- a/src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/AutoAdjustCaches.java
+++ b/src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/AutoAdjustCaches.java
@@ -269,7 +269,8 @@
                 newMaxEntries = currMaxEntries * MAX_ENTRIES_MULTIPLIER;
               }
               logger.atInfo().log(
-                  "Cache '%s' (maxEntries: %s) used %s%% of available space. new maxEntries will be: %s",
+                  "Cache '%s' (maxEntries: %s) used %s%% of available space. new maxEntries will"
+                      + " be: %s",
                   currentCache.name(), currMaxEntries, percentageUsedAutoResizes, newMaxEntries);
               return newMaxEntries;
             });
diff --git a/src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/CacheKeysIndex.java b/src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/CacheKeysIndex.java
index 5ae2874..7af76f7 100644
--- a/src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/CacheKeysIndex.java
+++ b/src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/CacheKeysIndex.java
@@ -158,7 +158,8 @@
               "cache/chroniclemap/keys_index_restore_failures_" + sanitizedName,
               new Description(
                       String.format(
-                          "The number of errors caught when restore %s cache index from file operation was performed: ",
+                          "The number of errors caught when restore %s cache index from file"
+                              + " operation was performed: ",
                           name))
                   .setCumulative()
                   .setUnit("errors"));
@@ -168,7 +169,8 @@
               "cache/chroniclemap/keys_index_persist_failures_" + sanitizedName,
               new Description(
                       String.format(
-                          "The number of errors caught when persist %s cache index to file operation was performed: ",
+                          "The number of errors caught when persist %s cache index to file"
+                              + " operation was performed: ",
                           name))
                   .setCumulative()
                   .setUnit("errors"));
diff --git a/src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/CachesWithoutChronicleMapConfigMetric.java b/src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/CachesWithoutChronicleMapConfigMetric.java
index 0443fc6..56189ce 100644
--- a/src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/CachesWithoutChronicleMapConfigMetric.java
+++ b/src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/CachesWithoutChronicleMapConfigMetric.java
@@ -40,7 +40,8 @@
         metricMaker.newCounter(
             metricName,
             new Description(
-                    "The number of caches that have no chronicle map configuration provided in 'gerrit.config' and use defaults.")
+                    "The number of caches that have no chronicle map configuration provided in"
+                        + " 'gerrit.config' and use defaults.")
                 .setUnit("caches"));
   }
 
diff --git a/src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheImpl.java b/src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheImpl.java
index 4fef85e..f68a5c4 100644
--- a/src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheImpl.java
+++ b/src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheImpl.java
@@ -313,7 +313,8 @@
 
   private void evictColdEntries() {
     while (runningOutOfFreeSpace()
-        && keysIndex.removeAndConsumeLruKey(key -> store.remove(new KeyWrapper<>(key)))) ;
+        && keysIndex.removeAndConsumeLruKey(key -> store.remove(new KeyWrapper<>(key))))
+      ;
   }
 
   @SuppressWarnings("unchecked")
diff --git a/src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapStoreMetrics.java b/src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapStoreMetrics.java
index 8966aa5..82e2459 100644
--- a/src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapStoreMetrics.java
+++ b/src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapStoreMetrics.java
@@ -79,7 +79,8 @@
             store.maxAutoResizes(),
             new Description(
                 String.format(
-                    "The maximum number of times the %s cache can automatically expand its capacity",
+                    "The maximum number of times the %s cache can automatically expand its"
+                        + " capacity",
                     name))));
   }
 
diff --git a/src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/H2MigrationServlet.java b/src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/H2MigrationServlet.java
index c93e44e..0055dd7 100644
--- a/src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/H2MigrationServlet.java
+++ b/src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/H2MigrationServlet.java
@@ -204,7 +204,8 @@
           } else {
             if (hasPartialPersistentCacheConfiguration(in)) {
               logger.atWarning().log(
-                  "Existing configuration for cache %s found gerrit.config and will be ignored because incomplete",
+                  "Existing configuration for cache %s found gerrit.config and will be ignored"
+                      + " because incomplete",
                   in.name());
             }
             chronicleMapConfig =
diff --git a/src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/HttpServletOps.java b/src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/HttpServletOps.java
index dec758c..ca2a1d0 100644
--- a/src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/HttpServletOps.java
+++ b/src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/HttpServletOps.java
@@ -32,7 +32,8 @@
       setResponse(
           rsp,
           HttpServletResponse.SC_BAD_REQUEST,
-          "No advertised 'Accept' headers can be honoured. 'text/plain' should be provided in the request 'Accept' header.");
+          "No advertised 'Accept' headers can be honoured. 'text/plain' should be provided in the"
+              + " request 'Accept' header.");
       return false;
     }
 
