Done. The MDS failed for server functions and that is a basic characteristic of the two things - server functions and the MDS. Either the server function evaluation will have to change or the MDS will have to cache data responses too. I modified the MDS so that it looks for CE that contain server functions and does not try to cache those metadata responses.
The basic issue is that for a server function to produce a metadata response, it must first build a data response. Doing so means it has to use a DDS that was built be a handler. But, grabbing a DDS from the MDS means getting a binary DDS built using generic types that don’t have valid read() methods. Thus, the attempt to process the CE is doomed because it cannot read the data needed.
One fix would be to somehow combine the two caches.
I also modified the tests that call the BES debug_functions so that the testsuite can be run against a BES built for production (and thus without those functions). We might want to revisit the choice of defaulting to tests for the production BES, but that should be an easy fix to the makefile.