{"record":{"id":"18df90b77136e09a","repo":"redis/jedis","slug":"endpoint-and-credentials-are-required-to-build-lag","errorCode":null,"errorMessage":"Endpoint and credentials are required to build LagAwareStrategy.Config.","messagePattern":"Endpoint and credentials are required to build LagAwareStrategy\\.Config\\.","errorType":"exception","errorClass":"UnsupportedOperationException","httpStatus":null,"severity":"error","filePath":"src/main/java/redis/clients/jedis/mcf/LagAwareStrategy.java","lineNumber":165,"sourceCode":"    }\n\n    /**\n     * Create a new builder for LagAwareStrategy.Config.\n     * @param restEndpoint the Redis Enterprise REST API endpoint\n     * @param credentialsSupplier the credentials supplier\n     * @return a new ConfigBuilder instance\n     */\n    public static ConfigBuilder builder(Endpoint restEndpoint,\n        Supplier<RedisCredentials> credentialsSupplier) {\n      return new ConfigBuilder(restEndpoint, credentialsSupplier);\n    }\n\n    /**\n     * Use {@link LagAwareStrategy.Config#builder(Endpoint, Supplier)} instead.\n     * @return a new Builder instance\n     */\n    public static ConfigBuilder builder() {\n      throw new UnsupportedOperationException(\n          \"Endpoint and credentials are required to build LagAwareStrategy.Config.\");\n    }\n\n    /**\n     * Create a new Config instance with default values.\n     * <p>\n     * Extended checks like lag validation is enabled by default. With a default lag tolerance of\n     * 100ms. To perform only standard datapath validation, use\n     * {@link #databaseAvailability(Endpoint, Supplier)}. To configure a custom lag tolerance, use\n     * {@link #lagAwareWithTolerance(Endpoint, Supplier, Duration)}\n     * </p>\n     */\n    public static Config create(Endpoint restEndpoint,\n        Supplier<RedisCredentials> credentialsSupplier) {\n      return new ConfigBuilder(restEndpoint, credentialsSupplier).build();\n    }\n\n    /**","sourceCodeStart":147,"sourceCodeEnd":183,"githubUrl":"https://github.com/redis/jedis/blob/6dac31d4c224fb3257c216f3985340c6f500cdcb/src/main/java/redis/clients/jedis/mcf/LagAwareStrategy.java#L147-L183","documentation":"LagAwareStrategy.Config.builder() with no arguments is intentionally unsupported: an UnsupportedOperationException is thrown because building a lag-aware health-check config requires an Endpoint and a credentials supplier. Developers must use the overload Config.builder(Endpoint, Supplier) instead.","triggerScenarios":"Calling the static LagAwareStrategy.Config.builder() zero-argument overload at any time — the method body unconditionally throws.","commonSituations":"Copy-pasting the generic HealthCheckStrategy.Config.builder() pattern; IDE autocomplete picking the no-arg overload; migrating code from a plain health check config to LagAwareStrategy.Config.","solutions":["Call LagAwareStrategy.Config.builder(endpoint, credentialsSupplier) with the target Endpoint and a Supplier supplying credentials.","Update code that used the no-arg builder to pass the endpoint and credential supplier explicitly."],"exampleFix":"// before\nLagAwareStrategy.Config.ConfigBuilder b = LagAwareStrategy.Config.builder();\n\n// after\nLagAwareStrategy.Config cfg = LagAwareStrategy.Config.builder(endpoint,\n    () -> new DefaultJedisClientConfig.Builder().password(pass).build()).build();","handlingStrategy":"validation","validationCode":"// ensure you always use the two-arg builder\nLagAwareStrategy.Config cfg = LagAwareStrategy.Config.builder(endpoint, credsSupplier).build();","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Always use Config.builder(Endpoint, Supplier) — never the zero-arg overload.","Check deprecation/throws annotations in the Javadoc when adopting new config classes.","Let the compiler surface the error by writing tests that build your health-check configs."],"tags":["unsupported-operation","config","multi-db"],"backgroundTag":"deprecated-api-usage","analyzedSha":"6dac31d4c224fb3257c216f3985340c6f500cdcb","analyzedAt":"2026-09-08T04:55:01.204Z","contentChangedAt":"2026-09-08T04:55:01.204Z","schemaVersion":2},"datasetVersion":"2026-09-16T04:17:20.429Z"}