Projet

Général

Profil

Actions

Bug #13938

ouvert

Le fichier jackrabbit-jca.rar est incorrect et empeche le démarrage de Silverpeas

Ajouté par David Lesimple il y a 3 mois. Mis à jour il y a 3 mois.

Statut:
Resolved
Priorité:
Urgent
Assigné à:
Version cible:
-
Début:
18/01/2024
Echéance:
% réalisé:

0%

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

Description

Après un silverpeas clean install, le fichier téléchargé dans $SILVERPEAS_HOME/deployments est incorrect car une erreur est remontée lors du démarrage de SP.
Sa taille est de 48 485 626 octets
Se produit sur une 6.3 ou une 6.4-JR
Si on remet un fichier jackrabbit-jca.rar de la version précédente ou d'une autre installation, tout est ok.

Mis à jour par David Lesimple il y a 3 mois

  • Statut changé de New à Assigned

Miguel, ce point est assez urgent, car chaque install se retrouve vérolé par le clean install

Mis à jour par Miguel Moquillon il y a 3 mois

Oui je suis dessus depuis ce matin ... J'ai trouvé une parade et une correction. Explication dans la prochaine note

Mis à jour par Miguel Moquillon il y a 3 mois

  • Statut changé de Assigned à Resolved

Le problème vient qu'il existe deux jackrabbit-rar : un qui vient de Silverpeas, l'autre de ... Apache.
J'ai mis du temps à cerner ce soucis et encore plus à trouver la raison et le moyen d'éviter ce problème.

En fait, pour une raison que je ne m'explique pas, lorsque Gradle, qui est utilisé comme colonne vertébrale de l'installateur, résout la dépendance jackrabbit-jca de Silverpeas déclarée dans le silverpeas-assembly, il récupère comme dépendance transitive le jackrabbit-jca d'Apache sous forme de RAR ! Or ce dernier n'est pas déclaré comme dépendance dans le projet Silverpeas Jackrabbit JCA. C'est du jar (et non du rar) de jackrabbit-jca d'Apache que le projet dépend. Et même si ce dernier est déclaré dans un scope runtime (ce qui signifie qu'il ne devrait pas être récupéré par transitivité), Gradle récupère tout de même le rar de jackrabbit-jca d'Apache. La conséquence de ceci est que lorsque l'installateur traite les rars, comme ces deux archives ont le même nom, ben l'un des deux écrase l'autre. Jusqu'à présent, ce fut celui de Silverpeas qui a été traité le dernier et donc c'est lui qui écrasait celui d'Apache. Le problème était donc caché. Sauf que ... ben des fois ça coince et c'est l'inverse : c'est la version d'Apache qui écrase celle de Silverpeas et ces derniers temps ce soucis est devenu plus fréquent.

Désormais, une instruction d'exclusion de jackrabbit-jca d'Apache a été ajoutée dans le silverpeas-assembly de la version 6.3.4-SNAPSHOT (donc prochaines versions de build).

Pour les versions existantes, une astuce est d'écraser l'archive $SILVERPEAS_HOME/deployments/jackrabbit-jca.rar par celle contenue dans le dossier ~/.gradle/caches/modules-2/files-2.1/org.silverpeas.jcr/jackrabbit-jca/<version>/<hash>/

Mis à jour par David Lesimple il y a 3 mois

C'était sioux cette histoire !!
merci.

Actions

Formats disponibles : Atom PDF