Five Stars

Job Server Log cleanup

Community,

 

I had noticed in the past that the job server is not cleaning up the old logs and as such, have a scheduled Talend job that cleans up both the TAC server and Job server logs.  Now I want to solve the issue and was hoping for some help.  It appears the job server tries to automatically clean 3 locations:

  • {install location}\jobserver\agent\.\TalendJobServersFiles\repository
  • {install location}\jobserver\agent\.\TalendJobServersFiles\jobexecutions\logs (This is what my scheduled job cleans)
  • {install location}\jobserver\agent\.\TalendJobServersFiles\archiveJobs

Unfortunately these all fail every time it runs and the actual rolling jobserver.log file is filled with the same errors for those 3 locations:

2017-08-28 01:15:48,980 WARN  FileDirCleaner - TempDataCleaner: 126 error(s) have occured when trying to clean the following file or directory 'C:\Talend\6.2.1\jobserver\agent\.\TalendJobServersFiles\archiveJobs', the first error is the following : 
java.lang.NoClassDefFoundError: org/apache/commons/io/FileUtils
	at org.talend.utils.files.FileDirCleaner.cleanFilesDirRecursively(FileDirCleaner.java:323)
	at org.talend.utils.files.FileDirCleaner.clean(FileDirCleaner.java:235)
	at org.talend.remote.jobserver.server.JobServerCleaner.clean(JobServerCleaner.java:83)
	at org.talend.utils.files.AbstractDataCleaner.cleanLoop(AbstractDataCleaner.java:79)
	at org.talend.utils.files.AbstractDataCleaner.access$000(AbstractDataCleaner.java:22)
	at org.talend.utils.files.AbstractDataCleaner$1.run(AbstractDataCleaner.java:59)

The job server runs as a windows service and the common-io-2.2.jar is in the agent\lib folder.  I have no problems with anything else on the job server except, occasionally, my file triggers need to be recreated after a TAC reboot (not sure if this is a TAC issue or a job server issue).  Anyone have any ideas?

 

Thanks,

Scott

1 ACCEPTED SOLUTION

Accepted Solutions
Five Stars

Re: Job Server Log cleanup

I may have found the issue.  In the wrapper.conf property file for the windows service, they have the wrong commons-io library in there:

#********************************************************************
# genConfig: further Properties generated by genConfig
#********************************************************************
placeHolderSoGenPropsComeHere=
wrapper.java.command = C:/Program Files/Java/jre1.8.0_111/bin/java.exe
wrapper.java.additional.1 = -Dcom.sun.management.jmxremote
wrapper.java.additional.2 = -Djava.library.path=./sigar-bin/lib
wrapper.java.additional.3 = -Dtalend_props=C:\\Talend\\6.2.1\\jobserver\\agent\\conf\\TalendJobServer.properties
wrapper.java.classpath.1 = ./
wrapper.java.classpath.2 = ./lib/log4j-1.2.15.jar
wrapper.java.classpath.3 = ./lib/jmxremote_optional.jar
wrapper.java.classpath.4 = ./lib/commons-io-1.3.2.jar
wrapper.java.classpath.5 = ./sigar-bin/lib/sigar.jar
wrapper.java.classpath.6 = ./lib/org.talend.libraries.jmx-6.2.1.jar
wrapper.java.classpath.7 = ./lib/org.talend.monitoring-6.2.1.jar
wrapper.java.classpath.8 = ./lib/org.talend.monitoring.server-6.2.1.jar
wrapper.java.classpath.9 = ./lib/org.talend.remote.commons-6.2.1.jar
wrapper.java.classpath.10 = ./lib/org.talend.remote.jobserver.commons-6.2.1.jar
wrapper.java.classpath.11 = ./lib/org.talend.remote.jobserver.server-6.2.1.jar
wrapper.java.classpath.12 = ./lib/org.talend.remote.server-6.2.1.jar
wrapper.java.classpath.13 = ./lib/org.talend.utils-6.2.1.jar
wrapper.java.classpath.14 = ./lib/org.talend.utils.minimal-6.2.1.jar

The version they package with the job server is common-io-2.2.

Instead of altering the the config file, I copied and renamed the current library to the version they have.  I am hoping it will automatically pick it up so I don't have to restart the job server.  That is not a big deal in the lesser environments, but PROD is running jobs all day every day, so hopefully this will work.

 

EDIT:  It required a restart as I suspected, but the issue is resolved...

 

Thanks,

Scott

3 REPLIES
Five Stars

Re: Job Server Log cleanup

I may have found the issue.  In the wrapper.conf property file for the windows service, they have the wrong commons-io library in there:

#********************************************************************
# genConfig: further Properties generated by genConfig
#********************************************************************
placeHolderSoGenPropsComeHere=
wrapper.java.command = C:/Program Files/Java/jre1.8.0_111/bin/java.exe
wrapper.java.additional.1 = -Dcom.sun.management.jmxremote
wrapper.java.additional.2 = -Djava.library.path=./sigar-bin/lib
wrapper.java.additional.3 = -Dtalend_props=C:\\Talend\\6.2.1\\jobserver\\agent\\conf\\TalendJobServer.properties
wrapper.java.classpath.1 = ./
wrapper.java.classpath.2 = ./lib/log4j-1.2.15.jar
wrapper.java.classpath.3 = ./lib/jmxremote_optional.jar
wrapper.java.classpath.4 = ./lib/commons-io-1.3.2.jar
wrapper.java.classpath.5 = ./sigar-bin/lib/sigar.jar
wrapper.java.classpath.6 = ./lib/org.talend.libraries.jmx-6.2.1.jar
wrapper.java.classpath.7 = ./lib/org.talend.monitoring-6.2.1.jar
wrapper.java.classpath.8 = ./lib/org.talend.monitoring.server-6.2.1.jar
wrapper.java.classpath.9 = ./lib/org.talend.remote.commons-6.2.1.jar
wrapper.java.classpath.10 = ./lib/org.talend.remote.jobserver.commons-6.2.1.jar
wrapper.java.classpath.11 = ./lib/org.talend.remote.jobserver.server-6.2.1.jar
wrapper.java.classpath.12 = ./lib/org.talend.remote.server-6.2.1.jar
wrapper.java.classpath.13 = ./lib/org.talend.utils-6.2.1.jar
wrapper.java.classpath.14 = ./lib/org.talend.utils.minimal-6.2.1.jar

The version they package with the job server is common-io-2.2.

Instead of altering the the config file, I copied and renamed the current library to the version they have.  I am hoping it will automatically pick it up so I don't have to restart the job server.  That is not a big deal in the lesser environments, but PROD is running jobs all day every day, so hopefully this will work.

 

EDIT:  It required a restart as I suspected, but the issue is resolved...

 

Thanks,

Scott

Five Stars

Re: Job Server Log cleanup

Thanks for the post. Had seen this on our system as well but wasn't actively trying to fix. I found for ours that changing the line you highlight produced more errors but by adding the changed line as item 15 it solved the issue.

Five Stars

Re: Job Server Log cleanup

Glad you got it fixed Bill. I actually didn't end up changing the config file, just copied and renamed the library to match.  I still haven't done TEST and PROD, so I am glad you pointed that out since I was going to modify the file.  I think I'll just stick to copying and renaming the library.

 

Thanks,

Scott