<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Fichier Trop Gros on Zwindler's Reflection</title><link>https://blog.zwindler.fr/tags/fichier-trop-gros/</link><description>Recent content in Fichier Trop Gros on Zwindler's Reflection</description><generator>Hugo -- gohugo.io</generator><language>fr</language><copyright>Licensed under CC BY-SA 4.0</copyright><lastBuildDate>Sat, 12 Mar 2016 11:30:04 +0000</lastBuildDate><atom:link href="https://blog.zwindler.fr/tags/fichier-trop-gros/index.xml" rel="self" type="application/rss+xml"/><item><title>Paramètre caché XWiki pour résoudre l’erreur « fichier trop gros » lors de l’import d’un XAR</title><link>https://blog.zwindler.fr/2016/03/12/parametres-caches-de-xwiki-taille/</link><pubDate>Sat, 12 Mar 2016 11:30:04 +0000</pubDate><guid>https://blog.zwindler.fr/2016/03/12/parametres-caches-de-xwiki-taille/</guid><description>&lt;img src="https://blog.zwindler.fr/2015/11/1434473398.webp" alt="Featured image of post Paramètre caché XWiki pour résoudre l’erreur « fichier trop gros » lors de l’import d’un XAR" /&gt;&lt;p&gt;[Edit]&lt;/p&gt;
&lt;p&gt;Ludovic DUBOST, CEO et fondateur de XWiki SAS m’a répondu (voir les commentaires). Le bug est connu mais &lt;em&gt;a priori&lt;/em&gt; on doit utiliser les attachements de type &lt;em&gt;Filesystem Attachment&lt;/em&gt; (pas le choix par défaut qui est le &lt;em&gt;Database Attachment&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;On trouve plus d’informations sur l’article suivant&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/Attachments" target="_blank" rel="noopener"
&gt;www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/Attachments&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;The Filesystem attachment store saves your attachments in files in a directory tree. This means you will have one more thing to do when you back up your data but it also means you can save larger (over one gigabyte) files.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;[/Edit]&lt;/p&gt;
&lt;p&gt;Lorsque j’ai voulu importer une sauvegarde XAR un peu importante sous XWiki, je me suis retrouvé bloqué par la taille maximale des fichiers XAR que je pouvais importer. En effet par défaut, on est limité à 32 MB ce qui peut arriver rapidement avec des images/captures d’écran.&lt;/p&gt;
&lt;p&gt;Et comme on ne peut pas faire un XAR avec uniquement une partie d’un wiki, il n’y a pas trop de solutions pour réduire la taille du XAR (vous pouviez quand même jouer sur la présence de l’historique des révisions ou pas, je ne sais pas si c’est toujours le cas).&lt;/p&gt;
&lt;p&gt;[Edit]On peut faire des imports/exports plus précis avec des extensions comme LargeXARImport ou ImportExport, etc. [/Edit]&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2015/11/016_xwiki.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Pour autant, modifier cette limite purement logicielle (et arbitraire), il faut passer par des pages d’administration cachées.&lt;/p&gt;
&lt;h2 id="la-solution"&gt;La solution
&lt;/h2&gt;&lt;p&gt;Pour une raison que j’ignore, on ne peut ni accéder à ce paramètre dans les pages d’administration classique du wiki ni modifier une valeur dans les fichiers de configuration.&lt;/p&gt;
&lt;p&gt;Il faut ouvrir une URL directement en mode « édition » sur les préférence du type :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;http://@IPwiki:8080/xwiki-enterprise-web-7.2/bin/&lt;strong&gt;edit/XWiki/XWikiPreferences?editor=object&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Si vous êtes au bon endroit, cela devrait ressembler à ça :&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2015/11/017_xwiki.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Cliquez sur la liste « XWikiPreferences 0 » **juste en dessous **de la ligne « XWiki.XWikiPreferences (1) ». Pas évident évident&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2016/03/xwiki_uploadpng.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;On y retrouve également des valeurs comme le serveur SMTP ou le serveur LDAP qu’on a paramétré côté xwiki.cfg, bizarrement ?&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2015/11/018_xwiki.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Modifiez le paramètres à la hausse pour correspondre à votre taille de fichier XAR, puis cliquez sur « Enregistrer et Fermer » pour valider.&lt;/p&gt;
&lt;p&gt;Dans mon cas (PostgreSQL), ça marche, pas besoin de modifications supplémentaires, juste un redémarrage de tomcat.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2015/11/019_xwiki.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h2 id="et-la-base-de-données-"&gt;Et la base de données ?
&lt;/h2&gt;&lt;p&gt;Pour autant, vous pourriez quand même avoir des ennuis si jamais votre base de données n’accepte pas les fichiers trop gros elle aussi, comme par exemple MySQL/MariaDB. Vous trouverez plus d’informations sur le sujet dans ce &lt;a class="link" href="https://web.archive.org/web/20211129081936/http://lists.xwiki.org/pipermail/users/2012-February/022047.html" target="_blank" rel="noopener"
&gt;topic de la mailing list (lien mort, j&amp;rsquo;utilise Internet Archive)&lt;/a&gt; :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Pay also attention that your DB configuration could prevent you from uploading such a package. For exemple, with Mysql, you have to fix the value of max_allowed_packet in my.cnf file. If you want to upload a package of 35 MB for example, you need the value max_allowed_packet to be at least « 75M ».&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Je ne suis pas certain de comprendre pourquoi il faut mettre max_allowed_packet à 75M pour un fichier de 35 MB. Visiblement il y a un coefficient x2 ?&lt;/p&gt;
&lt;h2 id="mais-ça-ne-marche-toujours-pas"&gt;Mais ça ne marche toujours pas
&lt;/h2&gt;&lt;p&gt;C’est fini ? Et bien non. Malheureusement, l’import de fichiers .XAR de XWiki est &lt;em&gt;a priori&lt;/em&gt; une fonctionnalité très gourmande en mémoire et plante parfois juste après la fin de la barre de transfert :&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2016/03/erreur_xwiki_import.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Dans le fichier de log on pourra trouver une erreur de ce gout là :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Nov 12 17:02:23 @IPxwiki server: 2015-11-12 17:02:23,152 [http://@IPxwiki:8080/xwiki-enterprise-web-7.2/bin/upload/XWiki/XWikiPreferences] WARN c.x.x.w.UploadAction - Saving uploaded file failed
Nov 12 17:02:23 @IPxwiki server: Caused by: java.lang.OutOfMemoryError: Java heap space
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Bon il semblerait que ce soit un problème connu depuis au moins 2008, si on en crois &lt;a class="link" href="https://web.archive.org/web/20160904053532/http://xwiki.475771.n2.nabble.com/Java-Heap-Space-Out-of-memory-exception-td1613958.html" target="_blank" rel="noopener"
&gt;ce post (lien mort, j&amp;rsquo;utilise Internet Archive)&lt;/a&gt; et la réponse de Sergiu Dumitriu :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;This is a major design flaw of the current attachment storage model. As stated in a previous mail, handling attachment consumes about &lt;strong&gt;27 time the size of the attachment&lt;/strong&gt;, so 90M * 27 ~= 2.5G. This needs to be fixed ASAP. In the meantime, you can either increase the heap size to more than 2.5G, or request an sql dump from the myxwiki farm admins.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;27 FOIS&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Effectivement, lorsque j’importe des XAR d’environ 60-70 Mo dans mon instance tomcat sizée à environ 2 Go, ça fonctionne, mais pas pour les fichiers de 80 Mo. La règle semble correspondre.&lt;/p&gt;
&lt;p&gt;J’écrirais un autre article pour expliquer ce qu’on peut y faire dès que j’aurai un peu plus de matière.&lt;/p&gt;
&lt;h2 id="source"&gt;Source
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/Attachments" target="_blank" rel="noopener"
&gt;www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/Attachments&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>