Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
TXAggie00
Contributor III
Contributor III

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

Labels (2)
1 Solution

Accepted Solutions
TXAggie00
Contributor III
Contributor III
Author

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

View solution in original post

4 Replies
TXAggie00
Contributor III
Contributor III
Author

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

Bill_Lane
Contributor
Contributor

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.

TXAggie00
Contributor III
Contributor III
Author

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

Anonymous
Not applicable

Good post.