Unable to set default object cache in cfconfig

Doing some upgrades to my infrastructure and coming across this odd problem with the cfconfig

Here are the relevant lines:

    "cacheDefaultObject": "object_cache",
    "cacheDefaultQuery": "query_cache",
    "cacheDefaultTemplate": "template_cache",
    "caches": {
        "object_cache": {
            "CLASS": "lucee.runtime.cache.ram.RamCache",
            "custom:timeToLiveSeconds": "86400",
            "type": "RAM"
        },
        "query_cache": {
            "CLASS": "lucee.runtime.cache.ram.RamCache",
            "custom:timeToLiveSeconds": "86400",
            "type": "RAM"
        },
        "template_cache": {
            "CLASS": "lucee.runtime.cache.ram.RamCache",
            "custom:timeToLiveSeconds": "86400",
            "type": "RAM"
        }
    },

Here is the result after starting the server

It creates all three caches just fine. It doesn’t however allocate the object cache. It does allocate the other two just fine. I have set it in the administrator and tried exporting the cfconfig - it gives me the same config.

I’m using the lucee-light-3.10.2 docker image.

What version of Lucee? If it’s Lucee 6, there is probably an incompat with Lucee’s JSON config format.

Yep, that sounds about right. This is Lucee 6.

6.1.1+118 to be precise.

Can you look in Lucee’s cfconfig.json and see where they are storing that info. CFConfig proper will need updated to change that value. Lucee didn’t do a great job of following the existing CFConfig JSON format.

OK, had a look. It adds the following structure when I save it through the admin

"cache": {
    "defaultObject": "object_cache",
    "defaultTemplate": "template_cache",
    "defaultQuery": "query_cache",
    "defaultResource": "",
    "defaultFunction": "",
    "defaultInclude": "",
    "defaultHttp": "",
    "defaultFile": "",
    "defaultWebservice": ""
  }

Before saving it had these keys:

"cacheDefaultQuery": "query_cache",
"cacheDefaultTemplate": "template_cache",

and

"defaultObject": "object_cache",

That last one seems to be entirely ignored but the first two are respected.

Yes, quite sad. Lucee advertised CFConfig support, but they have a bunch of departures from it, and this appears to be another one. CFConfig will need to be adjusted to put those keys in the correct place.

Do you think this is worth raising on the Lucee forums as well?

One thing I tried was adding the “cache” key in my cfconfig. But in the processing it was stripped out and not set for the server. If it could just pass any unknown keys along rather than strip them out, it would at least provide a way of working around such issues.

CFConfig needs updated to massage Lucee’s incorrect keys over to the correct ones.