Follow

🔴
Hello Masto ! Est-ce que tu sais ce qui déclenche la création d'un dossier "owncloud.db.lock" dans "/data/" sur NextCloud ? Ça se fout sans raison apparente et ça me bloque tout NextCloud, c'est la seconde fois en 15jrs…
Sachant que :

– Les logs n'apporte rien de fou là dessus ;
– On est moins de 5 utilisateurs simultanés ;
– La BDD est en SQLite ;
– C'est un serveur Mutualisé chez Gandi avec une installation perso ;

· · Web · 4 · 18 · 0

@duponin Ok, je viens de lire (fr.wikipedia.org/wiki/Mutex) je me coucherais moins con 😅

Je pense qu'on est sur une bonne voie, mais pourquoi il se créer, sachant que je ne fais rien de particulier et que je n'ai pas de tâche (volontaire) qui en ait la nécessité ! En fait j'essaie de comprendre le pourquoi du comment ! Et surtout pourquoi il bloque, et ne se supprime pas.

On dirait un reste de OwnCloud que NextCloud n'a pas gérer vu le nom !

@StefOfficiel Pour le nom c'est peut-être simplement un oubli dans le code ou que le changement n'a pu être fait pour le moment parce qu'il a de nombreuses implications. Rien de très probant.
Pour le lock je me demande s'il n'y a pas régulièrement des opérations automatiques sur la base, et en SQLite ça doit se faire moins vite, du coup le lock est mis et peut rester longtemps.
Chaque action sur l'appli peut toucher la DB, >>
@duponin

@StefOfficiel >> Copier une photo va générer une miniature qui sera stockée dans la DB je pense, donc lock. S'il y a x photos, lourdes, ça fait plein de miniatures.
S'il y a une synchro d'un appareil en automatique aussi par exemple.. etc.
Tu n'as pas la possibilité de changer de moteur de DB j'imagine ? Un MySQL/MariaDB/PostgreSQL ?

@duponin

@Epy En réalité, j'utilise tout le temps un MySQL et à l'installation je faisais 500 trucs à la fois, le syndrome du "Suivant>Suivant>Suivant" sans lire, et paf SQLite à fait des Chocapics! La migration doit être possible, il me semble qu'il y ait un outil NC pour le faire.
Mais je me suis dit que nous allions tester SQLite, qui est en réalité bien plus user-friendly* Donc je pref trouver une solution viable à cette panne plutôt qu'une migration (même si je pense la faire tôt ou tard).
@duponin

@Epy @duponin

* On me demande par fois de faire des installations, et j'aimerais proposer à des Michus la solution NextCloud, mais en les laissant faire pour celles et ceux qui s'en sentent capable, et donc gérer tout. Ce qui me vaut de connaître certaines pannes et savoir y palier. Sinon je ne propose pas SQLite 😉

@StefOfficiel Tu as tout à fait raison :) "Eating your own dog food" en.wikipedia.org/wiki/Eating_y
J'espère que tu va trouver.. limite si les forums n'aident pas il faudrait aller lire le code pour voir où est créé ce fichier puis pourquoi. Une fois que l'info sera en ta possession tu pourras la diffuser partout ^^

@duponin

@Epy Je ne le trouve pas dans les issues NextCloud, donc soit le problème ne touche que moi (le pervers) soit les autres kiffent ça et ne le disent pas, soit je suis le seul à l'avoir découvert (lol)

@Epy @StefOfficiel @duponin
Boooh, le stockage d'image dans les DB SQL, quel truc de cochon, déjà les longs textes comme fait wordpress c'est désespérant de connerie.

J’espère que ça ne fait pas ça, on fait rarement des requêtes sur des images... mieux vaut un lien vers l'image dans la base, elle en sera d'autant plus petite et tiendras donc plus probablement en cache, accélérera les traitement et fera des dumps plus petits. Le texte ça se compresse en plus beaucoup mieux qu'une image.

@popolon Je pensais à la miniature seulement, en base64 ça se voit souvent.. même si c'est crade.
Je n'ai pas vérifié pour NC ou OC, je ne fais que supposer. Générer le fichier et le linker serait mieux probablement. @StefOfficiel @duponin

@Epy L'image en Base64 s'utilise encore comme moyen "d'anti-copie" 😅 et c'est pas une blague ! @popolon @duponin

@StefOfficiel 😱 C'est vrai, j'avais oublié !
C'est horrible et juste nul, ça demande à peine plus de connaissances pour la récupérer.
@popolon @duponin

@Epy Pour un geek, un Michu ne saura pas le faire, et c'est eux que vise cette "protection" ! @popolon @duponin

@StefOfficiel @Epy @duponin
Ah, j'ai vu du texte incopie-collable sur un site japonais de lyrics => ctrl-u pour le src dans firefox, comme caractères complexes, ils se sont amusé à les mettre sous forme hexadeci donnant un truc du genre &Xabc1, suffisait de copier le texte >toto.html, puis w3m -dump toto.html pour avoir le texte tout propre en UTF ^^. On dira que ça rebute les grands débutants.

@popolon Je l'utilise pour l'aspect du site/web-logiciel pour améliorer l'aspect "appli" d'un site par ex ! @Epy @duponin

@Epy @StefOfficiel @duponin

Oui, je sais bien que ça se fait malheureusement. j'étais un peu plus déçu de NextCloud sur ce point. J'avais fait une demander pour supporter les htpassword dans leur outil Android, zont définitivement refusé. Ils ont pas compris que leur moteur utilise plein de javascript, ingérable en sécu, avec les dépendances en cascades à des modules pleins de trous dans les chaussettes. Du coup,j'ai gagné quelques 10 x Mo sur mon phone, j'utilise le navigateur :).

@StefOfficiel MUTual EXclusion En court, c’est pour que des processus (au minimum deux) ne travaillent pas simultanément sur une même ressource (ici la DB) ce qui pose un problème de Concurrence Logicielle

Si c’est ce à quoi je pense, le fichier de lock est pour éviter un accès concurrenciel (mais je me trompe peut être)

@StefOfficiel @duponin
Est-ce que dans les logs système il y a des crash de NextCloud ? Il est possible qu'il ai crashé au moment, ou il traité des données à traiter de façon exclusive sur la base, du coup le lock serait effectivement resté.
voir dans le log de nextcloud, ou bien syslog ou si systemd journalctl

@StefOfficiel
Par contre, c'est vraiment un dossier, pas un fichier qui serait nommé .lock ??? Il faut regarder la date de dernière modif (du fichier ou du dossiers + fichiers contenus , si ça date, c'est probablement un crash ou un bug dans le logiciel ou un plugin qui oubli de l’effacer quand il a fini son job.

@popolon Et ce dossier est vide. Il n'apporte aucune info, ce dossier, une fois en place fais mouliner jusqu'au décrochage, ce qui affiche une erreur "bad geteway"

@StefOfficiel
Il n'y a pas de date sur le dossier ?? Ça permettrait de savoir si c'est un truc qui part en couille et termine pas ou qui a planté, du moins si le fichier se trouve ici, longtemps après sa création.

@popolon Nop que dalle ! NextCloud me dit merci lulu tu te le met au c** et démerde toi ! 🤣

@StefOfficiel
regarde dans ton menu de préférences du client nextcloud si tu aurais pas des fichiers en conflit à résoudre

@tykayn Il y a donc quelques trucs concernant des index manquants et des colonnes facultatives, des "big int" facultatifs. Le tout jouerais sur la rapidité d’exécution, possible que ça y joue ! Je vais approfondir la recherche !

@StefOfficiel SQLite n'est pas du tout viable pour NextCloud (ou la majorité des applis). Avec une seule requête Nextcloud qui peut accéder à la bdd SQLite à la fois, suffit qu'une de ces requêtes rencontre un soucis et ne libère pas l'accès pour que tout s'écroule

@kindly Ouais, je me doute bien, et je voulais aussi voir les limites. Mais là, on est peu à s'en servir et ça plante sans même d'action particulière de notre part ! On l'utiliserais de façon intensif, encore, mais là nop !

@StefOfficiel yep, suffit d'avoir les bonnes conditions et ça casse.

La doc sur le sujet: docs.nextcloud.com/server/20/a

Perso, je recommande PostgreSQL. Encore mieux que MariaDB question performance, j'ai remarqué de mon côté

@kindly Bon, ok, ça met tout le monde d'accord 😅 Je vais migrer vers MySQL et puis c'est tout ^^

@kindly Bon, après, l'avantage, c'est que je connais maintenant la panne et ça me permet de le remettre sur pied en quelques secondes, mais c'est pas l'idéal !

@StefOfficiel @kindly
SQLite ne supporte pas du tout les accès concurrentiels, donc pas besoin d'être nombreux, 2 suffit.

@StefOfficiel @kindly
C'est sqlite3 lui même qui crée le .lock normalement (ou peut être un wrappeur pourrit en js/php). sqlite est utilisé dans l'embarqué dont missions critiques ISS (station, pas la boîte à bugs en huis clos de Microsoft), un seul fichier .c bien testé donc, et le dossier .lock est documenté dans le code

Il est concurrentiel pour la lecture, pas l'écriture, il faut se mettre en queue et attendre via une fonction de callback (rappel).

sqlite.org/whentouse.html

@popolon @kindly Je suis en train de me demander si ça ne vient pas de Deck. C'est le seul outil où on était potentiellement deux à faire une action sur le même deck !

@StefOfficiel j’arrive un peu tard mais SQlite pour 5 users même si y’a jamais de mouvements... c’est déjà trop.
Go PostgreSQL ou MariaDB.

Sign in to participate in the conversation
Diaspodon

Diaspodon.fr est une instance majoritairement francophone et généraliste. Aucun contenu du fédiverse n'est filtré par une décision d'administrateur ou de modérateur.