It's all about the answers!

Ask a question

Job server connection problems


N Z (3622127) | asked May 04 '11, 12:37 a.m.
RAM 7.5/WAS 7.0.0.11 on Win2003 server, SQL2008.

I've been going through the RAM logs, and the following entry is consistently appearing:

00000037 SystemOut O CRRAM0001E 4743551 ERROR ws com.ibm.ram.repository.web.ws.quartz.jobs.AssetIndexBuilderJob - Error communicating with job server
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:180)
at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(StreamDecoder.java:452)
at sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:494)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:222)
at java.io.InputStreamReader.read(InputStreamReader.java:177)
at java.io.BufferedReader.fill(BufferedReader.java:148)
at java.io.BufferedReader.read(BufferedReader.java:169)
at com.ibm.ram.repository.web.ws.quartz.jobs.AssetIndexBuilderJob.executeJob(AssetIndexBuilderJob.java:59)
at com.ibm.ram.repository.web.ws.quartz.jobs.AbstractRAMJob.execute(AbstractRAMJob.java:80)
at org.quartz.core.JobRunShell.run(JobRunShell.java:203)
at com.ibm.ram.repository.web.ws.was.quartz.RAMThreadPool$RAMWork.run(RAMThreadPool.java:166)
at com.ibm.ws.asynchbeans.J2EEContext$RunProxy.run(J2EEContext.java:268)
at java.security.AccessController.doPrivileged(AccessController.java:202)
at com.ibm.ws.asynchbeans.J2EEContext.run(J2EEContext.java:768)
at com.ibm.ws.asynchbeans.WorkWithExecutionContextImpl.go(WorkWithExecutionContextImpl.java:222)
at com.ibm.ws.asynchbeans.ABWorkItemImpl.run(ABWorkItemImpl.java:159)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1550)
00000036 SystemOut O CRRAM0002W 4790034 WARN ws com.ibm.ram.repository.jobs.server.JobServerManager - Exception getting job server connection
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:352)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:214)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:201)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:378)
at java.net.Socket.connect(Socket.java:537)
at java.net.Socket.connect(Socket.java:487)
at java.net.Socket.<init>(Socket.java:384)
at java.net.Socket.<init>(Socket.java:227)
at com.ibm.ram.repository.jobs.server.JobServerManager.getServerConnection(JobServerManager.java:311)
at com.ibm.ram.repository.jobs.server.JobServerManager.getJobServerConnection(JobServerManager.java:366)
at com.ibm.ram.repository.web.ws.quartz.jobs.ForumIndexBuilderJob.executeJob(ForumIndexBuilderJob.java:41)
at com.ibm.ram.repository.web.ws.quartz.jobs.AbstractRAMJob.execute(AbstractRAMJob.java:80)
at org.quartz.core.JobRunShell.run(JobRunShell.java:203)
at com.ibm.ram.repository.web.ws.was.quartz.RAMThreadPool$RAMWork.run(RAMThreadPool.java:166)
at com.ibm.ws.asynchbeans.J2EEContext$RunProxy.run(J2EEContext.java:268)
at java.security.AccessController.doPrivileged(AccessController.java:202)
at com.ibm.ws.asynchbeans.J2EEContext.run(J2EEContext.java:768)
at com.ibm.ws.asynchbeans.WorkWithExecutionContextImpl.go(WorkWithExecutionContextImpl.java:222)
at com.ibm.ws.asynchbeans.ABWorkItemImpl.run(ABWorkItemImpl.java:159)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1550)


I've searched for references on this but not found anything, anyone have any ideas on why this is occurring?

7 answers



permanent link
Gili Mendel (1.8k56) | answered May 04 '11, 9:16 a.m.
JAZZ DEVELOPER
By default, the indexer is working on a separate process (outside of the WAS VM).


When was the last time your indexer ran ? (check this from the Administration -> Tools -> Job Status)

permanent link
Rich Kulp (3.6k38) | answered May 04 '11, 11:24 a.m.
FORUM MODERATOR / JAZZ DEVELOPER
Hi,

1) Look in the indexJobServerSystemOutLog.txt and
indexJobServerSystemErrLog.txt logs to verify that your index jobserver
is even starting, or if there are errors starting them.

2) Look in the ramJobServerDebug.log to verify that there were no errors
running the job process that would of caused it to go away.

3) Verify that you don't have a firewall running on your system that is
blocking RAM on that machine from accessing the port that the index job
process uses to communicate. By default RAM uses the port range 4545 to
4555 to communicate between the app server instance and the index job
process.

Rich

permanent link
N Z (3622127) | answered May 05 '11, 1:59 a.m.
By default, the indexer is working on a separate process (outside of the WAS VM).


When was the last time your indexer ran ? (check this from the Administration -> Tools -> Job Status)


This is from the Job Status:

Asset Index Builder No update necessary May 5, 2011 3:58:25 PM May 5, 2011 3:58:25 PM 0 seconds

permanent link
N Z (3622127) | answered May 05 '11, 2:06 a.m.
Hi,

1) Look in the indexJobServerSystemOutLog.txt and
indexJobServerSystemErrLog.txt logs to verify that your index jobserver
is even starting, or if there are errors starting them.

2) Look in the ramJobServerDebug.log to verify that there were no errors
running the job process that would of caused it to go away.

3) Verify that you don't have a firewall running on your system that is
blocking RAM on that machine from accessing the port that the index job
process uses to communicate. By default RAM uses the port range 4545 to
4555 to communicate between the app server instance and the index job
process.

Rich


From the indexJobServerSystemErrLog.txt, it is full of:

Exception in thread "Thread-16217" com.ibm.ram.repository.core.IRepositoryAccess$RepositoryException: The TCP/IP connection to the host SQLAU182DEV115, port 50270 has failed. Error: "connect timed out. Verify the connection properties, check that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port, and that no firewall is blocking TCP connections to the port.".

This log has no time stamps, so it is not possible to tell when these errors are occurring. There is nothing wrong with the DB connection parameters, or the DB itself.

There are no firewalls in place.

From the ramJobServerDebug.log:

CRRAM0001E 27607748 ERROR com.ibm.ram.repository.fsearch.assets.AssetIndexBuilder - Error indexing reviewer data for asset 2048
java.lang.NoClassDefFoundError: com.ibm.ram.client.RAMCommunity
at java.lang.J9VMInternals.verifyImpl(Native Method)
at java.lang.J9VMInternals.verify(J9VMInternals.java:72)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:134)
at com.anz.emap.ram.governor.EmapGovernor.initPolicies(EmapGovernor.java:77)
at com.anz.emap.ram.governor.EmapGovernor.getPolicies(EmapGovernor.java:60)
at com.anz.emap.ram.governor.EmapGovernor.getAssetPolicies(EmapGovernor.java:26)
at com.ibm.ram.repository.rest.RestUtils.getPolicyGovernor(RestUtils.java:1733)
at com.ibm.ram.repository.rest.RestPoliciesService.doGet(RestPoliciesService.java:161)
at com.ibm.ram.repository.lifecycle.AssetLifecycleManager.getPolicyDefinition(AssetLifecycleManager.java:4226)
at com.ibm.ram.repository.lifecycle.AssetLifecycleManager.getPopulatedStateHistory(AssetLifecycleManager.java:1187)
at com.ibm.ram.repository.lifecycle.AssetLifecycleManager.getActiveStateHistory(AssetLifecycleManager.java:1486)
at com.ibm.ram.repository.lifecycle.AssetLifecycleManager.getActiveStateHistory(AssetLifecycleManager.java:1456)
at com.ibm.ram.repository.review.Utilities.getRequiredReviewers(Utilities.java:2166)
at com.ibm.ram.repository.fsearch.assets.AssetIndexBuilder.createLuceneDoc(AssetIndexBuilder.java:917)
at com.ibm.ram.repository.fsearch.assets.AssetIndexBuilder.updateDocs(AssetIndexBuilder.java:255)
at com.ibm.fsearch.index.AbstractIndexBuilder.buildIndex(AbstractIndexBuilder.java:188)
at com.ibm.ram.repository.fsearch.assets.AssetIndexBuilder.buildRepositoryIndex(AssetIndexBuilder.java:1493)
at com.ibm.ram.repository.jobs.AssetIndexJob.run(AssetIndexJob.java:222)
at java.lang.Thread.run(Thread.java:736)
Caused by:
java.lang.ClassNotFoundException: com.ibm.ram.client.RAMCommunity
at java.lang.ClassNotFoundException.<init>(ClassNotFoundException.java:77)
at java.net.URLClassLoader.findClass(URLClassLoader.java:383)
at java.lang.ClassLoader.loadClass(ClassLoader.java:652)
at java.lang.ClassLoader.loadClass(ClassLoader.java:618)
... 19 more

permanent link
Gili Mendel (1.8k56) | answered May 05 '11, 8:22 a.m.
JAZZ DEVELOPER
From the ramJobServerDebug.log:

CRRAM0001E 27607748 ERROR com.ibm.ram.repository.fsearch.assets.AssetIndexBuilder - Error indexing reviewer data for asset 2048
java.lang.NoClassDefFoundError: com.ibm.ram.client.RAMCommunity
at java.lang.J9VMInternals.verifyImpl(Native Method)



It seems that you have a custom policy governor (com.anz.emap.ram.governor.EmapGovernor) That uses the ram client api, but does not have the ramclient.jar on its path.

either add it to the WEB-INF/lib directory for the com.ibm.repository.web.war and com.ibm.repository.web.ws.was.war ... or .zip it with you policy .jar and add it as you policy.

permanent link
Sheehan Anderson (1.2k4) | answered May 05 '11, 9:55 a.m.
JAZZ DEVELOPER
From the ramJobServerDebug.log:

CRRAM0001E 27607748 ERROR com.ibm.ram.repository.fsearch.assets.AssetIndexBuilder - Error indexing reviewer data for asset 2048
java.lang.NoClassDefFoundError: com.ibm.ram.client.RAMCommunity
at java.lang.J9VMInternals.verifyImpl(Native Method)


The above error was resolved in RAM 7.5.0.1. See
https://jazz.net/jazz02/resource/itemName/com.ibm.team.workitem.WorkItem/41033
If possible, you should upgrade to RAM 7.5.0.2.

As a workaround in RAM 7.5, you will have to navigate to
http://<host>/ram/admin/repository/advancedConfiguration.faces
and uncheck the 'Perform all indexing in a remote process' checkbox. This will force the indexing process in run in the WAS java process. The indexer normally runs on a low priority thread at the OS level. When running in the WAS java process it will run in a low priority thread at the JVM level. This means the indexer may use more CPU and you may see reduced performance in other areas of RAM if you do not have enough CPU power available.

Adding the JARs to the WEB-INF/lib folder as stated in the above comment will not resolve the issue you are seeing.


Exception in thread "Thread-16217" com.ibm.ram.repository.core.IRepositoryAccess$RepositoryException: The TCP/IP connection to the host SQLAU182DEV115, port 50270 has failed. Error: "connect timed out. Verify the connection properties, check that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port, and that no firewall is blocking TCP connections to the port.".


This error says that the index process was unable to make a database connection. I'm not sure what was causing the error, but if you hit the first error it implies that the indexer eventually made the DB connection and started successfully.

permanent link
Gili Mendel (1.8k56) | answered May 06 '11, 8:35 a.m.
JAZZ DEVELOPER
Regarding the class not found (for the RichClient API) ... it is likely that the ramclient.jar is missing still (for the policies on that lifecycle)...

make sure you have that .jar packaged as part of the policy or in WEB-INF.

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.