Quantcast
Viewing latest article 8
Browse Latest Browse All 13

VMware Site Recovery Manager 5.1 Connection & Session Limits

SRM Connection or Session Limit Reached

Have you ran into one of these errors before:

     [exec] AxisFault
     [exec]  faultCode: ServerFaultCode
     [exec]  faultSubcode: 
     [exec]  faultString: fault.drextapi.fault.ConnectionLimitReached.summary
     [exec]  faultActor: 
     [exec]  faultNode: 
     [exec]  faultDetail: 
     [exec]     {urn:srm0}SrmFaultConnectionLimitReachedFault:<connectionLimit>10</connectionLimit>
     [exec] fault.drextapi.fault.ConnectionLimitReached.summary

Or

     [exec] AxisFault
     [exec]  faultCode: ServerFaultCode
     [exec]  faultSubcode: 
     [exec]  faultString: dr.fault.SessionLimitExceeded
     [exec]  faultActor: 
     [exec]  faultNode: 
     [exec]  faultDetail: 
     [exec] 	{urn:srm0}MethodFaultFault:<vim25:reason>Invalid fault</vim25:reason>
     [exec] dr.fault.SessionLimitExceeded
     [exec] 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
     [exec] 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
     [exec] 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)

Or in the GUI:Lost connection to remote SRM server. Unable to login. The maximum number of SRM users has been reached.

Keep reading for the fix!


Googling showed absolutely nothing. These two faults are actually different and separate, and not related to each other (the second fault is related to the GUI error). The ConnectionLimitReached fault is related directly to external API, and SessionLimitExceeded fault is related to the GUI sessions and how many are logged into vCenter & SRM. If you’re developing your own app using the SDK/API, you can see both errors, but make sure you understand where each came from.

What’s the difference?

ConnectionLimitReached is how many active connections you have to the External API, which you’ll only see when developing your own app to talk to SRM via the SDK/API. The default for this is 10, and there’s no mention of it anywhere, except your fault code. SessionLimitExceeded is when the total number of connections in SRM has been reached, which the default of this is 45. This is an aggregate of API & GUI connections, so your app plus SRM administrators logged in, or just your administrators logged in. When you log into the GUI and connect to SRM, it spawns multiple connections, thus compounding sessions, reaching it faster than you’d think.

Increasing Connection Limit and Session Limit

To fix the ConnectionLimitReached fault, you can add “<”connectionLimit”>”##”<”/connectionLimit”>” to the vmware-dr.xml file inside the “<”ExternalAPI”>” tag to increase the connection limits. Here’s an example of the vmware-dr.xml file with the limit of 50 added:

<plugins>
	<ExternalApi>
		<connectionLimit>50</connectionLimit>
		<path>srm-external-api.dll</path>
	</ExternalApi>

After adding that, we haven’t seen seen the ConnectionLimitReached fault anymore.

In order to fix the SessionLImitExceeded fault, change sessionLimit in the connections tag. I set it to 90, default is 45, and haven’t had any issues. That setting is like this:

<connections>
    <sessionLimit>90</sessionLimit>
</connections>

Viewing latest article 8
Browse Latest Browse All 13

Trending Articles