Previously, when the metadata for a resource was requested from Heat, Heat fetched the value of every attribute of the resource, even though this data was not returned by the API. This meant at least one and possibly multiple pointless ReST API calls to the OpenStack service underlying the resource.
The metadata in Heat gets polled regularly by in-guest agents like os-collect-config, because it is the mechanism by which software deployments are triggered. Because polling from a server generally uses a Heat "stack user" account from a different keystone domain rather than the stack owner's account, the resource cannot actually be found and "404 Not Found" messages were accumulating in the logs of both heat-engine and nova-api.
Heat no longer calculates attribute values when only the metadata for a resource is requested.