https://dev.entrouvert.org/https://dev.entrouvert.org/favicon.ico?15861920342022-11-18T07:50:41ZRedmine Entr’ouvertw.c.s. - Development #71441: Passer les nonces dans la base de donnéeshttps://dev.entrouvert.org/issues/71441?journal_id=4232612022-11-18T07:50:41ZFrédéric Pétersfpeters@entrouvert.com
<ul></ul><blockquote>
<p>ça semble à l'origine de gros pics d'iowait la nuit lors de l'exécution des crons de nettoyage</p>
</blockquote>
<pre>
cls.register_cronjob(CronJob(cls.clean_nonces, minutes=range(0, 60, 5), name='clean_nonces'))
</pre>
<p>Le job de nettoyage des nonces est programmé pour tourner toutes les cinq minutes, je pense qu'il y a erreur dans l'analyse.</p> w.c.s. - Development #71441: Passer les nonces dans la base de donnéeshttps://dev.entrouvert.org/issues/71441?journal_id=4232662022-11-18T07:57:50ZPierre Ducroquet
<ul></ul><p>Je me suis fait avoir par le nom de l'autre cron qui tournait et qui pour moi était déjà en base. Clean_sessions nettoie en fait les form_tokens qui ont exactement le même fonctionnement et le même problème que les nonces.<br />Donc il y aura le même ticket à faire, mais pour form_tokens. Je suis d'avis de commencer par nonces parce que ça me semble plus facile à faire et donnera un premier aperçu de l'évolution.</p> w.c.s. - Development #71441: Passer les nonces dans la base de donnéeshttps://dev.entrouvert.org/issues/71441?journal_id=4232742022-11-18T08:09:09ZBenjamin Dauvergne
<ul></ul><p>Pierre Ducroquet a écrit :</p>
<blockquote>
<p>Je me suis fait avoir par le nom de l'autre cron qui tournait et qui pour moi était déjà en base. Clean_sessions nettoie en fait les form_tokens qui ont exactement le même fonctionnement et le même problème que les nonces.<br />Donc il y aura le même ticket à faire, mais pour form_tokens. Je suis d'avis de commencer par nonces parce que ça me semble plus facile à faire et donnera un premier aperçu de l'évolution.</p>
</blockquote>
<p>Tu peux ouvrir un ticket spécifique pour les form_tokens ? Parce que pour les form_tokens la situation est particulière, ils sont sensés être liés à une session<sup><a href="#fn1">1</a></sup> et qu'il y a déjà un moyen de déporter le stockage en table principale des sessions via sql.TransientData utilisé actuellement pour les magictokens.</p>
<p>Est-ce que ce ne serait pas plus simple d'utiliser memcache (rendu cohérent pour l'occasion) pour les nonces ? L'expiration n'est qu'à 30 secondes et on peut se permette de ne pas être totalement ACID et éventuellement consistent sur un système qui limite le rejeu (ce que je dirai qu'on est déjà via NFS).</p>
<p id="fn1" class="footnote"><sup>1</sup> ce qui n'est plus vrai dans l'implémentation via le filesystem actuelle, vu que le chemin ne contient que l'identifiant du token et pas celui de la session dans laquelle on l'a créé, mais passons, ça se corrigera tout seul si on change le mode de stockage.</p> w.c.s. - Development #71441: Passer les nonces dans la base de donnéeshttps://dev.entrouvert.org/issues/71441?journal_id=4233042022-11-18T08:44:04ZPierre Ducroquet
<ul></ul><p>Benjamin Dauvergne a écrit :</p>
<blockquote>
<p>Pierre Ducroquet a écrit :</p>
<blockquote>
<p>Je me suis fait avoir par le nom de l'autre cron qui tournait et qui pour moi était déjà en base. Clean_sessions nettoie en fait les form_tokens qui ont exactement le même fonctionnement et le même problème que les nonces.<br />Donc il y aura le même ticket à faire, mais pour form_tokens. Je suis d'avis de commencer par nonces parce que ça me semble plus facile à faire et donnera un premier aperçu de l'évolution.</p>
</blockquote>
<p>Tu peux ouvrir un ticket spécifique pour les form_tokens ? Parce que pour les form_tokens la situation est particulière, ils sont sensés être liés à une session<sup><a href="#fn1">1</a></sup> et qu'il y a déjà un moyen de déporter le stockage en table principale des sessions via sql.TransientData utilisé actuellement pour les magictokens.</p>
</blockquote>
<p>Yep, c'est prévu, je regarde un peu le code pour réfléchir au truc avant de faire le ticket.</p>
<blockquote>
<p>Est-ce que ce ne serait pas plus simple d'utiliser memcache (rendu cohérent pour l'occasion) pour les nonces ? L'expiration n'est qu'à 30 secondes et on peut se permette de ne pas être totalement ACID et éventuellement consistent sur un système qui limite le rejeu (ce que je dirai qu'on est déjà via NFS).</p>
</blockquote>
<p>Rendu cohérent pour l'occasion, en voilà une phrase qu'elle est belle :)<br />Oui ça serait sûrement plus simple, mais je n'ai pas connaissance de l'utilisation de memcache au sein de wcs, et je n'ai jamais regardé comment rendre le memcache "cohérent" entre les nœuds.</p>
<blockquote>
<p id="fn1" class="footnote"><sup>1</sup> ce qui n'est plus vrai dans l'implémentation via le filesystem actuelle, vu que le chemin ne contient que l'identifiant du token et pas celui de la session dans laquelle on l'a créé, mais passons, ça se corrigera tout seul si on change le mode de stockage.</p>
</blockquote>
<p>C'est effectivement ce qu'il me semble aussi de ce que j'ai commencé à lire (mais ça posera la question de la migration)</p> w.c.s. - Development #71441: Passer les nonces dans la base de donnéeshttps://dev.entrouvert.org/issues/71441?journal_id=4233252022-11-18T09:06:50ZPierre Ducroquet
<ul><li><strong>Lié à</strong> <i><a class="issue tracker-2 status-5 priority-4 priority-default closed" href="/issues/71455">Development #71455</a>: Passer les form_tokens dans la base de données</i> ajouté</li></ul> w.c.s. - Development #71441: Passer les nonces dans la base de donnéeshttps://dev.entrouvert.org/issues/71441?journal_id=4234172022-11-18T12:23:23ZBenjamin Dauvergne
<ul></ul><p>Pierre Ducroquet a écrit :</p>
<blockquote>
<p>Rendu cohérent pour l'occasion, en voilà une phrase qu'elle est belle :)<br />Oui ça serait sûrement plus simple, mais je n'ai pas connaissance de l'utilisation de memcache au sein de wcs, et je n'ai jamais regardé comment rendre le memcache "cohérent" entre les nœuds.</p>
</blockquote>
<p>En général ça veut dire n'en avoir qu'un et le partager.</p> w.c.s. - Development #71441: Passer les nonces dans la base de donnéeshttps://dev.entrouvert.org/issues/71441?journal_id=4357452023-01-11T19:16:51ZFrédéric Pétersfpeters@entrouvert.com
<ul><li><strong>Statut</strong> changé de <i>Nouveau</i> à <i>En cours</i></li><li><strong>Assigné à</strong> changé de <i>Pierre Ducroquet</i> à <i>Frédéric Péters</i></li></ul><p>Je prends dans la suite de <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Development: Passer les form_tokens dans la base de données (Fermé)" href="https://dev.entrouvert.org/issues/71455">#71455</a> et pareil ici on peut réutiliser une table existante (token, qui gère déjà l'expiration).</p> w.c.s. - Development #71441: Passer les nonces dans la base de donnéeshttps://dev.entrouvert.org/issues/71441?journal_id=4357462023-01-11T20:20:57ZRobot Gitea
<ul><li><strong>Statut</strong> changé de <i>En cours</i> à <i>Solution proposée</i></li></ul><p>Frédéric Péters (fpeters) a ouvert une pull request sur Gitea concernant cette demande :</p>
<ul>
<li>URL : <a class="external" href="https://gitea.entrouvert.org/entrouvert/wcs/pulls/28">https://gitea.entrouvert.org/entrouvert/wcs/pulls/28</a></li>
<li>Titre : misc: save received nonces in token table (<a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Development: Passer les nonces dans la base de données (Fermé)" href="https://dev.entrouvert.org/issues/71441">#71441</a>)</li>
<li>Modifications : <a class="external" href="https://gitea.entrouvert.org/entrouvert/wcs/pulls/28/files">https://gitea.entrouvert.org/entrouvert/wcs/pulls/28/files</a></li>
</ul> w.c.s. - Development #71441: Passer les nonces dans la base de donnéeshttps://dev.entrouvert.org/issues/71441?journal_id=4358142023-01-12T08:37:22ZRobot Gitea
<ul><li><strong>Statut</strong> changé de <i>Solution proposée</i> à <i>Solution validée</i></li></ul><p>Lauréline Guérin (lguerin) a approuvé une pull request sur Gitea concernant cette demande :</p>
<ul>
<li>URL : <a class="external" href="https://gitea.entrouvert.org/entrouvert/wcs/pulls/28">https://gitea.entrouvert.org/entrouvert/wcs/pulls/28</a></li>
<li>Commentaire :</li>
</ul>
<p>N/A</p> w.c.s. - Development #71441: Passer les nonces dans la base de donnéeshttps://dev.entrouvert.org/issues/71441?journal_id=4362092023-01-13T11:50:22ZRobot Gitea
<ul><li><strong>Statut</strong> changé de <i>Solution validée</i> à <i>Résolu (à déployer)</i></li></ul><p>Frédéric Péters (fpeters) a mergé une pull request sur Gitea concernant cette demande :</p>
<ul>
<li>URL : <a class="external" href="https://gitea.entrouvert.org/entrouvert/wcs/pulls/28">https://gitea.entrouvert.org/entrouvert/wcs/pulls/28</a></li>
<li>Titre : misc: save received nonces in token table (<a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Development: Passer les nonces dans la base de données (Fermé)" href="https://dev.entrouvert.org/issues/71441">#71441</a>)</li>
<li>Modifications : <a class="external" href="https://gitea.entrouvert.org/entrouvert/wcs/pulls/28/files">https://gitea.entrouvert.org/entrouvert/wcs/pulls/28/files</a></li>
</ul> w.c.s. - Development #71441: Passer les nonces dans la base de donnéeshttps://dev.entrouvert.org/issues/71441?journal_id=4363272023-01-13T15:14:30ZTransition automatique
<ul><li><strong>Statut</strong> changé de <i>Résolu (à déployer)</i> à <i>Solution déployée</i></li></ul> w.c.s. - Development #71441: Passer les nonces dans la base de donnéeshttps://dev.entrouvert.org/issues/71441?journal_id=4521202023-03-19T03:42:01ZTransition automatique
<ul></ul><p>Automatic expiration</p>