We should add a message to this invariant so that we can know what the original readSource is and what we set to. It is useful for debugging this invariant failure.
Change
invariant(!_active || _timestampReadSource == ReadSource::kUnset || _timestampReadSource == readSource);
to
invariant(!_active || _timestampReadSource == ReadSource::kUnset || _timestampReadSource == readSource, str::stream() << "Timestamp readSource is " << _timestampReadSource << " but trying to set it to " << readSource);