Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

RTC unavailable if Connection to BuildForge is lost

We recently moved our Build forge system form a stage environment into production. To err on the side of caution, we changed the name of the build forge server on the build forge tab of the build definition to a server that did not exist. However we did not disconnect the the build definition from the RationalBuildForgeConnector.

This resulted in the excessive sockets opening that would bring our staging server to a halt. The websphere log file revealed the following exception.


0000001b SystemErr R java.net.SocketException: Too many open files
0000001b SystemErr R at sun.nio.ch.Net.socket0(Native Method)
0000001b SystemErr R at sun.nio.ch.Net.socket(Net.java:118)
0000001b SystemErr R at sun.nio.ch.SocketChannelImpl.<init>(SocketChannelImpl.java:84)
0000001b SystemErr R at sun.nio.ch.SelectorProviderImpl.openSocketChannel(SelectorProviderImpl.java:49)
0000001b SystemErr R at java.nio.channels.SocketChannel.open(SocketChannel.java:117)
0000001b SystemErr R at com.buildforge.services.client.api.SecureAPIClientConnection.<init>(SecureAPIClientConnection.java:72)
0000001b SystemErr R at com.ibm.rational.buildforge.team.service.BuildForgeDataManager.connectToBuildForge(BuildForgeDataManager.java:123)
0000001b SystemErr R at com.ibm.rational.buildforge.team.service.BuildForgeDataManager.getConnection(BuildForgeDataManager.java:60)
0000001b SystemErr R at com.ibm.rational.buildforge.team.service.BuildForgeEventPollerRunnable.connectToBuildForge(BuildForgeEventPollerRunnable.java:434)
0000001b SystemErr R at com.ibm.rational.buildforge.team.service.BuildForgeEventPollerRunnable.run(BuildForgeEventPollerRunnable.java:164)
0000001b SystemErr R at com.ibm.team.repository.service.internal.permission.ImpersonationService.runAs(ImpersonationService.java:44)
0000001b SystemErr R at sun.reflect.GeneratedMethodAccessor156.invoke(Unknown Source)
0000001b SystemErr R at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
0000001b SystemErr R at java.lang.reflect.Method.invoke(Method.java:600)
0000001b SystemErr R at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:370)
0000001b SystemErr R at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:356)
0000001b SystemErr R at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
0000001b SystemErr R at $Proxy119.runAs(Unknown Source)
0000001b SystemErr R at com.ibm.rational.buildforge.team.service.BuildForgeEventPollerScheduledTask.runTask(BuildForgeEventPollerScheduledTask.java:44)
0000001b SystemErr R at com.ibm.team.repository.service.async.AbstractAutoScheduledTask.executeTask(AbstractAutoScheduledTask.java:88)
0000001b SystemErr R at sun.reflect.GeneratedMethodAccessor118.invoke(Unknown Source)
0000001b SystemErr R at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
0000001b SystemErr R at java.lang.reflect.Method.invoke(Method.java:600)
0000001b SystemErr R at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:370)
0000001b SystemErr R at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:356)
0000001b SystemErr R at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
0000001b SystemErr R at $Proxy227.executeTask(Unknown Source)
0000001b SystemErr R at com.ibm.team.repository.service.internal.scheduler.AsynchronousTaskRunner.runTask(AsynchronousTaskRunner.java:118)
0000001b SystemErr R at com.ibm.team.repository.service.internal.scheduler.AsynchronousTaskRunner.run(AsynchronousTaskRunner.java:92)
0000001b SystemErr R at java.lang.Thread.run(Thread.java:736)

0 votes



One answer

Permanent link
We recently moved our Build forge system form a stage environment into production. To err on the side of caution, we changed the name of the build forge server on the build forge tab of the build definition to a server that did not exist. However we did not disconnect the the build definition from the RationalBuildForgeConnector.

This resulted in the excessive sockets opening that would bring our staging server to a halt. The websphere log file revealed the following exception.


0000001b SystemErr R java.net.SocketException: Too many open files
0000001b SystemErr R at sun.nio.ch.Net.socket0(Native Method)
0000001b SystemErr R at sun.nio.ch.Net.socket(Net.java:118)
0000001b SystemErr R at sun.nio.ch.SocketChannelImpl.<init>(SocketChannelImpl.java:84)
0000001b SystemErr R at sun.nio.ch.SelectorProviderImpl.openSocketChannel(SelectorProviderImpl.java:49)
0000001b SystemErr R at java.nio.channels.SocketChannel.open(SocketChannel.java:117)
0000001b SystemErr R at com.buildforge.services.client.api.SecureAPIClientConnection.<init>(SecureAPIClientConnection.java:72)
0000001b SystemErr R at com.ibm.rational.buildforge.team.service.BuildForgeDataManager.connectToBuildForge(BuildForgeDataManager.java:123)
0000001b SystemErr R at com.ibm.rational.buildforge.team.service.BuildForgeDataManager.getConnection(BuildForgeDataManager.java:60)
0000001b SystemErr R at com.ibm.rational.buildforge.team.service.BuildForgeEventPollerRunnable.connectToBuildForge(BuildForgeEventPollerRunnable.java:434)
0000001b SystemErr R at com.ibm.rational.buildforge.team.service.BuildForgeEventPollerRunnable.run(BuildForgeEventPollerRunnable.java:164)
0000001b SystemErr R at com.ibm.team.repository.service.internal.permission.ImpersonationService.runAs(ImpersonationService.java:44)
0000001b SystemErr R at sun.reflect.GeneratedMethodAccessor156.invoke(Unknown Source)
0000001b SystemErr R at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
0000001b SystemErr R at java.lang.reflect.Method.invoke(Method.java:600)
0000001b SystemErr R at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:370)
0000001b SystemErr R at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:356)
0000001b SystemErr R at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
0000001b SystemErr R at $Proxy119.runAs(Unknown Source)
0000001b SystemErr R at com.ibm.rational.buildforge.team.service.BuildForgeEventPollerScheduledTask.runTask(BuildForgeEventPollerScheduledTask.java:44)
0000001b SystemErr R at com.ibm.team.repository.service.async.AbstractAutoScheduledTask.executeTask(AbstractAutoScheduledTask.java:88)
0000001b SystemErr R at sun.reflect.GeneratedMethodAccessor118.invoke(Unknown Source)
0000001b SystemErr R at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
0000001b SystemErr R at java.lang.reflect.Method.invoke(Method.java:600)
0000001b SystemErr R at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:370)
0000001b SystemErr R at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:356)
0000001b SystemErr R at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
0000001b SystemErr R at $Proxy227.executeTask(Unknown Source)
0000001b SystemErr R at com.ibm.team.repository.service.internal.scheduler.AsynchronousTaskRunner.runTask(AsynchronousTaskRunner.java:118)
0000001b SystemErr R at com.ibm.team.repository.service.internal.scheduler.AsynchronousTaskRunner.run(AsynchronousTaskRunner.java:92)
0000001b SystemErr R at java.lang.Thread.run(Thread.java:736)


This is fixed in 7.1.1.4 and in the connector that's uploaded in the Wiki article describing the advanced integration. The server connector on the Wiki article works with 7.1.1.3 and forward.

You need to make sure that for the dedicated users you are configuring, the hostnames are in consistent format as the cache lookup for connections is based on host:port:user. If host:port is different for the same user to the same host (e.g., host vs. host.domain), then it will cause each def to logout the other.

Regards,
Pete

0 votes

Your answer

Register or log in 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.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details

Question asked: May 17 '10, 1:58 p.m.

Question was seen: 6,361 times

Last updated: May 17 '10, 1:58 p.m.

Confirmation Cancel Confirm