Your understanding is correct! If the required spool space for a USER's query on one AMP is less than what is currently available then TD can't hold the intermediate results in spool and thus end up with no more spool space error.
You can fix this error by revisiting the index selection for the tables involved in the query, because if too much data is pulled in the spool then this is not a good sign. May be refreshing STATS can help because may be the TD optimizer is choosing a wrong execution plan because of the available stale stats.
↧