Undo part of the recent cache-deactivation for attribute definitions
When all calls for "db_attribute_defined" are performed without
caching, this results in a huge amount of additional SQL queries,
since these tests are performed during blueprint definition as well
during every blueprint reload of every db attribute. On a small site
with just 6 connection threads (2 monitor, 2 default, 2 slow), this
results during startup with 969 additional SQL queries, a reload of
xowiki causes an additional 1063 of such queries. When a site defines
much more connection threads ((the LEARN site has e.g. 85 connection
threads defined), these DB attribute testing operations will result in
10K+ of mostly useless SQL queries. As a consequence of this, the
startup of the server will become slower, reloads will become slower
etc., which is bad especially for large sites.
The new implementation seems to fix the original problem case (running
xotcl_core_tutorial_4 multiple times). If there is still a problem
with installing xolp [2] this problem should be analyzed and fixed
probably there. If necessary, a proper bug report would be appreciated
to reduce guessing work.
[1]
https://fisheye.openacs.org/changelog/OpenACS/?cs=oacs-5-10%3Aantoniop%3A20230310183055[2]
https://fisheye.openacs.org/changelog/OpenACS/?cs=oacs-5-10%3Aantoniop%3A20230317160241