Forum Discussion
set_monitor_state throws AxisFault with return code 0
AxisFault
faultCode: {http://xml.apache.org/axis/}HTTP
faultSubcode:
faultString: (0)null
faultActor:
faultNode:
faultDetail:
{}:return code: 0
{http://xml.apache.org/axis/}HttpErrorCode:0
(0)null
at
org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:744)
at
org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:144)
at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at
iControl.LocalLBPoolMemberBindingStub.set_monitor_state(LocalLBPoolMemberBindingStub.java:1514)
at BigIpController.setStatus(BigIpController.java:180)
at BigIpController.main(BigIpController.java:592)
Note that this code works >90% of the time. What does this fault mean? Is the best strategy just to retry when this occurs?
- Janeka_284257
Nimbostratus
did anyone ever figure out the resolution to this?
Without seeing the input parameters it's hard to tell. If it works part of the time, then odds are there may be a server issue going on. Have you looked at the server logs to see if the iControlPortal had an issue (crash or something else logged)? I haven't heard of this issue before...
- Tim_Patton_1891
Nimbostratus
Hi Joe, Both Janeka and I work for the same company. We are still seeing this problem when we attempt to gracefully disable a pool member. Please let me know if you need any additional information. Thank you!
=====From our log file: ... Current Connections: 4 Current Connections: 4 Current Connections: 4 AxisFault faultCode: {http://xml.apache.org/axis/}HTTP faultSubcode: faultString: (0)null faultActor: faultNode: faultDetail: {}:return code: 0
{http://xml.apache.org/axis/}HttpErrorCode:0 (0)null at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:744) at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:144) at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165) at org.apache.axis.client.Call.invokeEngine(Call.java:2784) at org.apache.axis.client.Call.invoke(Call.java:2767) at org.apache.axis.client.Call.invoke(Call.java:2443) at org.apache.axis.client.Call.invoke(Call.java:2366) at org.apache.axis.client.Call.invoke(Call.java:1812) at iControl.LocalLBPoolMemberBindingStub.get_statistics(LocalLBPoolMemberBindingStub.java:1296) at com.premier.controls.MemberStopStart.checkConnections(MemberStopStart.java:83) at com.premier.controls.MemberStopStart.disablePoolMember(MemberStopStart.java:42) at com.premier.controls.ControlMain.Run(ControlMain.java:40) at com.premier.controls.ControlMain.main(ControlMain.java:18)
====Following is the code snippet where this problem occurs:
private boolean checkConnections() {
System.out.println("Waiting for current connections to drop to zero..."); CommonIPPortDefinition memberDef = new CommonIPPortDefinition(); memberDef.setAddress(memberAddress); memberDef.setPort(Long.parseLong(memberPort)); CommonIPPortDefinition[] memberDefA = {memberDef}; CommonIPPortDefinition[][] memberDefAofA = {memberDefA}; long cur_connections = 1; while (cur_connections > 0) { LocalLBPoolMemberMemberStatistics[] memberStatsA = interfaces.getLocalLBPoolMember().get_statistics(poolArray, memberDefAofA); LocalLBPoolMemberMemberStatistics memberStats = memberStatsA[0]; LocalLBPoolMemberMemberStatisticEntry[] statsEntryA = memberStats.getStatistics(); LocalLBPoolMemberMemberStatisticEntry statsEntry = statsEntryA[0]; CommonStatistic[] statsA = statsEntry.getStatistics(); for (int i = 0; i < statsA.length; i++) { CommonStatisticType type = statsA[i].getType(); CommonULong64 value64 = statsA[i].getValue(); if (type == CommonStatisticType.STATISTIC_SERVER_SIDE_CURRENT_CONNECTIONS) { cur_connections = value64.getLow(); System.out.println("Current Connections: " + cur_connections); } } Thread.currentThread(); Thread.sleep(1000); } return true;
}
- Daniel_Epperson
Employee
This appears to be caused by a network issue (such as a timeout) which in turn caused the HTTP client to read NULL. This is a Java problem and is not specific to F5.
References:
- https://groups.google.com/forum/!topic/adwords-api/M-aOkaSa-c8
- http://stackoverflow.com/questions/22083362/what-type-of-exception-is-0null?answertab=votestab-top
- https://thejavablog.wordpress.com/2009/04/15/0null/
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com