On Sun, Aug 23, 2015 at 8:38 PM, Stefan Fuhrmann <stefan.fuhrmann@wandisco.com> wrote:
My current hypothesis is that the server did not get restarted
after replacing the repository.  Because we decided not to make
the instance ID part of the cache key, we could easily have
picked up cached format 6 data for the format 7 repository.

The lookup would start with a hit at the L2 DAG cache, mapping
path+rev onto a noderev.  >From there, everything is accessed
using physical offsets until some item is not cached.  At that
point, we would be trying to use an Offset instead of the Item
index to address the f7 data.  Error.

Garret just confirmed that he indeed (very likely) did not restart
Apache. So, this is technically known / expected behaviour.

That said, are we still happy with the decision to not make the
instance ID part of the cache key? The rationale has basically
been "fail early" because failure to restart or reconfigure the
server after the repo files got modified might lead to any kind
of unknown problems (much) further down the road.

-- Stefan^2.