Comment 10 for bug 1931737

Revision history for this message
Jason Stephenson (jstephenson) wrote :

Running parallel ingest (pingest.pl) on a database with no symsqell entries, I get many messages like the following:

DBD::Pg::st execute failed: ERROR: deadlock detected
DETAIL: Process 114527 waits for ShareLock on transaction 280452035; blocked by
 process 114526.
Process 114526 waits for ShareLock on transaction 280452086; blocked by process
114527.
HINT: See server log for query details.
CONTEXT: while updating tuple (28509,21) in relation "symspell_dictionary"
PL/pgSQL function search.symspell_build_and_merge_entries(text,text,text,boolean
) line 34 at RETURN QUERY
SQL statement "SELECT * FROM search.symspell_build_and_merge_entries(new_value,
search_class, old_value)"
PL/pgSQL function search.symspell_maintain_entries() line 17 at PERFORM
SQL statement "DELETE FROM metabib.keyword_field_entry WHERE source = 42494"
PL/pgSQL function metabib.reingest_metabib_field_entries(bigint,boolean,boolean,
boolean,boolean,integer[]) line 35 at EXECUTE at /openils/bin/pingest.pl line 30
6.
metabib.reingest_metabib_field_entries failed for record 42494 at /openils/bin/p
ingest.pl line 309.

It looks like the symspell triggers need to be disabled for parallel ingest to work.