It looks like open-ils.cstore rolls back a transaction blindly when something happens in get_records_and_facets. What that something is, I have no idea because that information isn't logged.
Since open-ils.cstore is rolling back the CStoreEditor's transaction, the CStoreEditor editor isn't notified. One way to check this is to change the $e->rollback line in load_myopac_bookbags to
$e->rollback if ($e->{xact});
CStoreEditor still thinks it has a transaction and tries to rollback thus causing the double rollback situation that leads to an internal server error.
I don't know why open-ils.cstore.json_query.atomic is trying a rollback. A quick look over the C code didn't give me any pointer. Maybe a fresh look in the morning will help.
Still trying to figure this out.
It looks like open-ils.cstore rolls back a transaction blindly when something happens in get_records_ and_facets. What that something is, I have no idea because that information isn't logged.
Since open-ils.cstore is rolling back the CStoreEditor's transaction, the CStoreEditor editor isn't notified. One way to check this is to change the $e->rollback line in load_myopac_ bookbags to
$e->rollback if ($e->{xact});
CStoreEditor still thinks it has a transaction and tries to rollback thus causing the double rollback situation that leads to an internal server error.
I don't know why open-ils. cstore. json_query. atomic is trying a rollback. A quick look over the C code didn't give me any pointer. Maybe a fresh look in the morning will help.