X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/143fa6e6b5f9f236de18c87c725cfd884ada613e..88eaf7fb94a112350c954cc6dd7e34b3408d461a:/nominatim/nominatim.py?ds=inline diff --git a/nominatim/nominatim.py b/nominatim/nominatim.py index 14643770..b29bf343 100755 --- a/nominatim/nominatim.py +++ b/nominatim/nominatim.py @@ -124,6 +124,15 @@ class DBConnection(object): self.wait() self.cursor = self.conn.cursor() + # Disable JIT and parallel workers as they are known to cause problems. + # Update pg_settings instead of using SET because it does not yield + # errors on older versions of Postgres where the settings are not + # implemented. + self.perform( + """ UPDATE pg_settings SET setting = -1 WHERE name = 'jit_above_cost'; + UPDATE pg_settings SET setting = 0 + WHERE name = 'max_parallel_workers_per_gather';""") + self.wait() def wait(self): """ Block until any pending operation is done. @@ -297,14 +306,14 @@ class Indexer(object): if command_stat > 100000: for t in self.threads: while not t.is_done(): - wait_select(t.conn) + t.wait() t.connect() command_stat = 0 ready = self.threads else: ready, _, _ = select.select(self.threads, [], []) - assert(False, "Unreachable code") + assert False, "Unreachable code" def nominatim_arg_parser():