Problem with network drives using Nuxeo as windows service

I installed Nuxeo as a service windows. But does not work well. I have problems with network directories. I mounted the network drive on the server, in Z: The log shows this:

Caused by: java.io.FileNotFoundException: Z:\NuxeoBINPRE\config.xml (El sistema no puede encontrar la ruta especificada)

only fails when I start Nuxeo as windows service

you know if I can use Nuxeo as a Windows service, with network drives?

THX

0 votes

3 answers

1952 views

ANSWER

did you check the configuration file generated by YAJSW? Is the path for nuxeo.data.dir to the network drive correct?
08/19/2014

Hi Thierry, in the wrapper.conf the nuxeo.data.dir points to nuxeo.tmp.dir=Z:\/Temp

This route is good. In my Nuxeo configuration file (nuxeo.conf) I have the following: nuxeo.data.dir = C:/ProgramData/Nuxeo/data

nuxeo.log.dir = C:/ProgramData/Nuxeo/logs

nuxeo.tmp.dir = Z:/Temp

repository.binary.store=Z:/NuxeoBINPRE

08/19/2014



the problem was with the network drive. when it was Z:\Nuxeo\ changed for \\\nass\Nuxeo and windows service works.

I modified these routes in the files:

  • Wrapper.conf —–> -Dnuxeo.tmp.dir and -Djava.io.tmpdir
  • nuxeo.conf ——-> repository.binary.store

Thanks for the help

0 votes



The server.log:

2014-08-20 11:37:51,672 ERROR [main] [org.apache.catalina.startup.Catalina] No puedo hallar carpeta temporal especificada en Z:/Temp
2014-08-20 11:38:13,216 WARN  [localhost-startStop-1] [org.jboss.seam.init.Initialization] namespace declared in components.xml does not resolve to a package: 
2014-08-20 11:38:13,216 WARN  [localhost-startStop-1] [org.jboss.seam.init.Initialization] namespace declared in components.xml does not resolve to a package: 
2014-08-20 11:38:13,216 WARN  [localhost-startStop-1] [org.jboss.seam.init.Initialization] namespace declared in components.xml does not resolve to a package: 
2014-08-20 11:38:13,216 WARN  [localhost-startStop-1] [org.jboss.seam.init.Initialization] namespace declared in components.xml does not resolve to a package: 
2014-08-20 11:38:13,216 WARN  [localhost-startStop-1] [org.jboss.seam.init.Initialization] namespace declared in components.xml does not resolve to a package: 
2014-08-20 11:38:14,932 WARN  [localhost-startStop-1] [org.jboss.seam.Component] Component class should be serializable: org.jboss.seam.ui.facelet.mockHttpSession
2014-08-20 11:38:15,868 WARN  [localhost-startStop-1] [org.jboss.seam.security.permission.PersistentPermissionResolver] no permission store available - please install a PermissionStore with the name 'org.jboss.seam.security.jpaPermissionStore' if persistent permissions are required.
2014-08-20 11:38:21,156 WARN  [localhost-startStop-1] [org.nuxeo.ecm.platform.commandline.executor.service.CommandLineExecutorComponent] Command not available: pdftohtml (command pdftohtml not found in system path. You need to install pdftohtml)
2014-08-20 11:38:21,156 WARN  [localhost-startStop-1] [org.nuxeo.ecm.platform.commandline.executor.service.CommandLineExecutorComponent] Command not available: wpd2text (command wpd2text not found in system path. You need to install wpd2text (deb: libwpd-tools)  http://libwpd.sourceforge.net/download.html)
2014-08-20 11:38:29,377 WARN  [localhost-startStop-1] [org.hibernate.ejb.Ejb3Configuration] Overriding hibernate.transaction.factory_class is dangerous, this might break the EJB3 specification implementation
2014-08-20 11:38:29,970 WARN  [persistence-init-NXUIDSequencer] [org.hibernate.cfg.SettingsFactory] Could not obtain connection metadata
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (The BUFFERDIR connection property is invalid.)
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
0 votes



Hi,

It's missing the end of the stack trace. Please provide the whole log until the Caused by: java.io.FileNotFoundException line. You can use http://pastebin.com/ or any similar tool to host the file extract.

Thanks

08/20/2014

Hi Julien,

I stopped the service, deleted the server.log, the service started, logged in Nuxeo (when failure) and copied the server.log I share in dropbox link https://www.dropbox.com/s/5aaxmfm1sskhqpq/server.log

08/20/2014

First issue comes from Catalina (Tomcat):

ERROR [main] [org.apache.catalina.startup.Catalina] No puedo hallar carpeta temporal especificada en Z:/Temp

There may be more details in classloader.log, console.log, stderr.log or tomcat.log files.

Other issues:

WARN  [persistence-init-NXUIDSequencer] [org.hibernate.cfg.SettingsFactory] Could not obtain connection metadata
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (The BUFFERDIR connection property is invalid.)
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
    at org.nuxeo.runtime.api.ConnectionHelper.getPhysicalConnection(ConnectionHelper.java:909)
    at org.nuxeo.runtime.api.ConnectionHelper.getPhysicalConnection(ConnectionHelper.java:892)
    at org.nuxeo.runtime.api.ConnectionHelper.access$300(ConnectionHelper.java:55)
    at org.nuxeo.runtime.api.ConnectionHelper$ConnectionHandle.localConnectionAllocate(ConnectionHelper.java:313)
    at org.nuxeo.runtime.api.ConnectionHelper$ConnectionHandle.invoke(ConnectionHelper.java:221)

    ERROR [localhost-startStop-1] [org.apache.geronimo.connector.outbound.MCFConnectionInterceptor] Error occurred creating ManagedConnection for handle: nullManagedConnectionInfo: org.apache.geronimo.connector.outbound.ManagedConnectionInfo@25ab4110. mc: null]
org.nuxeo.ecm.core.storage.StorageException: java.io.FileNotFoundException: C:\ProgramData\Nuxeo\data\Z:\NuxeoBINPRE\config.xml (El nombre de archivo, el nombre de directorio o la sintaxis de la etiqueta del volumen no son correctos)
    at org.nuxeo.ecm.core.storage.sql.RepositoryImpl.createBinaryManager(RepositoryImpl.java:198)
    at org.nuxeo.ecm.core.storage.sql.RepositoryImpl.<init>(RepositoryImpl.java:131)
    at org.nuxeo.ecm.core.storage.sql.ra.ManagedConnectionFactoryImpl.initialize(ManagedConnectionFactoryImpl.java:289)
    at org.nuxeo.ecm.core.storage.sql.ra.ManagedConnectionFactoryImpl.createManagedConnection(ManagedConnectionFactoryImpl.java:186)
Caused by: java.io.FileNotFoundException: C:\ProgramData\Nuxeo\data\Z:\NuxeoBINPRE\config.xml (El nombre de archivo, el nombre de directorio o la sintaxis de la etiqueta del volumen no son correctos)
    at java.io.FileOutputStream.open(Native Method)
    at java.io.FileOutputStream.<init>(Unknown Source)
    at java.io.FileOutputStream.<init>(Unknown Source)
    at org.nuxeo.ecm.core.storage.binary.BinaryManagerRootDescriptor.write(BinaryManagerRootDescriptor.java:86)
    at org.nuxeo.ecm.core.storage.binary.AbstractBinaryManager.getDescriptor(AbstractBinaryManager.java:74)
    at org.nuxeo.ecm.core.storage.binary.LocalBinaryManager.initialize(LocalBinaryManager.java:104)
    at org.nuxeo.ecm.core.storage.sql.RepositoryImpl.createBinaryManager(RepositoryImpl.java:193)
    ... 63 more

Last issue seems due to the use of \ (backslashes), check your nuxeo.conf file and preferably uses / as path separator.

08/20/2014

the classloader.los shows:

2014-08-20 15:36:23,290 ERROR [org.apache.catalina.loader.WebappClassLoader] La aplicación web [/nuxeo] parece haber arrancado un hilo llamado [Thread-3] pero no ha podido pararlo. Esto tiene todas las papeletas de convertirse en un fallo de memoria. 2014-08-20 15:36:23,290 ERROR [org.apache.catalina.loader.WebappClassLoader] La aplicación web [/nuxeo] parece haber arrancado un hilo llamado [RetryTimer] pero no ha podido pararlo. Esto tiene todas las papeletas de convertirse en un fallo de memoria. 2014-08-20 15:36:23,291 ERROR [org.apache.catalina.loader.WebappClassLoader] La aplicación web [/nuxeo] parece haber arrancado un hilo llamado [PoolIdleReleaseTimer] pero no ha podido pararlo. Esto tiene todas las papeletas de convertirse en un fallo de memoria. 2014-08-20 15:36:23,291 ERROR [org.apache.catalina.loader.WebappClassLoader] La aplicación web [/nuxeo] parece haber arrancado un hilo llamado [Quartz_Worker-1] pero no ha podido pararlo. Esto tiene todas las papeletas de convertirse en un fallo de memoria. 2014-08-20 15:36:23,291 ERROR [org.apache.catalina.loader.WebappClassLoader] La aplicación web [/nuxeo] parece haber arrancado un hilo llamado [QuartzScheduler_Quartz-mancmspre011408541731756_ClusterManager] pero no ha podido pararlo. Esto tiene todas las papeletas de convertirse en un fallo de memoria. 2014-08-20 15:36:23,292 ERROR [org.apache.catalina.loader.WebappClassLoader] La aplicación web [/nuxeo] parece haber arrancado un hilo llamado [QuartzScheduler_Quartz-mancmspre011408541731756_MisfireHandler] pero no ha podido pararlo. Esto tiene todas las papeletas de convertirse en un fallo de memoria. 2014-08-20 15:36:23,292 ERROR [org.apache.catalina.loader.WebappClassLoader] La aplicación web [/nuxeo] parece haber arrancado un hilo llamado [OfficeProcessThread-0] pero no ha podido pararlo. Esto tiene todas las papeletas de convertirse en un fallo de memoria. 2014-08-20 15:36:23,292 ERROR [org.apache.catalina.loader.WebappClassLoader] La aplicación web [/nuxeo] parece haber arrancado un hilo llamado [Thread-11] pero no ha podido pararlo. Esto tiene todas las papeletas de convertirse en un fallo de memoria. 2014-08-20 15:36:23,293 ERROR [org.apache.catalina.loader.WebappClassLoader] La aplicación web [/nuxeo] parece haber arrancado un hilo llamado [Thread-12] pero no ha podido pararlo. Esto tiene todas las papeletas de convertirse en un fallo de memoria. 2014-08-20 15:36:23,293 ERROR [org.apache.catalina.loader.WebappClassLoader] La aplicación web [/nuxeo] parece haber arrancado un hilo llamado [Thread-13] pero no ha podido pararlo. Esto tiene todas las papeletas de convertirse en un fallo de memoria. 2014-08-20 15:36:23,293 ERROR [org.apache.catalina.loader.WebappClassLoader] La aplicación web [/nuxeo] parece haber arrancado un hilo llamado [Thread-14] pero no ha podido pararlo. Esto tiene todas las papeletas de convertirse en un fallo de memoria. 2014-08-20 15:36:23,294 ERROR [org.apache.catalina.loader.WebappClassLoader] La aplicación web [/nuxeo] parece haber arrancado un hilo llamado [Quartz_Scheduler] pero no ha podido pararlo. Esto tiene todas las papeletas de convertirse en un fallo de memoria. 2014-08-20 15:36:23,296 ERROR [org.apache.catalina.loader.WebappClassLoader] La aplicación web [/nuxeo] creó un ThreadLocal con clave del tipo [com.codahale.metrics.ThreadLocalRandom$1] (valor [com.codahale.metrics.ThreadLocalRandom$1@2ddd8744]) y un valor del tipo [com.codahale.metrics.ThreadLocalRandom] (valor [com.codahale.metrics.ThreadLocalRandom@2adb98e2]) pero no pudo quitarlo cuando la aplicación web se paró. Los hilos se van a renovar con el tiempo para intentar evitar in posible fallo de memoria.

console.log, stderr.log or tomcat.log files are empty.

08/20/2014

Hi,

In nuxeo.conf there is no \

All is /.

THX for your help

08/20/2014


Hi,

I remember that when starting Nuxeo as a service and making it use network drives, there are constraints on how the drive is mounted: something like use UNC mapping, make it persistent, set SYSTEM as owner. You may find tips here: http://stackoverflow.com/questions/182750/map-a-network-drive-to-be-used-by-a-service

0 votes



Hi Julien, I execute a "net use" comand in the Nuxeo server. The result that has come out is that yes this route be persistent, so I think this should not be the problem:

z: \\nass\nuxeodata\NuxeoBINPRE

and the z:\temp folder in this route

08/19/2014

However, it looks like the binary store cannot find the requested file. Could you paste the whole stack trace?

Is there anything in Z:/NuxeoBINPRE? It should also contain data and tmp sub-directories.

Is the Z:/Temp directory filled when starting Nuxeo as a service? I would expect similar issue for that directory.

As a test, I would edit the nuxeoctl.bat file to add directory existence checks and listings, then reinstall the service. That way, you'll see if Z:/NuxeoBINPRE is really visible to the Nuxeo server. I'm pretty sure that Windows didn't mount it yet when your Nuxeo server starts.

08/19/2014

Hi Julien,

In z:/NuxeoBINPRE/ are the files/folders: data, tmp and config.xml.

I added these two lines in the nuxeoclt.bat:

if exist "z:\Temp" echo exist Z:\Temp >> c:\resultado.txt
if exist "z:\NuxeoBINPRE" echo exist Z:\NuxeoBINPRE >> c:\resultado.txt

txt output file shows that there is network drives:

exist Z:\Temp 
exist Z:\NuxeoBINPRE
08/20/2014

Indeed that strange. That means we'll have to look into the code and so need the whole stack trace with class names and line numbers.

Also, you didn't said which Nuxeo version it is and if you applied some hot-fixes.

08/20/2014

Hi, The version is Nuxeo 5.9.4. when not in use as windows service, works perfect. No hot-fixes.
08/20/2014