It's pretty simple, but hard to spot: SearchApiServiceInterface::preDelete() cannot throw exceptions, but the default implementation (SearchApiAbstractService::preDelete()) uses $this->removeIndex(), which can throw exceptions, without the necessary try/catch.

When removing the index fails (e.g., because the Solr server cannot be reached – which can easily happen when you want to delete a server), this leads to an uncaught exception which will usually/probably let the whole entity deletion fail.

Comments

drunken monkey’s picture

Issue summary: View changes
Status: Active » Needs review
StatusFileSize
new920 bytes

Straight-forward patch attached.

drunken monkey’s picture

Status: Needs review » Fixed

  • drunken monkey committed 0cc0f80 on 7.x-1.x
    Issue #2533096 by drunken monkey: Fixed uncaught exception when deleting...

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.