{"record":{"id":"98a5f4f1d1b70acf","repo":"apache/druid","slug":"invalid-redis-configuration-no-redis-server-or-cl","errorCode":null,"errorMessage":"Invalid redis configuration. no redis server or cluster configured.","messagePattern":"Invalid redis configuration\\. no redis server or cluster configured\\.","errorType":"validation","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"extensions-contrib/redis-cache/src/main/java/org/apache/druid/client/cache/RedisCacheFactory.java","lineNumber":85,"sourceCode":"\n      ConnectionPoolConfig poolConfig = new ConnectionPoolConfig();\n      poolConfig.setMaxTotal(config.getMaxTotalConnections());\n      poolConfig.setMaxIdle(config.getMaxIdleConnections());\n      poolConfig.setMinIdle(config.getMinIdleConnections());\n\n      JedisCluster cluster = new JedisCluster(\n          nodes,\n          buildClientConfig(config, 0),\n          config.getCluster().getMaxRedirection(),\n          poolConfig\n      );\n\n      return new RedisClusterCache(cluster, config);\n\n    } else {\n\n      if (StringUtils.isBlank(config.getHost())) {\n        throw new IAE(\"Invalid redis configuration. no redis server or cluster configured.\");\n      }\n\n      JedisPoolConfig poolConfig = new JedisPoolConfig();\n      poolConfig.setMaxTotal(config.getMaxTotalConnections());\n      poolConfig.setMaxIdle(config.getMaxIdleConnections());\n      poolConfig.setMinIdle(config.getMinIdleConnections());\n\n      return new RedisStandaloneCache(\n          new JedisPool(\n              poolConfig,\n              new HostAndPort(config.getHost(), config.getPort()),\n              buildClientConfig(config, config.getDatabase())\n          ),\n          config\n      );\n    }\n  }\n","sourceCodeStart":67,"sourceCodeEnd":103,"githubUrl":"https://github.com/apache/druid/blob/9b90983fd291f26935af934383ce360473179e4d/extensions-contrib/redis-cache/src/main/java/org/apache/druid/client/cache/RedisCacheFactory.java#L67-L103","documentation":"RedisCacheFactory.create fell through both configuration branches: no Redis cluster was configured and the standalone host is blank. Without either a cluster node list or a host, no cache client can be constructed, so the factory throws an IAE telling the operator to configure druid.cache.host or druid.cache.cluster.nodes.","triggerScenarios":"Thrown at extensions-contrib/redis-cache/src/main/java/org/apache/druid/client/cache/RedisCacheFactory.java:85 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set druid.cache.host (and port) for standalone Redis, or druid.cache.cluster.nodes for Redis Cluster.","Verify the cache type/extension config actually populated RedisCacheConfig (check property names and config loading).","Fail fast at startup with this IAE is intended — fix configuration and restart."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"9b90983fd291f26935af934383ce360473179e4d","analyzedAt":"2026-09-07T13:32:30.957Z","contentChangedAt":"2026-09-07T13:32:30.957Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}