ProfileBox unusable with some Cache providers in Railo


Reported by Maikel. When using the Memcached Extension in Railo, ProfileBox uses cache calls that memcached doesn't support which cause the application to error out with the following message:
"this feature [keys] is not supported by memcached"

That error is thrown from inside the Railo Extension for Memcached when CFML functions such as cacheGetAllIDs is called. This makes ProfileBox unusable for any cache profiling when using Memcached.

Since the Railo Extension don't give us any way to test whether a feature is supported, perhaps we can wrap code known to not be supported in all systems in a try catch and discard the error. For what it's worth, I put in this ticket last month to help in these situations:


Luis Majano
January 28, 2016, 7:42 PM

Do we have a list of functions we can wrap around?

Brad Wood
January 28, 2016, 8:25 PM

Not sure I understand your question. The issues is that ANY cache function may throw an exception if the Lucee cache provider being used decided not to implement it.. It looks like my Railo ticket above never got moved over to the Lucee JIRA either. The point is, we can't count on any of the cache methods to actually work, and there's currently no proper way to detect it.

Brad Wood
January 28, 2016, 8:26 PM

If you just want to put in a quick fix for memcached specifically, try/catch the cacheGetAllIDs() function and return an empty array or something if it fails.


Luis Majano


Brad Wood