Projet

Général

Profil

Actions

Bug #7300

fermé

Erreur 500 lors de la recherche de sous groupes

Ajouté par Monique Desnoyer il y a plus de 8 ans. Mis à jour il y a environ 8 ans.

Statut:
Closed
Priorité:
Normal
Assigné à:
Catégorie:
Panneau utilisateurs
Début:
12/01/2016
Echéance:
% réalisé:

100%

Temps estimé:
Navigateur:
Tous
Votre version de Silverpeas:
5.15
Système d'exploitation:
Votre base de données:
PostgreSQL
Livraison en TEST:
Livraison en PROD:

Description

Contexte: notifications via la panneau utilisateurs.

11/01/16-13:21:32,022 - ERROR : admin.EX_ERR_GET_USER_DETAILS | MODULE : admin.OrganizationController.getGroupsMatchingCriteria | Erreur lors de l'obtention des details de plusieurs utilisateurs (criteria: 'com.stratelia.webactiv.beans.admin.GroupsSearchCriteria@ee3a913e, EXCEPTION : Erreur lors de l'obtention des différents groupes d'un utilisateur
nested (Deepest) :
java.sql.SQLSyntaxErrorException: ORA-00936: expression absente

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:447)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:951)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:513)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:227)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:208)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:886)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1175)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1296)
at oracle.jdbc.driver.OracleStatement.doScrollExecuteCommon(OracleStatement.java:4721)
at oracle.jdbc.driver.OraclePreparedStatement.doScrollPstmtExecuteUpdate(OraclePreparedStatement.java:10613)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3611)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3657)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1495)
at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:342)
at com.stratelia.webactiv.beans.admin.dao.GroupDAO.getGroupsByCriteria(GroupDAO.java:87)
at com.stratelia.webactiv.beans.admin.GroupManager.getGroupsMatchingCriteria(GroupManager.java:68)
at com.stratelia.webactiv.beans.admin.Admin.searchGroups(Admin.java:6880)
at com.stratelia.webactiv.beans.admin.OrganizationController.searchGroups(OrganizationController.java:493)
at com.silverpeas.profile.web.UserGroupProfileResource.getSubGroups(UserGroupProfileResource.java:267)

Mis à jour par David Lesimple il y a plus de 8 ans

  • Statut changé de New à Feedback

Le nom ou le prénom de l'utilisateur contient-il une apostrophe ?

Mis à jour par Monique Desnoyer il y a plus de 8 ans

Non, pas d'accent , on peut taper juste "ra" par exemple ou "Se" ... le problème se produit quand on fait les premières notifications et ne semble pas systématique mais il survient surtout quand on tape des lettre loin dans la liste (page 300...)

Mis à jour par David Lesimple il y a plus de 8 ans

Pouvez-vous mettre le module Bus.jobManagerPeas au niveau trace DEBUG, refaire la manip et joindre ici le fichier traces.txt (zippé) ?

Mis à jour par Monique Desnoyer il y a plus de 8 ans

pas d'apostrophe

Mis à jour par Monique Desnoyer il y a plus de 8 ans

il n'existe pas, mail envoyé avec imp ecran

Mis à jour par David Lesimple il y a plus de 8 ans

David Lesimple a écrit :

Pouvez-vous mettre le module Bus.jobManagerPeas au niveau trace DEBUG, refaire la manip et joindre ici le fichier traces.txt (zippé) ?

C'est le module BusIHM.jobManagerPeas et pas Bus.jobManagerPeas

Les copies d'écran doivent bien sur etre sauvés sous forme de fichier.
vous pouvez installer une extension comme Fireshot dans votre navigateur, cela permet de faire facilement des copies d'écran, de les annoter et de les sauver sous forme de fichier que vous pourrez joindre au ticket Redmine.

Au pire, coller votre copie d'écran dans un document Word.

Mis à jour par David Lesimple il y a plus de 8 ans

  • % réalisé changé de 0 à 70

1. Sélectionner BusIHM.jobManagerPeas
2. Mettre TraceLevel au niveau 'DEBUG'
3. Reproduire le problème
4. Joindre à ce ticket le traces.txt zippé
5. Remettre BusIHM.jobManagerPeas au niveau '(Parent)'

Mis à jour par Monique Desnoyer il y a plus de 8 ans

  • Fichier traces 12 01 2016 14h50.zip ajouté

voici le fichier trace apres ré-essai + mode débug

Mis à jour par David Lesimple il y a plus de 8 ans

  • Tracker changé de Bug à Support

Bizarre, il n'y a que du niveau ERROR dans le fichier, etes-vous sur d'avoir mis en DEBUG le dit module ?

Le mieux est peut-etre que je me connecte sur votre serveur.

Mis à jour par Monique Desnoyer il y a plus de 8 ans

  • Fichier traces 12 01 2016 17h06.zip ajouté

Manipulation refaite , nouveau fichier trace MAIS merci de vérifier aussi ce qu'il s'est passé vers 16h-16h30 car tout s'est bloqué sans qu'on ne puisse s'expliquer pourquoi et c'est revenu tout seul à la normal

Mis à jour par David Lesimple il y a plus de 8 ans

Pour l'instant, il est préférable de ne pas planifier la synchro avec l'AD toutes les heures, mais une fois par nuit, étant donné qu'il y a quelques erreurs sur certains utilisateurs (il faudra les qualifier).

Pour l'erreur 500, j'ai localisé l'erreur, il est possible que cela soit lié à Oracle.
Nous allons essayer de le reproduire en local.

Mis à jour par David Lesimple il y a plus de 8 ans

Pourrais-je avoir un accès teamviewer pour Mercredi ou Jeudi ? je voudrais faire quelques vérifications dans la base de données.

Mis à jour par David Lesimple il y a plus de 8 ans

  • Fichier traces 12 01 2016 14h50.zip supprimé

Mis à jour par David Lesimple il y a plus de 8 ans

  • Fichier traces 12 01 2016 17h06.zip supprimé

Mis à jour par David Lesimple il y a plus de 8 ans

  • Tracker changé de Support à Bug
  • Sujet changé de erreur 500 sur notification à erreur 500 si on utilise l'autocompletion dans un groupe qui ne contient pas de sous-groupes.
  • Description mis à jour (diff)
  • Catégorie changé de Notifications à Panneau utilisateurs
  • Statut changé de Feedback à New
  • % réalisé changé de 70 à 0
  • Navigateur changé de Internet Explorer 11 à Tous
  • Votre base de données mis à PostgreSQL

Mis à jour par Nicolas Eysseric il y a environ 8 ans

  • Sujet changé de erreur 500 si on utilise l'autocompletion dans un groupe qui ne contient pas de sous-groupes. à Erreur 500 lors de la recherche de sous groupes
  • Statut changé de New à Resolved
  • Assigné à mis à Nicolas Eysseric
  • Version cible mis à Version 5.15.1
  • % réalisé changé de 0 à 100

La requête générée qui est incorrecte est la suivante :

select distinct * from st_group where lower(st_group.name) like lower('cgth%') and  and st_group.superGroupId = 149 order by name

Cela s'explique par le fait que, lors de la recherche de sous groupes, une contrainte est ajoutée pour exclure les utilisateurs selon leurs états.
Cet état n'est pas exploité lors de la construction de la requête et génère une requête à la syntaxe incorrecte.

Cela n'a pas de sens d'ajouter un critère sur les utilisateurs puisque la recherche porte sur les sous groupes (pas sur les utilisateurs). Ce critère a donc été supprimé lors de la recherche de groupes.

A noter que la recherche de groupes de premier niveau fonctionne correctement.

Mis à jour par Yohann Chastagnier il y a environ 8 ans

  • Statut changé de Resolved à Integration in progress...

Mis à jour par Yohann Chastagnier il y a environ 8 ans

  • Statut changé de Integration in progress... à V6 pending

Le nombre d'utilisateurs dans un groupe est généralement présenté dans les écrans qui listent les groupes.
Selon le contexte et pour un même groupe, ce nombre peut être différent selon si certains statuts d'utilisateur sont souhaités ou pas.

Par exemple, dans les écrans d'administration, le nombre d'utilisateurs présentés pour un groupe n'exclut pas ceux dont le statut est désactivé.
En revanche, dans la fenêtre de sélection d'utilisateurs/groupes pour une notification manuelle, les utilisateurs désactivés ne sont pas comptabilisés dans le calcul du nombre d'utilisateurs dans un groupe.

La correction finalement appliquée a porté sur le traitement qui construit la requête de recherche de groupes à partir des différents critères fournis. En effet, il n'y a pas de raison pour que le critère de filtrage sur le statut d'un utilisateur ajoute une clause particulière dans cette dernière. En revanche, ce critère sera bien communiqué au service de recherche des utilisateurs du groupe afin d'appliquer ou non ce filtrage sur le statut.


Commit de merge : https://github.com/Silverpeas/Silverpeas-Core/commit/30dfa67f0e68b737a0f1f6bba2a6c7680301b27a

Mis à jour par Yohann Chastagnier il y a environ 8 ans

  • Statut changé de V6 pending à Closed

Intégré en 5.15.1 et 6.0.

Actions

Formats disponibles : Atom PDF