PnX-SI / gn_mobile_occtax

Application mobile pour la saisie dans le module Occtax de GeoNature
GNU General Public License v3.0
13 stars 2 forks source link

[GN mobile 2.4] Synchronisation incomplète suite mise à jour Taxref (v11 -> v15) #206

Closed JeromeMaruejouls closed 1 year ago

JeromeMaruejouls commented 1 year ago

Bonjour à tous, Suite à une mise à jour de taxref (11 à 15) , taxhub, usershub et geonature, la synchronisation s'arrete juste après avoir récupéré les taxons. Aucun message sur l'UI mais le rond (status de la synchro apparait en rouge). Le reste de l'application fonctionne correctement, et les observations saisies se synchronisent. Dans les logs, on n'observe pas de message d'erreur, juste que les étapes de synchro ne se font pas toutes (suppression de doublons, etc...). Enfin ceci ce produit sur les anciennes installations de l'application mobile, comme sur les nouvelles (première synchro). Comme dis précédemment, j'ai fait de nombreuses mises à jour depuis décembre, et ce comportement est apparu il me semble lors de la mise à jour de taxref de 11 à 14 (avec changements sur certains champs de 500 à 1000 caractères)

Voici les logs au moment de la synchro 👍 15:15:33.090 INFO: [fr.geonature.datasync.sync.DataSyncViewModel] starting local data synchronization... 15:15:33.219 INFO: [fr.geonature.datasync.packageinfo.PackageInfoRepositoryImpl] updating settings for 'fr.geonature.occtax2'... 15:15:33.222 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] --> GET https://geonature.biodiv-occitanie.fr/api/gn_commons/t_mobile_apps 15:15:33.227 INFO: [fr.geonature.datasync.sync.worker.DataSyncWorker] starting local data synchronization from 'https://geonature.biodiv-occitanie.fr' (with additional data: true)... 15:15:33.249 INFO: [fr.geonature.datasync.packageinfo.io.AppSettingsJsonWriter] updating app settings '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json' 15:15:33.255 INFO: [fr.geonature.datasync.sync.worker.DataSyncWorker] synchronize dataset... 15:15:33.256 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] --> GET https://geonature.biodiv-occitanie.fr/api/meta/datasets?fields=modules 15:15:33.345 INFO: [fr.geonature.datasync.packageinfo.worker.InputsSyncWorker] no inputs to synchronize for 'fr.geonature.occtax2' 15:15:33.348 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] <-- 200 OK https://geonature.biodiv-occitanie.fr/api/gn_commons/t_mobile_apps (125ms, 4614-byte body) 15:15:33.888 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] <-- 200 OK https://geonature.biodiv-occitanie.fr/api/meta/datasets?fields=modules (631ms, 294528-byte body) 15:15:34.076 INFO: [fr.geonature.datasync.sync.worker.DataSyncWorker] dataset to update: 231 15:15:34.142 INFO: [fr.geonature.datasync.sync.worker.DataSyncWorker] synchronize users... 15:15:34.145 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] --> GET https://geonature.biodiv-occitanie.fr/api/users/menu/1 15:15:34.294 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] <-- 200 OK https://geonature.biodiv-occitanie.fr/api/users/menu/1 (148ms, 218409-byte body) 15:15:34.394 INFO: [fr.geonature.datasync.sync.worker.DataSyncWorker] users to update: 1897 15:15:34.453 INFO: [fr.geonature.datasync.sync.worker.DataSyncWorker] synchronize taxonomy ranks... 15:15:34.455 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] --> GET https://taxhub.biodiv-occitanie.fr/api/taxref/regnewithgroupe2 15:15:35.530 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] <-- 200 OK https://taxhub.biodiv-occitanie.fr/api/taxref/regnewithgroupe2 (1073ms, 786-byte body) 15:15:35.549 INFO: [fr.geonature.datasync.sync.worker.DataSyncWorker] taxonomy ranks to update: 41 15:15:35.588 INFO: [fr.geonature.datasync.sync.worker.DataSyncWorker] synchronize nomenclature types... 15:15:35.593 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] --> GET https://geonature.biodiv-occitanie.fr/api/nomenclatures/nomenclatures/taxonomy 15:15:35.801 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] <-- 200 OK https://geonature.biodiv-occitanie.fr/api/nomenclatures/nomenclatures/taxonomy (207ms, 298624-byte body) 15:15:35.913 INFO: [fr.geonature.datasync.sync.worker.DataSyncWorker] nomenclature types to update: 78 15:15:35.977 INFO: [fr.geonature.datasync.sync.worker.DataSyncWorker] nomenclature to update: 787 15:15:35.993 INFO: [fr.geonature.datasync.sync.worker.DataSyncWorker] synchronize nomenclature default values... 15:15:35.996 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] --> GET https://geonature.biodiv-occitanie.fr/api/occtax/defaultNomenclatures 15:15:36.036 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] <-- 200 OK https://geonature.biodiv-occitanie.fr/api/occtax/defaultNomenclatures (39ms, 282-byte body) 15:15:36.047 INFO: [fr.geonature.datasync.sync.worker.DataSyncWorker] nomenclature default values to update: 17 15:15:36.215 INFO: [fr.geonature.datasync.sync.worker.DataSyncWorker] synchronize taxa... 15:15:36.217 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] --> GET https://taxhub.biodiv-occitanie.fr/api/taxref/allnamebylist/100?limit=10000&offset=0 15:15:36.759 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] <-- 200 OK https://taxhub.biodiv-occitanie.fr/api/taxref/allnamebylist/100?limit=10000&offset=0 (540ms, 3226439-byte body) 15:15:37.943 INFO: [fr.geonature.datasync.sync.worker.DataSyncWorker] taxa to update: 10000 15:15:37.953 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] --> GET https://taxhub.biodiv-occitanie.fr/api/taxref/allnamebylist/100?limit=10000&offset=10000 15:15:38.444 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] <-- 200 OK https://taxhub.biodiv-occitanie.fr/api/taxref/allnamebylist/100?limit=10000&offset=10000 (490ms, 3210212-byte body) 15:15:39.517 INFO: [fr.geonature.datasync.sync.worker.DataSyncWorker] taxa to update: 20000 15:15:39.527 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] --> GET https://taxhub.biodiv-occitanie.fr/api/taxref/allnamebylist/100?limit=10000&offset=20000 15:15:40.032 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] <-- 200 OK https://taxhub.biodiv-occitanie.fr/api/taxref/allnamebylist/100?limit=10000&offset=20000 (504ms, 3239240-byte body) 15:15:41.117 INFO: [fr.geonature.datasync.sync.worker.DataSyncWorker] taxa to update: 30000 15:15:41.127 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] --> GET https://taxhub.biodiv-occitanie.fr/api/taxref/allnamebylist/100?limit=10000&offset=30000 15:15:41.465 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] <-- 200 OK https://taxhub.biodiv-occitanie.fr/api/taxref/allnamebylist/100?limit=10000&offset=30000 (337ms, 544122-byte body) 15:15:44.995 INFO: [fr.geonature.occtax.ui.input.InputPagerFragmentActivity] loading input: 225386144 15:15:45.067 INFO: [fr.geonature.maps.util.CheckPermissionLifecycleObserver] permission 'android.permission.READ_EXTERNAL_STORAGE' already granted 15:15:45.102 DEBUG: [fr.geonature.commons.data.helper.SQLiteSelectQueryBuilder] sql: SELECT observers."_id" AS observers__id, observers."lastname" AS observers_lastname, observers."firstname" AS observers_firstname FROM observers observers WHERE observers__id = ? ORDER BY observers_lastname COLLATE NOCASE ASC, observers_firstname COLLATE NOCASE ASC args: [1371] ...

Et si je vérifie le dernier appel taxhub (https://taxhub.biodiv-occitanie.fr/api/taxref/allnamebylist/100?limit=10000&offset=30000), le tableau retourné paraît correct.

Merci de votre aide ! (tout fonctionnait parfaitement avec Geonature 2.9.4 , taxref v11 et l'appli en 2.4)

camillemonchicourt commented 1 year ago

OK, à voir car je n'ai pas de soucis avec un Occtax-mobile 2.4 branché au serveur de démo qui est en GeoNature 2.11.

Je vais retester sur notre production qui est aussi dans ces mêmes versions.

geoek commented 1 year ago

Alors je pense vraiment que c'est suite au changement de Taxref et non des applis (Taxhub, geonature). Testé avec la derniere 2.4.1 RC (j'ai vu une changenote sur la synchro des relevés) mais même comportement. Après que la synchro ait échoué, il me manque 150 taxons (sur 25000) sur les nouvelles installations (comparés aux installations qui avaient eu une synchro compléte (avec taxref V11)). Je pense à un problème sur la récupération d'un taxon (champs trop long ? / caractère spéciaux ? / doublons) mais sans message dans les logs, je ne trouve rien pour l'instant.

JeromeMaruejouls commented 1 year ago

C'est bon, problème résolu. Cela venait de la VM vm_taxref_list_forautocomplete qui n'avait pas été raffraichie suite aux modifications dans taxref. A voir peut être les scripts de mise à jour taxref pour rajouter cette étape (sauf si c'est moi qui ait raté un truc dans l'update).

Merci et bonne journée !