Bonjour, Je vous contacte suite à un problème que je rencontre avec GLPI 0.84.8 et FusionInventory sur mon serveur Apache.
Mon problème ressemble beaucoup à celui-là : http://forum.fusioninventory.org/viewtopic.php?id=2595 Du coup, j'ai recherché le patch et je l'ai appliqué sur mon serveur : https://github.com/fusioninventory/fusioninventory-for-glpi/commit/b4182019cb303d4e02c2b6f33281b7de2cbc5af5 Sauf qu'en lisant le code de la classe incriminée (https://raw.githubusercontent.com/fusioninventory/fusioninventory-for-glpi/master/inc/inventorycomputerinventory.class.php) , je me rend compte qu'il doit y avoir un autre problème. En effet, la fonction import() est contient les lignes : // Clean all DB LOCK if exist more than 10 minutes $time = 600; $query = "DELETE FROM `glpi_plugin_fusioninventory_dblockinventorynames` " . " WHERE `date` < CURRENT_TIMESTAMP() - ".$time; $query = "DELETE FROM `glpi_plugin_fusioninventory_dblockinventories` " . " WHERE `date` < CURRENT_TIMESTAMP() - ".$time; $query = "DELETE FROM `glpi_plugin_fusioninventory_dblocksoftwares` " . " WHERE `date` < CURRENT_TIMESTAMP() - ".$time; $query = "DELETE FROM `glpi_plugin_fusioninventory_dblocksoftwareversions` " . " WHERE `date` < CURRENT_TIMESTAMP() - ".$time; // DB LOCK $query = "INSERT INTO `glpi_plugin_fusioninventory_dblockinventorynames` SET `value`='".$name."'"; $CFG_GLPI["use_log_in_files"] = FALSE; $start_time = date('U'); while(!$DB->query($query)) { usleep(100000); ... Contexte : il existe dans ma table glpi_plugin_fusioninventory_dblockinventorynames plusieurs entrées. Vraisemblablement, des locks qui n'ont pu être supprimés suite à un redémarrage du serveur apache, tuant des processus en cours qui avaient créé les locks, mais qui du coup n'ont pas pu les supprimer. Du coup, en lisant le code, je me dis qu'il doit bien y avoir quelque chose pour supprimer ces entrées (vieilles car datant d'au moins 1 mois). Dans le code que j'ai retranscrit plus haut, il y a bien les query de suppression, mais elles ne sont pas exécutées. D'où le problème que je pense qu'il y a. Ne manque-t-il pas des $DB->query($query) après chaque ligne $query = DELETE ..... ? Le patch cache ce problème en libérant la connexion plus rapidement, mais le lock reste et la machine ne sera jamais mise à jour en base. Qu'en pensez-vous ? Cordialement, Matthieu MARC ---------------------------------------------------------- Matthieu MARC Ingénieur informatique Direction des Systèmes d'Information [Description : cid:8D30A827-01D1-4BAD-8638-C748210F90D9] Ecole Nationale Supérieure d'Arts et Métiers 2 boulevard du ronceray 49035 ANGERS http://www.ensam.eu<http://www.ensam.eu/>
_______________________________________________ Fusioninventory-devel mailing list Fusioninventory-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/fusioninventory-devel