hiero-ledger / hiero-ledger/hiero-consensus-node

Refactor all ConfigSources to support lists

Open
#17,102 3 comments 0 reactions 0 assignees View on GitHub
Platform
Dominant language
Java
Stars
406
Forks
226
Avg merge
3d 4h
Merged PRs (30d)
210

Description

With https://github.com/hashgraph/hedera-services/pull/17088 we introduced lists.

Before this was not supported by the `ConfigSource` still it was possible by convention to get comma separated values as lists.

Now we have some "hack" in the `ConfigurationImpl.java` to support both methods:
```
if (!propertiesService.isListProperty(propertyName)) {
final String value = getValue(propertyName);
values = ConfigListUtils.createList(value);
} else {
values = getValues(propertyName);
}
```

This should be refactored and in the same way the `AbstractConfigSource` can be refactored to support list properties in a generic way

Contributor guide

Open the contributing guide

Research direction

Start by reading ConfigurationImpl.java and AbstractConfigSource, then compare their current scalar and list handling with the list support introduced in pull request 17088. Trace the other ConfigSource implementations to identify duplicated behavior. Done means list properties are handled generically without the special-case logic in ConfigurationImpl, with the existing configuration tests still passing.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.