public List getAllDatabases()

in aws-glue-datacatalog-client-common/src/main/java/com/amazonaws/glue/catalog/metastore/AWSGlueMetastoreCacheDecorator.java [124:154]


    public List<Database> getAllDatabases() {
        List<Database> allDatabases;
        if (databaseCacheEnabled) {
            List<String> databaseNames = databasesCache.getIfPresent(DATABASES_CACHE_KEY);
            if (databaseNames != null) {
                List<Database> databases = new ArrayList<>();
                for (String name : databaseNames) {
                    Database valueFromCache = databaseCache.getIfPresent(name);
                    if (valueFromCache != null) {
                        databases.add(valueFromCache);
                    } else {
                        logger.info("Cannot get database from database cache, cache miss for operation [getAllDatabases].");
                        databasesCache.invalidateAll();
                        allDatabases =  super.getAllDatabases();
                        cacheAllDatabases(allDatabases);
                        return allDatabases;
                    }
                }
                logger.info("Cache hit for operation [getAllDatabases]");
                allDatabases = databases;
            } else {
                logger.info("Cache miss for operation [getAllDatabases]");
                allDatabases = super.getAllDatabases();
                cacheAllDatabases(allDatabases);
                return allDatabases;
            }
        } else {
            allDatabases = super.getAllDatabases();
        }
        return allDatabases;
    }