Je viens de tester et j'ai un comportement bizarre si je choisis une
zone assez importante pour les requêtes (*tant sur geojb que sur les
portails communaux*).
Dans l'exemple indiqué en pièce jointe, j'ai (sans les parcelles), 200
éléments pour lesquels je demande des attributs. Du coup, dans la table
parcelle, je n'ai que 76 enregistrements. TU peux voir sur le png que
toutes les parcelles ne sont pas en jaune et surtout, je n'ai pas
l'onglet des attributs des parcelles supplémentaires.
Vu comme c'est, je pencherais donc pour un nombre limite mais est-ce
bien celà ? Si oui, quel serait l'impact sur le produit si on l'augmente ?
Transform the hardcoded value to a global variable stored in configuration
Impact : If the customer set the variable too high there's two problems
The api can timeout (default depending of webserver setup), can be overrided by
ProxyTimeout 600
and inactivity-timeout=3600 deadlock-timeout=1800
But this affect all portals (when only one api is setup)
Can lead to ddos of webserver and api (imagine request on million records)
The end user browser can received thousand or millions json response, and just can't be able to manage them, the browser has to be killed.
To bypass those two failure point, I would recommend a hard check when parsing the value
if > 10000 limit to 10000
Set forced a reasonable timeout for wsgi module, so api can timeout before dying.
Customer announcement
Code impacted
chsdi/views/features.py line 120
Proposal solution :
Transform the hardcoded value to a global variable stored in configuration
Impact : If the customer set the variable too high there's two problems
To bypass those two failure point, I would recommend a hard check when parsing the value if > 10000 limit to 10000 Set forced a reasonable timeout for wsgi module, so api can timeout before dying.
@Jenselme your comments ?