It's all about the answers!

Ask a question

RTC unavailable if Connection to BuildForge is lost


Thomas Dunnigan (13114126) | asked May 17 '10, 1:58 p.m.
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)

One answer



permanent link
Peter Birk (501145) | answered May 18 '10, 8:57 a.m.
JAZZ DEVELOPER
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

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.