[ConfigCat] Evaluation errors are returned as a successful default with no error code

Open
#1,963 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

@RaphaelFakhri is already working on this.

Since Nov 3, 2026.

  • #1964 by @RaphaelFakhri — open

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
68/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
java

Research direction

Start with ConfigCatProvider's getEvaluation method, which the issue identifies as ignoring EvaluationDetails.getError(), and reproduce the cases using the module tests' local features.json override. Done means missing flags return FLAG_NOT_FOUND with reason ERROR, and other evaluation errors return GENERAL with the ConfigCat error message.

Written by the indexing model from the issue text.

Description

Observed behavior

When ConfigCat cannot evaluate a flag, ConfigCatProvider returns the caller's default value with no errorCode, no errorMessage and no reason. Error hooks do not run, and the evaluation looks successful.

This affects at least these cases:

  • The flag key does not exist in the config.
  • The flag type does not match the requested type, for example getIntegerDetails on a string setting.

ConfigCat itself detects both errors and reports them in EvaluationDetails.getError(), but getEvaluation ignores that field.

Expected behavior

A missing flag resolves with errorCode=FLAG_NOT_FOUND and reason=ERROR. Other ConfigCat evaluation errors resolve with an error code (GENERAL) and the ConfigCat error message.

Steps to reproduce

Use the provider with the local features.json override from the module tests:

FlagEvaluationDetails<String> details = client.getStringDetails("non-existing", "fallback_str");
// value=fallback_str, reason=null, errorCode=null, errorMessage=null

ConfigCat logs [1001] Failed to evaluate setting 'non-existing' (the key was not found in config JSON), but the OpenFeature result reports no error.

Version: dev.openfeature.contrib.providers:configcat 0.2.1 (current main), configcat-java-client 9.4.4.

Dominant language
Java
Stars
50
Forks
87
Avg merge
1d 14h
Merged PRs (30d)
53

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from open-feature/java-sdk-contrib

All issues in open-feature/java-sdk-contrib

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.