by Alan Barber | Jun 8, 2026 | All, How To, Magento, Magento 2
One of the quieter Magento 2 performance regressions hides in plain sight: your admin category tree and anchor category listings get sluggish, but nothing shows up in the logs. No exception, no warning, no var/log/exception.log entry. The culprit is a single-character...
by Alan Barber | Jun 8, 2026 | All, How To, Magento, Magento 2
One of the more disruptive Magento 2 failures on S3 remote storage is a PHP fatal that nobody threw on purpose: TypeError: stream_get_meta_data(): Argument #1 ($stream) must be of type resource, bool given. It surfaces in your logs as PHP Fatal error: Uncaught...
by Alan Barber | Jun 8, 2026 | All, How To, Magento, Magento 2
One of the more alarming Magento 2 failures is a category that suddenly won't save, or a product import that dies mid-run, throwing SQLSTATE[22003]: Numeric value out of range: 1264 Out of range value for column 'entity_id' at row 1. You'll find the...
by Alan Barber | Jun 8, 2026 | All, How To, Magento, Magento 2
One of the more maddening problems you can hit on a Magento 2 store isn't in Magento at all — it's in a custom auto-heal routine you (or a previous team) bolted on top of it. Stock Magento ships no DB-versus-Elasticsearch reconciliation job, so when one exists...
by Alan Barber | Jun 8, 2026 | All, How To, Magento, Magento 2
One of the nastier search bugs in a Magento 2 codebase leaves no error at all. A custom indexer pushes documents into an Elasticsearch index named <prefix>_product_0 — an index your storefront never reads — while the live <prefix>_product_1 index quietly...
by Alan Barber | Jun 8, 2026 | All, How To, Magento, Magento 2
A product grid that works perfectly until someone types a word into the admin keyword search box — then the grid AJAX request dies with a generic 500 and the log shows SQLSTATE[42S22]: Column not found: 1054 Unknown column 'attribute_id' in 'where...