Missing nodes in change file


I downloaded a change file http://download.geofabrik.de/europe/hungary-updates/000/003/246.osc.gz.
In this file are ways, which does not have all nodes in file. For example:

<way id="203823866" version="2" timestamp="2022-02-17T08:14:44Z">
      <nd ref="2138287248"/>
      <nd ref="2138287240"/>
      <nd ref="2138287219"/>
      <tag k="highway" v="residential"/>
      <tag k="name" v="Felsőhalom dűlő"/>
      <tag k="surface" v="asphalt"/>

but 2138287248, 2138287240, 2138287219 are missing nodes, the file does not contain the nodes.

Other example:

<way id="41823021" version="8" timestamp="2022-02-17T08:14:44Z">
      <nd ref="9513057852"/>
      <nd ref="2138287250"/>
      <nd ref="2138287248"/>
      <nd ref="5619472923"/>
      <nd ref="2138287247"/>
      <nd ref="4161204318"/>
      <nd ref="516484421"/>
      <nd ref="8794504181"/>
      <nd ref="2138287214"/>
      <nd ref="9513057845"/>
      <nd ref="2138287210"/>
      <nd ref="516484428"/>
      <tag k="highway" v="residential"/>
      <tag k="name" v="Wass Albert utca"/>
      <tag k="surface" v="asphalt"/>

This way has node what is in file, but lot of nodes are missing.

Why are these missing nodes? It is normal?


In the first example the way got a new attribute, but the nodes did not change the position and got no new attributes. So they do not appear in the changeset.

FvGordon is correct, change files (.osc files) are not guaranteed to be referentially complete (and therefore it is impossible to look at one change file and determine which changes affect a certain region).

However, the OSM extracts generated on the Geofabrik server on 16/17/18 February did miss a couple of newly generated nodes and this was only fixed in the 19 February diff so it is possible that one of these diffs was missing nodes that should actually have been there.