Simple Machines Community Forum

SMF Support => Language Specific Support => Français (French) => Topic started by: bisane on June 21, 2020, 02:09:04 PM

Title: user_alerts corrompue
Post by: bisane on June 21, 2020, 02:09:04 PM
Bonjour à tous !

Depuis quelques jours, la table user_alerts est régulièrement corrompue, ce qui provoque des messages d'erreurs par centaines et un ralentissement de l'accès au forum.
Je l'ai réparée régulièrement, mais cela revient inexorablement !  :(


Quelqu'un aurait-il une idée de là où ça peut provenir ?Le seul changement que j'ai effectué a été d'activer le cache suite à un conseil de mon hébergeur... Je le désactive de ce pas pour voir si ça va mieux, d'ailleurs.

Mais si le problème vient de là, c'est un peu embêtant, non, qu'une option censée améliorer les performances fasse tout le contraire ?  :P :-\ 
Title: Re: user_alerts corrompue
Post by: SychO on June 21, 2020, 02:13:20 PM
Plus de détails s'il vous plait.

Etes vous sur SMF2.1 ? si oui, RC2 ?

Corrompu comment ? Que faite vous exactement pour le réparée ?
Title: Re: user_alerts corrompue
Post by: bisane on June 21, 2020, 02:52:39 PM
Merci pour cette 1ère réponse !

QuoteEtes vous sur SMF2.1 ? si oui, RC2 ?
SMF 2.1 Beta 3

Corrompue, parce que ça me dit qu'elle est "crash" et ne peut pas être réparée automatiquement.
Type d'erreur: Base de données
: Table './xxxxx/smf_user_alerts' is marked as crashed and last (automatic?) repair failed


Mode de "réparation", via phpmyadmin.
Opération maintes fois renouvelée, souvent plusieurs fois pour que cela fonctionne, et qui finit par donner ce résultat, qui n'est malheureusement pas durable :
_user_alerts    repair    status    OK
Title: Re: user_alerts corrompue
Post by: SychO on June 21, 2020, 03:51:15 PM
Vous devriez demander à votre hébergeur d'examiner le problème, d'autant plus qu'il continue de se produire.

Vous devriez également faire une mise à jour. RC2 est la dernière version, de nombreuses changement et corrections de bogues ont été soumises depuis la Beta 3.

Je recommanderais de supprimer les données du tableau, mais je ne sais pas si cela poserait un problème dans la Beta 3 car je ne suis pas familier avec cette version, je sais que ce ne serait pas un problème dans RC2.
Title: Re: user_alerts corrompue
Post by: bisane on June 22, 2020, 02:07:17 AM
Quote from: SychO on June 21, 2020, 03:51:15 PMJe recommanderais de supprimer les données du tableau,
Quelles données de quel tableau ?
Vider la table users_alerts ? Cela risquerait de faire que certains utilisateurs ne seraient plus avertis des modifications danq les messages qu'ils suivent, non ?

Quote from: SychO on June 21, 2020, 03:51:15 PM
Vous devriez demander à votre hébergeur d'examiner le problème, d'autant plus qu'il continue de se produire.
Ca fait un mois que je lui demande de regarder, car il y avait des ralentissements importants, le matin, sans grand résultat.
Mais le problème que j'expose ici est récent et est bel et bien apparu depuis que j'ai activé le cache.
Et je confirme : après l'avoir désactivé hier suite à ma réponse, je n'ai plus ces messages d'erreurs pléthoriques et la table semble avoir tenu le coup...
Title: Re: user_alerts corrompue
Post by: SychO on June 22, 2020, 10:12:12 AM
Quote from: bisane on June 22, 2020, 02:07:17 AM
Quelles données de quel tableau ?
Vider la table users_alerts ? Cela risquerait de faire que certains utilisateurs ne seraient plus avertis des modifications danq les messages qu'ils suivent, non ?

Non, le tableau contient les notifications déjà reçus, vos utilisateurs continuerons à recevoir des notifications, c'est juste qu'ils vont perdre leur ancien (lus/non lus) notifications. Cependant je ne sais pas si c'est OK de faire ça dans la version Beta, donc je ne recommande pas pour le moment.

Quote from: bisane on June 22, 2020, 02:07:17 AM
Mais le problème que j'expose ici est récent et est bel et bien apparu depuis que j'ai activé le cache.
Et je confirme : après l'avoir désactivé hier suite à ma réponse, je n'ai plus ces messages d'erreurs pléthoriques et la table semble avoir tenu le coup...

Intéressent ??? ça c'est bizarre, aucune idée pourquoi le cache causerai ce problème, ça pourrai être un problème avec la Beta. Je me demande quel est votre configuration cache ? Je voudrai bien essayer de voir si c'est toujours un problème avec la dernière version, ou si il y a une mention du bug dans le traqueur de bogues.
Title: Re: user_alerts corrompue
Post by: bisane on June 22, 2020, 01:06:35 PM
Merci pour votre suivi... qui me semble être bien solitaire !  ;)
Je relance de ce pas le cache pour voir ce que ça donne, et je reviens plus en détail...
Title: Re: user_alerts corrompue
Post by: bisane on June 22, 2020, 02:16:49 PM
Quote from: bisane on June 22, 2020, 01:06:35 PM
Je relance de ce pas le cache pour voir ce que ça donne
Rien à signaler pour le moment...


Quotele tableau contient les notifications déjà reçus,
Quid des "événements" ?
La table étant assez grosse, ça m'irait bien de la vider !  :D
Je peux aussi vider les plus anciens enregistrements...
D'après ce que vous dîtes, et même en "beta", le risque me semble mineur, à condition, bien sûr, de sauvegarder la table dans son état actuel.

Configuration du cache en PJ.
Mais il me vient une autre réflexion, puisqu'il ne s'est rien passé depuis 1h...
Le problème ne pourrait-il pas venir d'une sauvegarde automatique, effectuée en "cron", qui serait quelque peu incompatible avec la mise en cache ?
Je supprime en tout cas temporairement cette dernière pour voir ce que ça donne...


Pardon de ces questions à la volée !  :P
Je ne suis pas du tout une spécialiste, mais essaie de comprendre ce qui se passe...


Merci pour votre patience !  ;)
Title: Re: user_alerts corrompue
Post by: SychO on June 22, 2020, 04:51:06 PM
Quote
Quid des "événements" ?

Événements ? quels événements ? La table ne contient que les alertes(notifications) déjà envoyées.

Quote
La table étant assez grosse, ça m'irait bien de la vider !  :D
Je peux aussi vider les plus anciens enregistrements...
D'après ce que vous dîtes, et même en "beta", le risque me semble mineur, à condition, bien sûr, de sauvegarder la table dans son état actuel.

Si le problème se reproduit copiez la table just en cas, ensuite videz l'original. (vous pouvez le faire même si le problème ne se reproduit pas bien-sûr).

De toute façon dans la RC3 qui sera publiée bientôt, les anciennes alertes(notifications) seront automatiquement vidées et l'administrateur aura l'option de les vidés manuellement.

Quote
Le problème ne pourrait-il pas venir d'une sauvegarde automatique, effectuée en "cron", qui serait quelque peu incompatible avec la mise en cache ?

Il est possible, il est également possible que le problème ne soit pas présent dans une version plus récente.

Dans tous les cas, si même après avoir vidé la table le problème persiste, la seule chose que je pourrais recommander est d'essayer une mise à jour. Il est toujours possible que le problème soit résolu dans une nouvelle version.
Title: Re: user_alerts corrompue
Post by: bisane on June 23, 2020, 02:05:08 AM
Quote from: SychO on June 22, 2020, 04:51:06 PM
Quote
Quid des "événements" ?
Événements ? quels événements ? La table ne contient que les alertes(notifications) déjà envoyées.
Je ne crois pas que cela soit vrai dans mon cas....
La table contient 5 content_type, associés à  des content_action : member [regiter_activation], board [topic], topic [reply], msg [ quote], et... event [new]. Or c'est ce dernier "type" qui contient la très grande majorité des enregistrements !
Sachant que ces "événements" enregistrés sont indispensables au bon fonctionnement du forum, vous comprendrez bien que je nourrisse quelques craintes à les perdre...  :P

QuoteIl est toujours possible que le problème soit résolu dans une nouvelle version.
Possible, mais pas certain... or une mise à jour comporte en elle-même toujours quelques risques...
Et dans la mesure où le problème est récent, alors que le forum "tourne" sur cette version depuis plus de 2 ans sans souci, je préférerais comprendre d'où vient le problème avant de m'engager dans une telle opération !  ;)
Title: Re: user_alerts corrompue
Post by: SychO on June 23, 2020, 04:58:07 AM
Quote from: bisane on June 23, 2020, 02:05:08 AM
Je ne crois pas que cela soit vrai dans mon cas....
La table contient 5 content_type, associés à  des content_action : member [regiter_activation], board [topic], topic [reply], msg [ quote], et... event [new]. Or c'est ce dernier "type" qui contient la très grande majorité des enregistrements !
Sachant que ces "événements" enregistrés sont indispensables au bon fonctionnement du forum, vous comprendrez bien que je nourrisse quelques craintes à les perdre...  :P

Chaque alerte est liée à un contenu spécifique, le contenu est défini par son ID (content_id), son type (content_type) et l'action faite sur le contenu (content_action). Les Evénements dont vous parlez, sont des alertes(notifications) sur les événements du calendrier. Par exemple event[new] s'agit d'une notification envoyée lorsque quelqu'un crée un événement dans le calendrier du forum et pas autre chose.

Je ne vous conseil pas de vider la table car je sais bien que le système d'alerte était un peut fragile dans la bêta, nous avons corrigé de nombreux bugs depuis. Mais je pense que ce ne serait pas un problème si vous sauvegardiez la table au cas où, puis la vidiez.
Title: Re: user_alerts corrompue
Post by: bisane on June 23, 2020, 01:07:37 PM
Re-re-re...

J'ai fait comme l'indique votre signature : "I've Take the initiative", avant même votre réponse !
J'ai donc sauvegardé la table, puis vidé tous les content_type "event"...
Résultat : une table qui est passée de 400 Mo à... 3 Mo !!!  :o :o :o

J'ignorais que la création d'événements générait une notification...
Pour quoi faire? Adressée à qui ???
Cela signifie-t-il que désormais chaque événement créé générera une nouvelle notification ? Comment éviter cela ?
Maintenant que je le sais, je pourrais, de temps à autre, nettoyer la table, mais s'il y avait quelque chose de moins contraignant...


Quoteje sais bien que le système d'alerte était un peut fragile dans la bêta
Je confirme !!!
Et j'espère que vous dîtes vrai :
Quotenous avons corrigé de nombreux bugs depuis
Title: Re: user_alerts corrompue
Post by: SychO on June 23, 2020, 03:10:29 PM
Quote from: bisane on June 23, 2020, 01:07:37 PM
Pour quoi faire? Adressée à qui ???

C'est utile pour d'autres types de forums.

Quote from: bisane on June 23, 2020, 01:07:37 PM
Cela signifie-t-il que désormais chaque événement créé générera une nouvelle notification ? Comment éviter cela ?

Les membres peuvent désactiver la notification d'événements calendrier dans leurs préférences de notifications, mais normalement c'est désactivé par default.
Title: Re: user_alerts corrompue
Post by: bisane on June 24, 2020, 02:02:04 AM
Quote from: SychO on June 23, 2020, 03:10:29 PM
Quote from: bisane on June 23, 2020, 01:07:37 PM
Cela signifie-t-il que désormais chaque événement créé générera une nouvelle notification ? Comment éviter cela ?

Les membres peuvent désactiver la notification d'événements calendrier dans leurs préférences de notifications, mais normalement c'est désactivé par default.
Alors pourquoi créer des notifications et comment éviter cette inscription dans la table ?
Title: Re: user_alerts corrompue
Post by: SychO on June 24, 2020, 05:45:16 AM
pourquoi ? parce-qu'il y a surement des membres qui ont activé ce type de notification.
éviter ? vous ne pouvez pas changer les paramètres des autres membres.
Title: Re: user_alerts corrompue
Post by: bisane on June 25, 2020, 01:38:36 AM
Quote from: SychO on June 24, 2020, 05:45:16 AMparce-qu'il y a surement des membres qui ont activé ce type de notification.
Non, non...
La plupart des événements sont ajoutés par des membres de l'équipe, et sont bien souvent antérieures à leur date d'inscription !Il n'y a strictement aucun intérêt à se les faire notifier !  :P
Title: Re: user_alerts corrompue
Post by: SychO on June 25, 2020, 08:06:58 AM
Quote from: bisane on June 25, 2020, 01:38:36 AM
La plupart des événements sont ajoutés par des membres de l'équipe, et sont bien souvent antérieures à leur date d'inscription !Il n'y a strictement aucun intérêt à se les faire notifier !

Malheureusement, peu importe que l'événement soit daté ou non, une notification sera néanmoins envoyée.

Mais vous avez raison, je ne pense pas qu'il devrait envoyer une notification pour un événement techniquement ancien, je vais porter cela à l'attention de l'équipe de développement pour voir si quelque chose peut être fait avant la sortie stable.
Title: Re: user_alerts corrompue
Post by: alexetgus on June 25, 2020, 01:32:37 PM
Salut,

Ca ne sert à rien de prévenir qui que ce soit, les Dev ne feront rien pour la beta 3. Elle appartient au passé.
Il est impératif de mettre à jour, ce n'est pas négociable ! Pour dépanner une beta, il faut mettre à jour vers la RC2.

En plus, fonctionner en prod avec une beta, c'est du suicide !
Title: Re: user_alerts corrompue
Post by: SychO on June 25, 2020, 01:55:54 PM
Quote from: alexetgus on June 25, 2020, 01:32:37 PM
Ca ne sert à rien de prévenir qui que ce soit, les Dev ne feront rien pour la beta 3. Elle appartient au passé.

C'est pour cela que j'avais dit, pour la version stable.
Title: Re: user_alerts corrompue
Post by: alexetgus on June 25, 2020, 02:04:22 PM
Une RC n'est pas une version stable, mais on s'en approche.
Toujours est-il qu'une RC sera toujours plus stable qu'une beta...

Il faut absolument mettre à jour ! On ne pose pas de questions concernant une beta quand une RC existe !...
En plus, je ne vois pas ce qui gêne la mise à jour. Des mods peut-être ? Il y a eu très peu de mods pour les beta SMF et ils ont été mis à jour, dans leur grande majorité.
Si un problème apparait à la mise à jour, il suffit de désinstaller les mods, mettre à jour et réinstaller les mods.

Quitte à placer le forum en maintenance en plaçant la variable $maintenance à 2 du fichier Settings.php.
Mais il faut absolument mettre à jour !

Une version beta en production, c'est tout sauf raisonnable !..
Title: Re: user_alerts corrompue
Post by: SychO on June 25, 2020, 02:15:51 PM
Quote from: alexetgus on June 25, 2020, 02:04:22 PM
Une RC n'est pas une version stable, mais on s'en approche.

J'ai pas dis ça, vous m'avez mal compris.

Quoi qu'il en soit, l'auteur doit en effet mettre à jour, notamment à cause de tous les correctifs de sécurité depuis la beta.
Title: Re: user_alerts corrompue
Post by: alexetgus on June 25, 2020, 02:21:53 PM
Quote from: SychO on June 25, 2020, 02:15:51 PM
Quoi qu'il en soit, l'auteur doit en effet mettre à jour, notamment à cause de tous les correctifs de sécurité depuis la beta.

Bien sûr qu'il doit mettre à jour, bien sûr. Là dessus on est d'accord.
Si ça se trouve, il y a de fortes chances que son souci soit réglé avec la mise à jour.

Il est normal de rencontrer des problèmes avec une beta. Il s'agit d'une version test, d'une version destinée à faire remonter les soucis.
Si on est un beta testeur, on fait remonter les soucis sur Github (là où se trouve SMF) et on met à jour au fur et à mesure...

Sinon, on attend la sortie de la version définitive de SMF 2.1
Title: Re: user_alerts corrompue
Post by: bisane on June 25, 2020, 02:49:32 PM
Heu... Merci pour vos débats internes, messieurs, mais ils ne font guère avancer mon schmilblick !!!  :( :( :(


Je vais tester une mise à jour dès que je le pourrai, mais les dernières expériences n'ont guère été concluantes, et, puisque la RC3 doit supposément arriver bientôt, j'espérais pouvoir m'économiser au moins une prise de tête...  :P
Non, il n'y a pas trop de "mods" particuliers, mais plein de choses à modifier, du fait d'une personnalisation du forum qui remonte à des années, et qui répond tel qu'il est à nos besoins ! Ce qui n'a été le cas lors d'aucune des mises à jour...  :P


Pardon, hein, mais je ne sais même pas ce que ça veut dire...
QuoteUne version beta en production
Et je passe sur quelques autres expressions qui sont du chinois pour la simple utilisatrice que je suis !  :-\
Je n'ose même pas citer le nom de celui qui m'a aidée à l'installer, au vu de votre virulence !  :-[

J'avais cependant cru comprendre que, justement, ce forum était destiné à venir en aide à des moins "pros" que vous, en vous mettant à leur portée, et sans les engueuler... :(


Je rebondis cependant sur ceci, même si je ne sais même pas ce qu'est le Github :
Quoteon fait remonter les soucis sur Github
Comme je suis quand-même un peu l'histoire, et que la table s'est à nouveau remplie, les notifications ne sont pas liées aux événements eux-mêmes, mais aux "propriétaires" des fils, qui ont demandé à être notifiés des changements intervenus sur leur(s) topic(s).
Cela n'a absolument aucun sens, quand les événements en question peuvent remonter à 2018 ou 2019, voire même avant !
Un bug qui a peut-être été déjà corrigé (j'ai comme un doute...  :P ) et qui pourrait l'être à l'avenir ?


Merci pour votre patience... et pour un peu de magnanimité...  ;)
Title: Re: user_alerts corrompue
Post by: alexetgus on June 25, 2020, 02:58:51 PM
Oulala ! Du calme !
En aucun cas je ne t'agresse, absolument en aucun cas !

Tu n'as pas choisi la bonne version de SMF à installer, c'est tout. Et c'est une grosse erreur.
Moi aussi je suis comme toi, mon SMF est modifié de A à Z, il n'y a plus rien d'origine. Et avant de mettre à jour vers la version 2.1, j'attendrai déjà une version définitive et je prendrai mon temps. Parce-que j'aurai beaucoup de boulot !

A ce moment là, si tu ne peux pas mettre à jour, peut-être que tu peux revenir en arrière, non ? Vers la version 2.0.17 ? Ne me dis pas que tu n'as pas de sauvegarde...


Sinon, pour te renseigner, une version en production, c'est une version disponible à tout le monde sur le net. Il n'y a rien de privé, le site est disponible à tous de A à Z.
Il est aussi disponible pour les hackers... C'est un site en production.


Et dis toi bien qu'il n'y a aucune agressivité, absolument aucune !
Là maintenant, je suis énervé, mais c'est toi qui m'a énervé avec ton commentaire...


Title: Re: user_alerts corrompue
Post by: maximus23 on June 25, 2020, 03:58:28 PM
Bonsoir Bisane,

QuoteEt je passe sur quelques autres expressions qui sont du chinois pour la simple utilisatrice que je suis !  :-\
Je n'ose même pas citer le nom de celui qui m'a aidée à l'installer, au vu de votre virulence !  :-[

Tu peux très bien dire que c'est moi qui te l'ai installé à l'époque (B3) qui ait fait toutes les modifications personnalisées et un suivi des bugs et corrections en équivalence de GitHub concernant la sécurité jusqu'il y a quelques mois.

Mon boulot m'a valu une surcharge énorme de travail (Services Médicaux) et c'est pour cela que je suis actuellement très peu sur le net.

En ce qui concerne les RC elles tournent en production sur de très gros sites ce qui permet de faire avancer les choses pour avoir un débogage optimal comme ici par exemple : https://www.mustangv8.com/fr/forum/ en RC2 avec pas mal de mods et de mises à jour comparative GitHub et un report conséquent de bugs reportés corrigés.

Merci à Sycho pour le suivi actuel car il fait ce qu'il peut aussi.

Bonne fin de soirée.

Title: Re: user_alerts corrompue
Post by: alexetgus on June 25, 2020, 04:03:19 PM
Ah ben voilà, c'est toi qui était derrière tout ça ?!
Je me disais aussi, Max ne doit pas être très bien loin. ;)
Title: Re: user_alerts corrompue
Post by: bisane on June 26, 2020, 01:05:07 AM
Quote from: alexetgus on June 25, 2020, 02:58:51 PM
Oulala ! Du calme !
En aucun cas je ne t'agresse, absolument en aucun cas !
Je ne sais pas qui doit se calmer...  :P

Et on ne doit pas avoir le même système de lecture !
QuoteIl faut absolument mettre à jour ! On ne pose pas de questions concernant une beta quand une RC existe !...
Ok ! Je n'ai plus qu'à mettre mes questions dans ma poche, alors...

Quotefonctionner en prod avec une beta, c'est du suicide !
Ce n'est pas trop ma tendance naturelle...

Et j'en passe !


Je ne viens pas demander de l'aide sur ce forum pour me faire houspiller comme une gamine surprise les doigts dans le pot de confiture...  :P
Quant à celui qui est "derrière tout ça"... ben je trouve ça doublement déplacé :
- d'une part parce que du coup la phôte lui incomberait, alors que l'on devrait pas se placer sur un tel terrain ;
- ensuite parce que c'est bel et bien pour résoudre un certain nombre de problèmes que Max est intervenu, insolvables pour la béotienne que je suis, mais qui tiennent aussi à des "imperfections" de smf dont je ne pourrais être tenue pour responsable.


Enfin, vous vous bataillez sur la version stable ou la RC...Je fais quoi, moi ? Je choisis au doigt mouillé en fonction du sens du vent ?


Title: Re: user_alerts corrompue
Post by: bisane on July 05, 2020, 05:37:57 AM
Vous m'avez très aimablement laissé tomber, mais j'ai quand-même continué à bosser...  :P

Le problème continue, puisqu'il y a près de 1000 enregistrements, parfaitement inutiles, par heure...  :( :o

J'ai donc créé ce script, qui permet d'effacer ces données qui ne servent à rien... et ai créé une tâche cron pour que ce soit réalisé quotidiennement.
Ca pourra peut-être servir à d'autres !  ;)
<?php 

            $servname 
"host"$dbname "mabase"$user "user"$pass "mdp";
            
            try{
                
$dbco = new PDO("mysql:host=$servname;dbname=$dbname"$user$pass);
                
$dbco->setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION);
                
                
$sql "DELETE FROM smf_user_alerts WHERE content_type='event'";
                
$sth $dbco->prepare($sql);
                
$sth->execute();
                
                
$count $sth->rowCount();
                print(
'Effacement de ' .$count' event.');
            }
                  
            catch(
PDOException $e){
                echo 
"Erreur : " $e->getMessage();
            }

?>


Ne reste plus qu'à trouver un code pour optimiser, aussi quotidiennement, la table en question, ce que je ne suis toujours pas parvenue à faire !  :-\


Concernant les mises à jour, j'essaierai de trouver le temps de créer un nouveau fil, mais c'est une véritable catastrophe !!!!
Entre les principes et la réalité, il y a parfois quelques planètes intersidérales !  ;D
Title: Re: user_alerts corrompue
Post by: bisane on July 05, 2020, 02:03:28 PM
Quote from: bisane on July 05, 2020, 05:37:57 AM
Ne reste plus qu'à trouver un code pour optimiser, aussi quotidiennement, la table en question, ce que je ne suis toujours pas parvenue à faire !  :-\
Et voilou !!!  ;)
<?php 

            
       $servname 
"host"$dbname "mabase"$user "user"$pass "mdp";            
            try{
                
$dbco = new PDO("mysql:host=$servname;dbname=$dbname"$user$pass);
                
$dbco->setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION);
                
                
$sql "OPTIMIZE TABLE  `smf_user_alerts` ";
                
$sth $dbco->prepare($sql);
                
$sth->execute();
                
                print(
'optimisation ok !');
            }
                  
            catch(
PDOException $e){
                echo 
"Erreur : " $e->getMessage();
            }

?>
Title: Re: user_alerts corrompue
Post by: bisane on July 05, 2020, 02:04:50 PM
Je vous dis demain si le "cron" a bien fonctionné...  8)
Title: Re: user_alerts corrompue
Post by: bisane on July 06, 2020, 02:55:08 AM
Je poursuis donc mon dialogue solitaire (oxymore  :D ) !
Le cron a bel et bien fonctionné !!!!