Système de blocage des requêtes longues

Edit me

Introduction

Voozanoo 4 inclut un système censé détecter les “requêtes longues” avant qu’elles ne soient réellement exécutées. Ces requêtes sont problématiques car elles posent problème, pas seulement à l’application impliquée, mais aussi aux autres applications sur le même serveur.

Configuration

Ce système est configuré dans les application.ini via la directive suivante :

voozanoo.db.max_rows_per_query = 100000000

Si cette directive n’existe pas, le système n’est pas actif.

La valeur conseillée est 100 000 000 ce qui est large et qui sera sans doute diminué par la suite.

Effet de ce système

Lorsque cette sécurité est activée, si la limite définie dans le application.ini est atteinte :

  1. La requête n’est pas exécutée pour ne pas mettre le serveur en danger.
  2. Une exception est levée avec le message ci-dessous.
[23-Jul-2018 14:59:42 Europe/Paris] exception 'Core_Library_Exception_TooManyRowsError' with message 'Too many rows browsed (1613829 rows, 10000 allowed in configuration)' in /space/www/libs/VOOZANOO4/2.26-alpha/src/library/Resource/XML/DataSet/RowData/Adapter/ZendDBSelect.php:257
Stack trace:
#0 /space/www/libs/VOOZANOO4/2.26-alpha/src/library/Resource/XML/DataSet/RowData/Adapter/ZendDBSelect.php(145): Core_Library_Resource_XML_DataSet_RowData_Adapter_ZendDBSelect->_queryPacket()

Comment désactiver le système

Si vous obtenez cette exception et que vous estimez que ce n’est pas normal, il faut bien entendu investiguer, mais, dans l’urgence, vous auriez peut-être à désactiver le système dans l’application.ini :

voozanoo.db.max_rows_per_query = 0