Gladys Assistant 4.45 : DuckDB, une révolution dans Gladys ! ⚡

Je te remercie @GBoulvin pour ton retour. Je reste en attente à 41 % pour l’instant, pourvu que ça dure !

1 « J'aime »

Bonjour à tous,
Passage à DuckDB sans accro, avant la base était de 2.12Go et maintenant 16.87Mo
Super boulot et un grand merci…

2 « J'aime »

Merci à tous pour vos retours ! Très content de voir que pour la plupart d’entre vous la migration s’est déroulé avec succès :slight_smile:

@Jluc Par curiosité tu es sur quoi comme stockage ? SSD ?

Si tu comptes avoir une instance Gladys domotique ultra rapide, et stable sur le long terme, je te conseille vraiment le passage au mini-PC. C’est le jour et la nuit et ça ne coute vraiment pas très cher (sur leboncoin / ou en achat reconditionné il y a des pépites pour pas cher), et même en neuf sur Amazon c’est pas si cher que ça ^^

Voilà, c’est commandé :wink:
image
Pour le stockage :
image

4 « J'aime »

Aller, un petit retour,

la migration s’est passée en mon absence
et après mes actions :

-rw-r–r-- 1 root root 4,1G sept. 3 18:15 gladys-production.db
-rw-r–r-- 1 root root 64K sept. 3 18:25 gladys-production.db-shm
-rw-r–r-- 1 root root 22M sept. 3 18:25 gladys-production.db-wal
-rw-r–r-- 1 root root 28M sept. 3 11:44 gladys-production.duckdb
-rw-r–r-- 1 root root 2,4M sept. 3 18:25 gladys-production.duckdb.wal

=>

-rw-r–r-- 1 root root 8,5M sept. 3 18:26 gladys-production.db
-rw-r–r-- 1 root root 64K sept. 3 18:26 gladys-production.db-shm
-rw-r–r-- 1 root root 22M sept. 3 18:26 gladys-production.db-wal
-rw-r–r-- 1 root root 28M sept. 3 11:44 gladys-production.duckdb
-rw-r–r-- 1 root root 2,4M sept. 3 18:26 gladys-production.duckdb.wal

La purge a pris 2h et le nettoyage quelques secondes

1 « J'aime »

Finalement j’ai fait la migration sur une autre machine (mon NAS) sans soucis.

Ma bdd faisait :
-rw-r--r-- 1 root root 14G 29 août 13:18 gladys-production.db

Le nettoyage a mis plus de 48h.
Résultat incroyable, encore bravo :
image

-rw-r--r--  1 root root 57M  2 sept. 19:03 gladys-production.db
-rw-r--r--  1 root root 40M  2 sept. 18:19 gladys-production.duckdb

Sur le NAS, Gladys tourne sans soucis.

Par contre là où je coince, c’est que sur mon PI3 (à jour et en 64bits) Gladys démarre bien et est utilisable jusqu’à ce que je veuille afficher un graphique (peut importe lequel).
Et là pouf j’ai encore cette erreur et surtout ce qui me gêne plus, Gladys s’arrête.

> gladys  | node: ../src/duckdb/src/include/duckdb/execution/aggregate_hashtable.hpp:47: void duckdb::aggr_ht_entry_t::SetPointer(duckdb::data_t* const&): Assertion `(reinterpret_cast<uint64_t>(pointer) & SALT_MASK) == 0' failed.
> gladys exited with code 0

J’ai donc essayé avec une installation vierge de gladys, je rajoute un capteur de température et un graphique. Résultat : même soucis.

Donc je me dis que c’est lié au PI3 ou à la distro …
@pierre-gilles : c’est un cas sans migration, il me semble que tu as refondu le système de requêtage, les données sont issues de duckdb ?

uname -a
Linux rpi3 6.6.31+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.31-1+rpt1 (2024-05-29) aarch64 GNU/Linux
cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 12 (bookworm)"
NAME="Raspbian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

Qui sur un pi3 a réussi une migration ? si oui sur quel distrib ?
Quelqu’un a des idées / infos ?
Je suis chaud pour faire la réinstallation mais seulement s’il y a une lueur d’espoir.

leeloo "please help" the fifth element on Make a GIF

Tu as essayé de mettre à jour Docker ?

docker --version
Docker version 27.2.0, build 3ab4256

c’est la dernière et sur le NAS, je suis en 26

1 « J'aime »

@ProtZ il faudrait être sûr que tu fais bien tourner la bonne architecture d’image Docker sur ton Pi.

Pour ça tu peux faire:

docker image inspect gladysassistant/gladys:v4

Et tu cherche la ligne « Architecture ».

Normalement dans ton cas ça devrait être arm64

hello, bin moi c est la panade !
la migration duckdb etait faite. le menage/purge bien que long etait en train de se faire !
et là je ne sais pour quelle raison mon server s est lancé dans une mise a niveau de ubuntu vers la 24.04 lts, et la plantage du serveur donc serveur à reinstaller !
j espere qu apres la reinstall serveur je pourrai utilisé la sauvegarde gladysplus pour eviter de tout refaire!

@pierre-gilles t’es un génie !
c’était bien l’image téléchargée qui été en 32bits.
Je ne sais pas l’expliquer pour le moment (j’avais bien clean tout avant, l’install est hyper récente, …)

Pour régler le problème, j’ai ajouté dans le service de mon docker-compose.yml :
platform: linux/arm64

Mille fois merci

3 « J'aime »

Si jamais tu as besoin d’aide, n’hésite pas à créer un sujet spécifique :slight_smile:

1 « J'aime »

À mon tour de faire un petit rex !!
Migration réussie.
Après la purge des états SQLite, la tâche était en erreur mais sur le récap de migration il y avait 0 états SQLite, j’ai donc lancé le nettoyage qui a pris un certain temps :sweat_smile: ! Suite à cela ma sauvegarde est passée de 5,2Go à 2,75Go ! J’ai donc lancé une nouvelle fois le job de purge SQLite et là succès ! Après nettoyage ma base est tombée à 275Mo ! Très belle réduction d’espace :star_struck: ! En revanche mon ratio à l’air plus élevé que la plupart des posts ! Je me demande à quoi ça peut être dû ?
En tout cas belle réussite, ça se fait tout seul sans encombres et en cas d’echec on relance et tout fonctionne bravo !!
J’ajoute que j’ai fait tout ça à distance en vacances au Baléares depuis mon mobile ( avec l’App pwa Gladys installée)

4 « J'aime »

Merci pour ton retour @Legw4nn :raised_hands:

Dingue!

Peut-être que tu as le même souci que @Terdious, tu as peut-être plein de messages dans la table t_message ? Tu utilises beaucoup les messages ?

On va rajouter une tâche de clean à l’avenir je pense

2 « J'aime »

Ah ok j’ai pas lu tout le thread !! Oui en effet je me fais des notifications par messages assez souvent et notamment sur la détection de mouvement quand je suis pas chez moi mais la localisation de mon téléphone fait déconner le tout des fois donc les messages s’emballent ! :sweat_smile: Mystère résolu donc !
Encore bravo pour le taff en tout cas

1 « J'aime »

Alors oui sans aucun doutes, j’ai eu une scene qui a merdouillée => 3.000.000 de lignes identiques dans t_message => 1Go de libéré une fois supprimées à la mano ^^

1 « J'aime »

Ah oui quand même :rofl::joy::joy:

La migration est terminée sur mon Pi. Migration, purge et nettoyage OK. MAIS maintenant, pleins de trucs déconnent.
Parfois, je me connecte et il me dit que mon tableau de bord n’est pas configuré puis après quelques rafraichissements, je retrouve mes dashboards. Mais l’affichage des utilisateurs présents, de la meteo et de mes graphs crypto venant de node-red ne s’affichent pas.
image

Si je me connecte via Gladys Plus, 1x/2, Il me dit qu’il n’est pas connecté à la passerelle et il n’y a aucun utilisateur à sélectionner. Même chose depuis l’App Android

Dans les paramètres, les pages sont vides. Faut que je rafraichisse pleins de fois et à un moment, je récupère les données.

Pleins de scènes ne s’exécutent simplement plus.

Je précise que ça fait cela sur Brave, Chrome et Edge.
C’est un bordel sans nom, je pense que vais réinstaller complètement Gladys sur mon Pi. :smiling_face_with_tear:

Es-tu sûr que la purge est terminée ? Ça peut prendre des heures, voire des jours pendant lesquels Gladys est un peu à la ramasse (surtout sur RPi) !
Tu as relancé le container (ou le RPi) ?

1 « J'aime »

En précisant que l’exactitude du nombre d’etats dans SQLite sur la vue Systeme n’est pas réelle. Il peut indiquer « 0 » mais que la purge ne soit pas terminée. Ne pas hésiter à relancer au besoin (elle sera de plus en plus rapide et etre presque instantanée lorsqu’elle sera réellement terminée) puis à nouveau un nouveau nettoyage ensuite.