[ https://issues.apache.org/jira/browse/OPENMEETINGS-831?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Maxim Solodovnik closed OPENMEETINGS-831. ----------------------------------------- Closing resolved issues before release > GeneratePDF.java - ext4 - fails to locate precise jodconverter path > -------------------------------------------------------------------- > > Key: OPENMEETINGS-831 > URL: https://issues.apache.org/jira/browse/OPENMEETINGS-831 > Project: Openmeetings > Issue Type: Improvement > Environment: EXT4 Filesystems > Reporter: JiraUser > Labels: patch, performance > > The method for finding the jodconverter path fails on (at least) EXT4 > filesystems due to the way ext4 maps and traverses the tree- openmeetings > cannot convert using jodconverter. > The fix is simple, please consider including this update in a binary release. > The code relates to GeneratePDF.java, line XX: > if (jar.startsWith("jodconverter")) { > To accomodate the ext4 filesystem, this should read: > if (jar.startsWith("jodconverter-cli")) { > On every successful openmeetings server (quite a few now, including RMTPS and > OOo conversion :D thanks for all your time and amazing work!), the > jodconverter command run executes the jodconverter-cli-2.2.2.jar file. On one > machine, it attempts to execute the jodconverter-2.2.2.jar file. This seems > to be because the method .list() in the loop: > for (String jar : jodFolder.list(new FilenameFilter() { > ... > } > })) > seems to traverse the directory structure the same as ' find . ' or 'ls -U' > in that folder. > This means that the last file in the array which matches the condition is > jodconverter-2.2.2.jar (as the ext4 filesystem hash map/algorithm organises > the file logically in the same place), not the jodconverter-cli-2.2.2.jar > which seems to be needed. > Running the conversion command manually from the shell with '.. -jar > jodconverter-cli-2.2.2.jar ..' instead of '.. -jar jodconverter-2.2.2.jar ..' > on the machine with the problem works perfectly- the file is converted and > the expected output is seen. > To see the effect, consider the following two scenarios: > EXT3: > root@host1:~/stan# touch right > root@host1:~/stan# touch left > root@host1:~/stan# touch ever > root@host1:~/stan# touch tonight > root@host1:~/stan# find . > . > ./right > ./left > ./ever > ./tonight > root@host1:~/stan# find --version > find (GNU findutils) 4.4.2 > EXT4 > root@host2:~/stan# touch right > root@host2:~/stan# touch left > root@host2:~/stan# touch ever > root@host2:~/stan# touch tonight > root@host2:~/stan# find . > . > ./left > ./tonight > ./ever > ./right > root@host2:~/stan# find --version > find (GNU findutils) 4.4.2 > root@host2:~/stan# lscpu > Architecture: x86_64 > CPU op-mode(s): 32-bit, 64-bit > Byte Order: Little Endian > root@host1:~/stan# lscpu > Architecture: x86_64 > CPU op-mode(s): 32-bit, 64-bit > Byte Order: Little Endian > >> Jodconversion command generated by *working* openmeetings (note > the -jar file is jodconverter-cli-2.2.2.jar) > java -Doffice.home=/usr/bin/libreoffice -cp > /var/path/webapps/conference/jodconverter-2.2.2/lib/commons-io-1.4.jar -cp > /var/path/webapps/conference/jodconverter-2.2.2/lib/unoil-3.0.1.jar -cp > /var/path/webapps/conference/jodconverter-2.2.2/lib/jurt-3.0.1.jar -cp > /var/path/webapps/conference/jodconverter-2.2.2/lib/slf4j-jdk14-1.5.6.jar -cp > /var/path/webapps/conference/jodconverter-2.2.2/lib/ridl-3.0.1.jar -cp > /var/path/webapps/conference/jodconverter-2.2.2/lib/slf4j-api-1.5.6.jar -cp > /var/path/webapps/conference/jodconverter-2.2.2/lib/jodconverter-2.2.2.jar > -cp /var/path/webapps/conference/jodconverter-2.2.2/lib/xstream-1.3.1.jar -cp > /var/path/webapps/conference/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar > -cp /var/path/webapps/conference/jodconverter-2.2.2/lib/juh-3.0.1.jar -cp > /var/path/webapps/conference/jodconverter-2.2.2/lib/commons-cli-1.2.jar -jar > /var/path/webapps/conference/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar > > /var/path/webapps/conference/upload/files/f85eb1ce6dce5a186a39dfc312e3f483/f85eb1ce6dce5a186a39dfc312e3f483.docx > > /var/path/webapps/conference/upload/files/f85eb1ce6dce5a186a39dfc312e3f483/f85eb1ce6dce5a186a39dfc312e3f483.pdf > >> Jodconversion command generated by *problem* (failing) openmeetings (note > >> the -jar file is jodconverter-2.2.2,jar) > java -Doffice.home=/usr/bin/libreoffice -cp > /var/path/webapps/conference/jodconverter-2.2.2/lib/juh-3.0.1.jar -cp > /var/path/webapps/conference/jodconverter-2.2.2/lib/slf4j-api-1.5.6.jar -cp > /var/path/webapps/conference/jodconverter-2.2.2/lib/commons-io-1.4.jar -cp > /var/path/webapps/conference/jodconverter-2.2.2/lib/unoil-3.0.1.jar -cp > /var/path/webapps/conference/jodconverter-2.2.2/lib/xstream-1.3.1.jar -cp > /var/path/webapps/conference/jodconverter-2.2.2/lib/ridl-3.0.1.jar -cp > /var/path/webapps/conference/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar > -cp /var/path/webapps/conference/jodconverter-2.2.2/lib/jurt-3.0.1.jar -cp > /var/path/webapps/conference/jodconverter-2.2.2/lib/jodconverter-2.2.2.jar > -cp /var/path/webapps/conference/jodconverter-2.2.2/lib/slf4j-jdk14-1.5.6.jar > -cp /var/path/webapps/conference/jodconverter-2.2.2/lib/commons-cli-1.2.jar > -jar > /var/path/webapps/conference/jodconverter-2.2.2/lib/jodconverter-2.2.2.jar > /var/path/webapps/conference/uploadtemp/files/be25aa57104754b3c8516e83a8674a93.docx > > /var/path/webapps/conference/upload/files/be25aa57104754b3c8516e83a8674a93/be25aa57104754b3c8516e83a8674a93.pdf > Thanks again for all your time and work. As a (very) small aside, is it > possible to download a copy of OpenMeetings 3 anywhere? -- This message was sent by Atlassian JIRA (v6.1.5#6160)