CF2018 - Redis Sessions

I am running into an issue with a CF2018 server I have running through Commandbox on a Mac. The server works fine until I set session variables to be stored within Redis. After verifying the Redis connection, I attempt to run a server restart for the changes to take effect and the CF server dies.

The ACF version: adobe 2018.0.3+314033

The only way I can then get the server to turn back on is to go into the install location, delete the server and then have commandbox re-install it.

I’ve run the server start with the --debug parameter and get some error output. Here’s where the errors start popping off:

Hi, I’m not aware of any reason why Redis session storage wouldn’t work in a CommandBox (war) server but I’ve never tested it myself. The error in the logs is just a secondary symptom of some other startup issue. Check your CF application.log to try and find the real reason the runtime service didn’t come online.

I’d try it locally, but the last time I looked at Redis, I was completely turned off by the lack of a Windows installer. Couchbase is my preferred cache engine :slight_smile:

I just tested this with a 2018 server and I can confirm that it’s definitely an issue with 2018 when enabling the Redis session cache. Whether it’s specific to CommandBox or a regression introduced in the latest release, I’m not sure.

I’ll try to dig in to it a bit more this weekend to see what might be causing the issue. This error message during startup, though, seems to indicate that some numeric setting is being written with a blank value, when the config files are saved.

Jun 14, 2019 23:19:28 PM Error [main] - Unable to initialise Runtime service: java.lang.NumberFormatException: For input string: ""

I suspect the issue is somewhere the files modified in cfusion/lib

Jon

Good catch, Jon. Look in the application.log in the cfusion/logs folder and there SHOULD be a stack trace to go with that which will help us find what config value CF is choking. One annoying thing about Adobe CF is it does not do any casting at all of config values in regards to their data type so even the string “true” that was supposed to be a proper boolean in the WDDX will hose your entire server. I’ve found many of these issues when writing CFConfig.

For what it’s worth, I hooked up a CommandBox ACF 2016 server to Redis today and it worked just fine. I don’t get any errors when starting up the server.

thanks for continuing to look into this. I had a bit of an injury last weekend and needed to be hospitalized, so that’s why I went dark. I saw a tweet from Brad last week that mentioned something very similar to this issue as well, so was it resolved?

The tweet that you saw was that another client paid for CFConfig to support the Redis storage options in ACF out of the box. However, neither myself nor my client ran into any errors like what you guys reported so nothing was ‘resolved’ in that sense because we never ran into that issue!

If you’re still getting errors while starting up ColdFusion, you’ll need to get the application.log like I requested to troubleshoot it any further.