From 365e4ab10ab53ddb2bc399134a00b98ab9488d4c Mon Sep 17 00:00:00 2001 From: Marco Antonio Nina Date: Wed, 20 Nov 2013 11:45:58 -0400 Subject: [PATCH] BUG-13543: Some cases are showing triplicated in inbox using SOLR SOLVED MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Al utilizar solr y ver los listados de casos se podian observar casos repetidos. - Se produjo un error al momento de actualizar un registro en solr ya que los datos que se tenian habian caracteres extraños los cuales rompian el xml. - Se valido la formacion del XML añadiendo las etiquetas CDATA y eliminando caracteres extraños, en la class.AppSolr en la funcion buildSearchIndexDocumentPMOS2. - en el caso especifico de la bbdd se descubrio que en los casos que se reproducia el problema la tareas con las que se ponian no existian debido a que era un proceso antiguo. se recomienda cambiar los uid hacia el nuevo uid de la tarea actual. --- workflow/engine/classes/class.AppSolr.php | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/workflow/engine/classes/class.AppSolr.php b/workflow/engine/classes/class.AppSolr.php index 1603325b3..b57cdf1b6 100755 --- a/workflow/engine/classes/class.AppSolr.php +++ b/workflow/engine/classes/class.AppSolr.php @@ -641,11 +641,9 @@ class AppSolr } //remove duplicated $delIndexes = array_unique($delIndexes); - + //var_dump($delIndexes); - - $row = ''; foreach ($delIndexes as $delIndex) { $aRow = array (); @@ -676,25 +674,25 @@ class AppSolr $localDate = date ('Y-m-d H:i:s', strtotime ($solrdate)); $aRow ['APP_UPDATE_DATE'] = $localDate; */ - + // get delegation data from DB //filter data from db $indexes = $this->aaSearchRecords ($aaappsDBData, array ( 'APP_UID' => $appUID, 'DEL_INDEX' => $delIndex )); - + $row = ''; foreach ($indexes as $index) { $row = $aaappsDBData [$index]; - } - - if(!isset($row)) + } + + if (empty($row)) { $fh = fopen("SolrAppWithoutDelIndex.txt", 'a') or die("can't open file to store Solr search time."); fwrite($fh, sprintf("Solr AppUid: %s DelIndex: %s not found.\r\n", $appUID, $delIndex)); fclose($fh); continue; - } + } //$row = $this->getAppDelegationData ($appUID, $delIndex); $aRow ['APP_CREATE_DATE'] = $row ['APP_CREATE_DATE']; $aRow ['APP_UPDATE_DATE'] = $row ['APP_UPDATE_DATE'];