Had a rough Monday a couple weeks back. We build Product Data Exporter Pro, and one of the core flows is a bulk operation query that pulls products plus their metafields for CSV export. Been stable for over a year. Then support tickets started coming in from merchants saying exports were failing partway through with no output at all.
It took us a bit to trace it back to the GraphQL Admin API change where invalid metafield queries now return hard errors instead of just coming back null. It makes sense as a change, honestly; silent nulls hide real problems. But it meant that any merchant with even one stale or mistyped metafield refernce in their query (leftover from a deleted definition, a typo’d namespace, whatever) was now getting the entire bulk operation killed instead of just that one field coming back empty.
We’d been querying metafields fairly loosely since it never used to matter. Ended up rewriting that part of the query to validate metafield definitions against the shop before building the export query, instead of assuming whatever the merchant had configured would resolve cleanly. Not a huge fix in the end, maybe 40 lines, but it took longer than it should have to find because the error came back generic and didn’t point at which metafield was the problem.
Curious if anyone else building apps that touch metafields got bit by this one. Did you handle it with pre-validation like we did, or are you catching the error and retrying with the bad field stripped out instead?