Caused by a missing lock. Loading that describe stuff can take a while and there are like 20 of those calls. If a few calls come in at the same time after a cache rebuild, they will run into conflicts.

Solution: Add a lock acquire in case of a cache miss, wait if lock can't be acquired, release after information was fetched. If we had to wait, try to get it from the cache first before trying to rebuild.