Squash TM:Erreur survenu lors de la modification des cas de test après la mise a jour vers la version 1.20.0

mngham
Messages : 2
Inscription : mer. avr. 03, 2019 6:38 am

exclamation Squash TM:Erreur survenu lors de la modification des cas de test après la mise a jour vers la version 1.20.0

Message par mngham »

Bonjour,
Dans l'onglet Informations On ne peut plus mettre à jour les champs existants (prérequis,description...) dans un cas de tests après la mise à jour de la version 1.19.3 vers la version 1.20.0
Veuillez trouver ci dessous les logs :


[19-09-06 10:32:03.391] SquashTM - 26931 INFO [http-nio-8085-exec-1] [] --- org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/squash]: Initializing Spring FrameworkServlet 'dispatcherServlet'
[19-09-06 10:32:03.391] SquashTM - 26931 INFO [http-nio-8085-exec-1] [] --- org.springframework.web.servlet.DispatcherServlet: FrameworkServlet 'dispatcherServlet': initialization started
[19-09-06 10:32:05.528] SquashTM - 26931 INFO [http-nio-8085-exec-1] [] --- org.springframework.web.servlet.DispatcherServlet: FrameworkServlet 'dispatcherServlet': initialization completed in 2137 ms
[19-09-06 10:32:05.556] SquashTM - 26931 INFO [http-nio-8085-exec-1] [] --- org.squashtest.tm.web.internal.listener.HttpSessionLifecycleLogger: Created a HTTP session id FD5EC6177FAB691223EAB0312FD6F46D at 1567758725556
[19-09-06 10:32:14.583] SquashTM - 26931 INFO [http-nio-8085-exec-2] [] --- org.squashtest.tm.web.internal.listener.HttpSessionLifecycleLogger: Created a HTTP session id C2A9B7ABDAF77BC3EAAE03C81C69ABD5 at 1567758734583
[19-09-06 10:32:20.101] SquashTM - 26931 WARN [squashtest.tm.service.ThreadPoolTaskScheduler-1] [] --- org.hibernate.orm.deprecation: HHH90000022: Hibernate's legacy org.hibernate.Criteria API is deprecated; use the JPA javax.persistence.criteria.CriteriaQuery instead
[19-09-06 10:32:20.280] SquashTM - 26931 WARN [http-nio-8085-exec-7] [ServletWebRequest: uri=/squash/home-workspace;client=127.0.0.1;session=69925B6810D10E94125BCC1839624C5C;user=mngham] --- org.hibernate.orm.deprecation: HHH90000022: Hibernate's legacy org.hibernate.Criteria API is deprecated; use the JPA javax.persistence.criteria.CriteriaQuery instead
[19-09-06 10:32:22.041] SquashTM - 26931 INFO [http-nio-8085-exec-9] [ServletWebRequest: uri=/squash/custom-report-dashboard/119;client=127.0.0.1;session=69925B6810D10E94125BCC1839624C5C;user=mngham] --- org.squashtest.tm.domain.jpql.FixedSessionHolders: Query String select distinct testCase.type.code as col_0_0_, s_count(testCase.id) as col_1_0_
from TestCase testCase
where exists (select 1
from TestCasePathEdge testCasePathEdge
where testCasePathEdge.ancestorId = ?1 and testCase.id = testCasePathEdge.descendantId)
group by col_0_0_
order by col_0_0_ asc
[19-09-06 10:32:45.010] SquashTM - 26931 ERROR [http-nio-8085-exec-6] [ServletWebRequest: uri=/squash/test-cases/2434;client=127.0.0.1;session=69925B6810D10E94125BCC1839624C5C;user=mngham] --- org.hibernate.internal.ExceptionMapperStandardImpl: HHH000346: Error during managed flush [Validation failed for classes [org.squashtest.tm.domain.testcase.TestCase] during update time for groups [javax.validation.groups.Default, ]
List of constraint violations:[
ConstraintViolationImpl{interpolatedMessage='must not be null', propertyPath=uuid, rootBeanClass=class org.squashtest.tm.domain.testcase.TestCase, messageTemplate='{javax.validation.constraints.NotNull.message}'}
]]
Yamina
Messages : 273
Inscription : lun. avr. 09, 2018 2:35 pm

Re: Squash TM:Erreur survenu lors de la modification des cas de test après la mise a jour vers la version 1.20.0

Message par Yamina »

Bonjour,

Avez-vous bien passé le script de montée de version relatif à votre type de base de données et avez-vous bien supprimé les caches de votre navigateur ?

Cordialement,
Yamina
schetibi
Messages : 27
Inscription : mer. oct. 19, 2016 12:05 pm

Re: Squash TM:Erreur survenu lors de la modification des cas de test après la mise a jour vers la version 1.20.0

Message par schetibi »

Bonjour,

Oui, on avait bien passé le script de montée de version relative à notre type de base de données comme chaque mise à jour de version.

Pour les caches navigateur aussi, on les a bien supprimé.

Pour information, on est repassé à la version 19 après plusieurs tentative.

On viens d'essayer de mettre à jour notre version de Squash en utilisant docker https://hub.docker.com/r/squashtest/squash-tm

On a eu également le même souci: Impossible de modifier les anciens cas de tests.

Comment on peut procéder pour migrer les données de la version 19 à la version 20 en utilisant docker ? pouvons-nous avoir plus de documentation sur le sujet? la documentation actuelle décrit comment installer pour la première fois un squash via docker et pas de sa mise a jour.

Merci pour votre aide.
schetibi
Messages : 27
Inscription : mer. oct. 19, 2016 12:05 pm

Re: Squash TM:Erreur survenu lors de la modification des cas de test après la mise a jour vers la version 1.20.0

Message par schetibi »

Bonjour , je reviens vers vous sur ce problème qu'on arrive toujours pas à résoudre.

On a finalement réussi à utiliser Docker pour mettre à jour notre Squash (19->20), sauf qu'on rencontre le même souci (impossible d'éditer les anciens cas de test).

Donc le résultat de la mise à jour est pareil en suivant les deux procédures de migration (avec ou sans Docker). On pense que le soucis viens de notre base de donnée (peut-être qu'il fallait lancer une indexation avant la migration ???? )

Comment pouvez-vous nous aider à comprendre le problème? (on peut vous envoyer la base de donnée si besoin)
bouhlry
Messages : 1
Inscription : jeu. août 27, 2020 2:42 pm

Re: Squash TM:Erreur survenu lors de la modification des cas de test après la mise a jour vers la version 1.20.0

Message par bouhlry »

bonjour,
nous rencontrons exactement le meme pb suite a une maj de 1.19.3 --> 1.21.0, avez-vous trouvé un moyen de le résoudre ?
d'avance merci
evane.mahieu
Messages : 2
Inscription : mer. déc. 02, 2020 4:59 pm

Re: Squash TM:Erreur survenu lors de la modification des cas de test après la mise a jour vers la version 1.20.0

Message par evane.mahieu »

Bonjour,

est-ce que quelqu'un a réussi à corriger ce problème ?

Merci beaucoup.
5054tah
Messages : 4
Inscription : ven. août 24, 2018 3:37 am

Re: Squash TM:Erreur survenu lors de la modification des cas de test après la mise a jour vers la version 1.20.0

Message par 5054tah »

Bonjour,

Même souci avec le passage de la version v1.19.3 vers la version V2.2.0.
Impossible de mettre à jour un cas de test existant avec ce message d'erreur : "must not be null".

SquashTM - 64 ERROR [http-nio-8080-exec-1] [ServletWebRequest: uri=/squash/backend/test-case/29910/name;client=x.x.x.x;session=AC4B0524A87A46151F311F98E931F448;user=xxxxx] --- org.hibernate.internal.ExceptionMapperStandardImpl: HHH000346: Error during managed flush [Validation failed for classes [org.squashtest.tm.domain.testcase.TestCase] during update time for groups [javax.validation.groups.Default, ]
List of constraint violations:[
ConstraintViolationImpl{interpolatedMessage='must not be null', propertyPath=uuid, rootBeanClass=class org.squashtest.tm.domain.testcase.TestCase, messageTemplate='{javax.validation.constraints.NotNull.message}'}
]]

SquashTM - 64 ERROR [http-nio-8080-exec-9] [ServletWebRequest: uri=/squash/backend/test-case/29910/description;client=x.x.x.x;session=AC4B0524A87A46151F311F98E931F448;user=xxxxx] --- org.hibernate.internal.ExceptionMapperStandardImpl: HHH000346: Error during managed flush [Validation failed for classes [org.squashtest.tm.domain.testcase.TestCase] during update time for groups [javax.validation.groups.Default, ]
List of constraint violations:[
ConstraintViolationImpl{interpolatedMessage='must not be null', propertyPath=uuid, rootBeanClass=class org.squashtest.tm.domain.testcase.TestCase, messageTemplate='{javax.validation.constraints.NotNull.message}'}
]]

Est-ce quelqu'un a réussi à corriger ce problème ?

Merci
5054tah
Messages : 4
Inscription : ven. août 24, 2018 3:37 am

solved Re: Squash TM:Erreur survenu lors de la modification des cas de test après la mise a jour vers la version 1.20.0

Message par 5054tah »

Bonjour,

Si ça peut aider quelqu'un...

Le contenu de la table databasechangelog a montré que les scripts de changement sur la base de données ont été lancés (v1.19.3 > V2.2.0).
Les logs indiquent un souci sur un champ UUID (Universally Unique IDentifier - RFC4122).

2 scripts de changement de la base de données sont concernés par un champ UUID :
- postgresql-upgrade-to-1.20.0.sql : ajout d’un champ UUID dans la table des cas de test (TEST_CASE), puis alimentation en masse via uuid_generate_v4()
- postgresql-upgrade-to-1.22.0.sql : ajout d’un champ UUID dans les tables des itérations (ITERATION) et des suites de test (TEST_SUITE), puis alimentation en masse via uuid_generate_v4()

Je confirme que la mise à jour des cas de test n'est pas le seul souci ; il se produit également sur la mise à jour des itérations et des suites de test.
Si vous installez la version 1.20.0 à minima, le souci peut se produire sur la mise à jour des cas de test existants.
Si vous installez la version 1.22.0 à minima, le souci peut se produire également sur la mise à jour des itérations et des suites de test.
Cause identifiée : le champ UUID n'est pas alimenté dans les 3 tables (cas de test, itérations, suites de test) sur les enregistrements existants comme il aurait dû l'être.

Pour que l'update en masse sur le champ UUID dans ces 3 tables fonctionne (via uuid_generate_v4()), il faut s'assurer au préalable que l'extension uuid-ossp est créée en base de données (les scripts d'upgrade en tiennent compte à priori - image docker comprise puisque c'est ce que nous avons utilisé). Ce contrôle peut être effectué via un select dans la table pg_extensions.

Notre solution appliquée :

Avec le user squashtm / base de données postgresql:
# installation de l'extension uuid-ossp
CREATE EXTENSION "uuid-ossp" WITH SCHEMA public;

# vérification du schéma d'installation
SELECT e.extname
, n.nspname AS home_schema_of_extension
, extrelocatable AS extension_can_be_relocated
FROM pg_catalog.pg_extension e
JOIN pg_catalog.pg_namespace n ON n.oid = e.extnamespace;

# vérification de la fonction de generation d'uuid
select uuid_generate_v4();
uuid_generate_v4
--------------------------------------
b05684bd-b198-45ee-b1eb-79079bc4ea53

Après s'être assurés que l'extension était bien présente en base de données (uuid-ossp) et que uuid_generate_v4 a bien renvoyé une valeur, les requêtes de mises à jour en masse écrites dans les 2 scripts de changement de la base de données ont été exécutées manuellement :
UPDATE TEST_CASE SET UUID = uuid_generate_v4() WHERE UUID is NULL;
UPDATE ITERATION SET UUID = uuid_generate_v4() WHERE UUID is NULL;
UPDATE TEST_SUITE SET UUID = uuid_generate_v4() WHERE UUID is NULL;

La mise à jour des cas de test, itérations et suites de test existants peut être réalisé sans message "must not be null".
Les nouveaux enregistrements ne sont pas concernés par ce souci, puisque la valeur du champ UUID est correctement alimentée.
Répondre

Revenir à « Cas de test / Test cases »