Netflix / archaius

Library for configuration management API
Apache License 2.0
2.46k stars 485 forks source link

Latest version not parsing List and Map values from json file #723

Open anuran-Chakraborty opened 4 months ago

anuran-Chakraborty commented 4 months ago

We have an application which uses netflix archaius 2.3.4 for configuration management from AWS AppConfig. The values are stored as Json and appropriate parsers and ConfigProviders have been written. As per the version being used we made a new class for List and Map types which extends ArrayList and HashMap and has a string constructor using jackson ObjectMapper. The config proxy created is successfully able to parse that. However, with a requirement to upgrade to JDK17 we now need to upgrade the version and upgraded the version to the latest version. But now those class types are no longer getting correctly parsed into list and map and is returning null and returning default value if set. If we remove the extended classes and instead use List and Map type directly then also parsing is not working correctly. For map it is returning as {} and for list it is returning as ["["a", "ab","c"]"] instead of ["a", "ab", "c"]. Are the changes made after the old version not backward compatible? If not how do we fix it. Note: We tried with all versions of JDK and it is not working with any of them.

rgallardo-netflix commented 3 months ago

Could you please add: