Page 1 of 1

IO Error al importar repositorio

PostPosted:Sun Mar 15, 2015 9:27 pm
by edelgado
Hola, Espero me puedan ayudar, me encuentro con el siguiente error al importar en una version nueva (6.3.0 build:8156) el repositorio exportado con la herramienta de openkm.
Code: Select all
IO Error: Cant' delete file (not exists) '/opt/openkm-6.3.0-community/tomcat/repository/datastore/e3/ae/70/13/e3ae7013-ebad-4413-83c7-0cd8edc6da1f'
Laversion de ompenkm desde la que fue exportado es 6.2.3 con base de datos hsql y la version donde lo intento importar es 6.3.0 build:8156 servidord con 4 Gb ram 4 cpu y la nueva con mysql. La idea es migrar a mysql pero cuando queremos importar nos encontramos con ese error.
Alguna idea de cual puede ser el problema ?
Desde ya muchas gracias

Re: IO Error al importar repositorio

PostPosted:Wed Mar 18, 2015 6:41 am
by jllort
Te esta dando este error al importar ? seguro ? porque el mensaje lo que en realidad esta diciendo es que el fichero no puede ser eliminado, lo cual es un poco raro en un proceso de importación.

Re: IO Error al importar repositorio

PostPosted:Wed Jul 15, 2015 12:46 pm
by edelgado
Después de mucho investigar descubrimos que el problema era que al importar el repositorio a un instalación con mysql (desde otra con hsqldb).. encontraba errores solo en algunos archivos con extencion okm (es donde guarda los datos del historial, notas, metadatos etc.. ) analizando los que daban error descubrimos que los nombres de algunos usuarios estaban con algunas letras en mayúscula ejemplo JOse.
La validación de usuarios es por medio de LDAP y por algún motivo quedo el valor system.login.lowercase = false con lo cual si algún usuario ingresaba con JOse + su contraseña .. validaba ok el usuario JOse y lo dejaba acceder al sistema.. pero al modificar un archivo quedaba registrado el nombre JOse.. eso en la importación daba error.
La solucion fue ir viendo e anotando los archivos que daban error, anotamos cuales eran los usuarios mal escritos y luego armamos un script con el comando sed para corregir a granel y modificar el parámetro system.login.lowercase = true para que nadie pueda ingresar con mayúsculas. Finalmente se logro importar ok en mysql y todo funciona ok hasta el momento.
Esperamos que este error y solución pueda ayudar a otros que se encuentren con el mismo problema, ya que lamentablemente no había mucha info en los log que no pudiera ayudar.
Saludos y gracias por toda la ayuda que brindan en el foro.

Re: IO Error al importar repositorio

PostPosted:Fri Jul 17, 2015 5:28 pm
by jllort
El tema del AD de microsoft no distingue entre usuarios escritos en mayúscula y minúsculas, vamos que no es case sensitive y por eso metidos este parámetro que comentas, para forzar que los usuarios entrasen todos en minúsculas.

Aun así es un poco raro que en la importación esto te este dando error, dado que este caso sería muy similar - o igual - a importar un documento de un usuario que no existe, pero que mantiene la asignación de la seguridad ( es decir se elimina un usuario, pero aun permanecen los privilegios en un documento ).

Mas raro si cabe, cuando el error que aparece ( en el log que nos pasaste ), indica que no se puede eliminar un fichero. Esto igual hubiese estado bien probarlo en el nighly build ( integration.openkm.com ) porque vamos incorporando mejoras y soluciones de bugs, aunque por lo que me cuentas debe ser algo que no esta controlado.

Si tienes la posibilidad de generarme una carpeta test, con el sistema antiguo ( con este problema ) y pasarnos-la para probarlo en alguno de nuestros entornos de desarrollo. /okm:root/test ( con un par de ficheros dentro ) y comprimido en zip, nos lo subes aquí. Y así miraremos de reproducirlo y arreglar el problema.

Re: IO Error al importar repositorio

PostPosted:Fri Jul 17, 2015 7:23 pm
by edelgado
Si con todo gusto, voy a generar un documento generico o bien indicame a donde puedo enviarte el documento original con el error y te lo envio sin problemas.

De todas maneras les paso un extracto del catalina.log que tenemos registrado:
(Fue modificado los nombres de carpetas los nombres de archivos y puse nombres genericos )
Code: Select all
2015-06-18 09:12:40,068 [http-bio-0.0.0.0-8081-exec-14] INFO  com.openkm.util.impexp.RepositoryImporter- Document Metadata: {uuid=8c95e930-9f9a-454d-afc2-c8dfbc1e45c3, author=JOse, name=documentoxx.doc, path=/okm:root/XXXX/XXX/XX/documentox.doc, created=Mon Jun 23 13:17:56 ART 2014, lastModified=Mon Jun 23 13:17:56 ART 2014, language=, title=null, description=null, keywords=[], categories=[], subscriptors=[], scripting=null, notes=[], propertyGroups=[], version={author=JOse, name=1.0, created=Mon Jun 23 13:17:56 ART 2014, size=383488, mimeType=application/msword, comment=Imported by edelgado}, grantedUsers={jarjona=15, edelgado=15, JOse=15, okmAdmin=15, usuariox=15}, grantedRoles={Directorio=15, Comercial=15}}
2015-06-18 09:12:40,072 [http-bio-0.0.0.0-8081-exec-14] INFO  com.openkm.util.impexp.RepositoryImporter- Document Version Metadata File: /export/export/XXXX/XXX/XX/documentox.doc#v1.0#.okm
2015-06-18 09:12:42,696 [http-bio-0.0.0.0-8081-exec-14] WARN  org.hibernate.util.JDBCExceptionReporter- SQL Error: 1062, SQLState: 23000
2015-06-18 09:12:42,696 [http-bio-0.0.0.0-8081-exec-14] ERROR org.hibernate.util.JDBCExceptionReporter- Duplicate entry 'c104e5d9-a347-4521-b95c-ebaffa21d9f4-acoria' for key 'PRIMARY'
2015-06-18 09:12:42,896 [http-bio-0.0.0.0-8081-exec-14] ERROR com.openkm.util.impexp.RepositoryImporter- Cant' delete file (not exists) '/opt/openkm-6.3.0-community/tomcat/repository/datastore/3e/87/fe/b1/3e87feb1-0bcf-40f7-b8f2-8cf0f1e02107'
java.io.IOException: Cant' delete file (not exists) '/opt/openkm-6.3.0-community/tomcat/repository/datastore/3e/87/fe/b1/3e87feb1-0bcf-40f7-b8f2-8cf0f1e02107'
Saludos