Search in sources :

Example 1 with CacheInfo

use of com.google.gerrit.server.cache.CacheInfo in project gerrit by GerritCodeReview.

the class Reindex method printCacheStats.

private void printCacheStats() {
    try (Writer sw = new StringWriter()) {
        sw.write("Cache Statistics at the end of reindexing\n");
        new CacheDisplay(sw, StreamSupport.stream(cacheMap.spliterator(), false).map(e -> new CacheInfo(e.getExportName(), e.get())).collect(Collectors.toList())).displayCaches();
        System.out.print(sw.toString());
    } catch (Exception e) {
        System.out.format("Error displaying the cache statistics\n" + e.getMessage());
    }
}
Also used : Module(com.google.inject.Module) SiteIndexer(com.google.gerrit.index.SiteIndexer) Inject(com.google.inject.Inject) Key(com.google.inject.Key) Config(org.eclipse.jgit.lib.Config) LibModuleLoader(com.google.gerrit.server.LibModuleLoader) NullOutputStream(org.eclipse.jgit.util.io.NullOutputStream) Map(java.util.Map) LuceneIndexModule(com.google.gerrit.lucene.LuceneIndexModule) CacheDisplay(com.google.gerrit.server.cache.CacheDisplay) Method(java.lang.reflect.Method) Collectors.toSet(java.util.stream.Collectors.toSet) GerritServerConfig(com.google.gerrit.server.config.GerritServerConfig) PluginGuiceEnvironment(com.google.gerrit.server.plugins.PluginGuiceEnvironment) Collection(java.util.Collection) Set(java.util.Set) Option(org.kohsuke.args4j.Option) Collectors(java.util.stream.Collectors) Sets(com.google.common.collect.Sets) Index(com.google.gerrit.index.Index) SiteProgram(com.google.gerrit.pgm.util.SiteProgram) InvocationTargetException(java.lang.reflect.InvocationTargetException) Die(com.google.gerrit.common.Die) List(java.util.List) Writer(java.io.Writer) FactoryModule(com.google.gerrit.extensions.config.FactoryModule) IndexDefinition(com.google.gerrit.index.IndexDefinition) HashMap(java.util.HashMap) TreeSet(java.util.TreeSet) CacheInfo(com.google.gerrit.server.cache.CacheInfo) ArrayList(java.util.ArrayList) AutoFlush(com.google.gerrit.server.index.options.AutoFlush) IndexModule(com.google.gerrit.server.index.IndexModule) ChangeResource(com.google.gerrit.server.change.ChangeResource) IndexType(com.google.gerrit.index.IndexType) Objects.requireNonNull(java.util.Objects.requireNonNull) StreamSupport(java.util.stream.StreamSupport) BatchProgramModule(com.google.gerrit.pgm.util.BatchProgramModule) ReplicaUtil(com.google.gerrit.server.util.ReplicaUtil) StringWriter(java.io.StringWriter) ModuleOverloader(com.google.gerrit.server.ModuleOverloader) IsFirstInsertForEntry(com.google.gerrit.server.index.options.IsFirstInsertForEntry) Injector(com.google.inject.Injector) TimeUnit(java.util.concurrent.TimeUnit) DynamicMap(com.google.gerrit.extensions.registration.DynamicMap) LifecycleManager(com.google.gerrit.lifecycle.LifecycleManager) OptionalBinder(com.google.inject.multibindings.OptionalBinder) Cache(com.google.common.cache.Cache) ChangeSchemaDefinitions(com.google.gerrit.server.index.change.ChangeSchemaDefinitions) AbstractModule(com.google.inject.AbstractModule) StringWriter(java.io.StringWriter) Writer(java.io.Writer) StringWriter(java.io.StringWriter) CacheDisplay(com.google.gerrit.server.cache.CacheDisplay) CacheInfo(com.google.gerrit.server.cache.CacheInfo) InvocationTargetException(java.lang.reflect.InvocationTargetException)

Example 2 with CacheInfo

use of com.google.gerrit.server.cache.CacheInfo in project gerrit by GerritCodeReview.

the class CacheOperationsIT method flush_UnprocessableEntity.

@Test
public void flush_UnprocessableEntity() throws Exception {
    RestResponse r = adminRestSession.get("/config/server/caches/projects");
    r.assertOK();
    CacheInfo cacheInfo = newGson().fromJson(r.getReader(), CacheInfo.class);
    assertThat(cacheInfo.entries.mem).isGreaterThan((long) 0);
    r = adminRestSession.post("/config/server/caches/", new PostCaches.Input(FLUSH, Arrays.asList("projects", "unprocessable")));
    r.assertUnprocessableEntity();
    r.consume();
    r = adminRestSession.get("/config/server/caches/projects");
    r.assertOK();
    cacheInfo = newGson().fromJson(r.getReader(), CacheInfo.class);
    assertThat(cacheInfo.entries.mem).isGreaterThan((long) 0);
}
Also used : RestResponse(com.google.gerrit.acceptance.RestResponse) CacheInfo(com.google.gerrit.server.cache.CacheInfo) Test(org.junit.Test) AbstractDaemonTest(com.google.gerrit.acceptance.AbstractDaemonTest)

Example 3 with CacheInfo

use of com.google.gerrit.server.cache.CacheInfo in project gerrit by GerritCodeReview.

the class CacheOperationsIT method flushAll.

@Test
public void flushAll() throws Exception {
    RestResponse r = adminRestSession.get("/config/server/caches/project_list");
    r.assertOK();
    CacheInfo cacheInfo = newGson().fromJson(r.getReader(), CacheInfo.class);
    assertThat(cacheInfo.entries.mem).isGreaterThan((long) 0);
    r = adminRestSession.post("/config/server/caches/", new PostCaches.Input(FLUSH_ALL));
    r.assertOK();
    r.consume();
    r = adminRestSession.get("/config/server/caches/project_list");
    r.assertOK();
    cacheInfo = newGson().fromJson(r.getReader(), CacheInfo.class);
    assertThat(cacheInfo.entries.mem).isNull();
}
Also used : RestResponse(com.google.gerrit.acceptance.RestResponse) CacheInfo(com.google.gerrit.server.cache.CacheInfo) Test(org.junit.Test) AbstractDaemonTest(com.google.gerrit.acceptance.AbstractDaemonTest)

Example 4 with CacheInfo

use of com.google.gerrit.server.cache.CacheInfo in project gerrit by GerritCodeReview.

the class FlushCacheIT method flushCache.

@Test
public void flushCache() throws Exception {
    // access the admin group once so that it is loaded into the group cache
    adminGroup();
    RestResponse r = adminRestSession.get("/config/server/caches/groups_byname");
    CacheInfo result = newGson().fromJson(r.getReader(), CacheInfo.class);
    assertThat(result.entries.mem).isGreaterThan((long) 0);
    r = adminRestSession.post("/config/server/caches/groups_byname/flush");
    r.assertOK();
    r.consume();
    r = adminRestSession.get("/config/server/caches/groups_byname");
    result = newGson().fromJson(r.getReader(), CacheInfo.class);
    assertThat(result.entries.mem).isNull();
}
Also used : RestResponse(com.google.gerrit.acceptance.RestResponse) CacheInfo(com.google.gerrit.server.cache.CacheInfo) AbstractDaemonTest(com.google.gerrit.acceptance.AbstractDaemonTest) Test(org.junit.Test)

Example 5 with CacheInfo

use of com.google.gerrit.server.cache.CacheInfo in project gerrit by GerritCodeReview.

the class ListCachesIT method listCaches.

@Test
public void listCaches() throws Exception {
    RestResponse r = adminRestSession.get("/config/server/caches/");
    r.assertOK();
    Map<String, CacheInfo> result = newGson().fromJson(r.getReader(), new TypeToken<Map<String, CacheInfo>>() {
    }.getType());
    assertThat(result).containsKey("accounts");
    CacheInfo accountsCacheInfo = result.get("accounts");
    assertThat(accountsCacheInfo.type).isEqualTo(CacheInfo.CacheType.MEM);
    assertThat(accountsCacheInfo.entries.mem).isAtLeast(1L);
    assertThat(accountsCacheInfo.averageGet).isNotNull();
    assertThat(accountsCacheInfo.averageGet).endsWith("s");
    assertThat(accountsCacheInfo.entries.disk).isNull();
    assertThat(accountsCacheInfo.entries.space).isNull();
    assertThat(accountsCacheInfo.hitRatio.mem).isAtLeast(0);
    assertThat(accountsCacheInfo.hitRatio.mem).isAtMost(100);
    assertThat(accountsCacheInfo.hitRatio.disk).isNull();
    userRestSession.get("/config/server/version").consume();
    r = adminRestSession.get("/config/server/caches/");
    r.assertOK();
    result = newGson().fromJson(r.getReader(), new TypeToken<Map<String, CacheInfo>>() {
    }.getType());
    assertThat(result.get("accounts").entries.mem).isEqualTo(2);
}
Also used : RestResponse(com.google.gerrit.acceptance.RestResponse) TypeToken(com.google.gson.reflect.TypeToken) Map(java.util.Map) CacheInfo(com.google.gerrit.server.cache.CacheInfo) AbstractDaemonTest(com.google.gerrit.acceptance.AbstractDaemonTest) Test(org.junit.Test)

Aggregations

CacheInfo (com.google.gerrit.server.cache.CacheInfo)8 AbstractDaemonTest (com.google.gerrit.acceptance.AbstractDaemonTest)6 RestResponse (com.google.gerrit.acceptance.RestResponse)6 Test (org.junit.Test)6 Map (java.util.Map)3 Cache (com.google.common.cache.Cache)1 Sets (com.google.common.collect.Sets)1 Die (com.google.gerrit.common.Die)1 FactoryModule (com.google.gerrit.extensions.config.FactoryModule)1 DynamicMap (com.google.gerrit.extensions.registration.DynamicMap)1 Index (com.google.gerrit.index.Index)1 IndexDefinition (com.google.gerrit.index.IndexDefinition)1 IndexType (com.google.gerrit.index.IndexType)1 SiteIndexer (com.google.gerrit.index.SiteIndexer)1 LifecycleManager (com.google.gerrit.lifecycle.LifecycleManager)1 LuceneIndexModule (com.google.gerrit.lucene.LuceneIndexModule)1 BatchProgramModule (com.google.gerrit.pgm.util.BatchProgramModule)1 SiteProgram (com.google.gerrit.pgm.util.SiteProgram)1 LibModuleLoader (com.google.gerrit.server.LibModuleLoader)1 ModuleOverloader (com.google.gerrit.server.ModuleOverloader)1