I realized today that the critical section is being held past when we send the final lock-and-commit query. But we don't need to wait for the response. As soon as the query is sent, the commit will happen without any further Python involvement (we only generate one resultset from that query and its the last thing we do after committing) and we should let other threads/greenlets run so that they can get as far along as they can.
I thought that was being handled already but I'm not finding it.
I realized today that the critical section is being held past when we send the final lock-and-commit query. But we don't need to wait for the response. As soon as the query is sent, the commit will happen without any further Python involvement (we only generate one resultset from that query and its the last thing we do after committing) and we should let other threads/greenlets run so that they can get as far along as they can.
I thought that was being handled already but I'm not finding it.