From b11718699ede4fc152dae5f2dd14a27d739b4cf3 Mon Sep 17 00:00:00 2001 From: Sarah Hoffmann Date: Tue, 31 Jul 2012 00:31:38 +0200 Subject: [PATCH] fail on error - stop indexing if there is any other error than deadlock from the DB - stop import if osm2pgsql or indexing fails --- nominatim/index.c | 3 +-- utils/setup.php | 15 +++++++++++---- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/nominatim/index.c b/nominatim/index.c index 9667e505..f337a9ec 100644 --- a/nominatim/index.c +++ b/nominatim/index.c @@ -369,8 +369,7 @@ void *nominatim_indexThread(void * thread_data_in) { fprintf(stderr, "index_placex: UPDATE failed: %s", PQerrorMessage(thread_data->conn)); PQclear(res); - sleep(rand() % 10); -// exit(EXIT_FAILURE); + exit(EXIT_FAILURE); } } } diff --git a/utils/setup.php b/utils/setup.php index 07faa2df..c842ba33 100755 --- a/utils/setup.php +++ b/utils/setup.php @@ -129,7 +129,7 @@ $osm2pgsql .= ' -lsc -O gazetteer --hstore'; $osm2pgsql .= ' -C '.$iCacheMemory; $osm2pgsql .= ' -d '.$aDSNInfo['database'].' '.$aCMDResult['osm-file']; - passthru($osm2pgsql); + passthruCheckReturn($osm2pgsql); $oDB =& getDB(); $x = $oDB->getRow('select * from place limit 1'); @@ -457,11 +457,11 @@ $sOutputFile = ''; if (isset($aCMDResult['index-output'])) $sOutputFile = ' -F '.$aCMDResult['index-output']; $sBaseCmd = CONST_BasePath.'/nominatim/nominatim -i -d '.$aDSNInfo['database'].' -t '.$iInstances.$sOutputFile; - passthru($sBaseCmd.' -R 4'); + passthruCheckReturn($sBaseCmd.' -R 4'); if (!$aCMDResult['index-noanalyse']) pgsqlRunScript('ANALYSE'); - passthru($sBaseCmd.' -r 5 -R 25'); + passthruCheckReturn($sBaseCmd.' -r 5 -R 25'); if (!$aCMDResult['index-noanalyse']) pgsqlRunScript('ANALYSE'); - passthru($sBaseCmd.' -r 26'); + passthruCheckReturn($sBaseCmd.' -r 26'); } if ($aCMDResult['create-search-indices'] || $aCMDResult['all']) @@ -625,3 +625,10 @@ proc_close($hProcess); } + + function passthruCheckReturn($cmd) + { + $result = -1; + passthru($cmd, $result); + if ($result != 0) fail('Error executing external command: '.$cmd); + } -- 2.39.5