Hi,
In my application we are using the low level API to send the traps as below.
TrapRequestEvent te = new TrapRequestEvent(
agentRef,
varBindVector,
TrapRequestEvent.TFTABLE,
oid,
index);
te.setTimeTicks(agentRef.getUpTime());
// The TrapListener will not be null.
agentRef.getTrapListener().sendTrap(te);
This API performece is degrading any only one trap is processed for every two seconds. On Analyzing the thread dumps we saw the thread is getting locked as below.
at com.adventnet.utils.agent.AgentTableModel.isLessThan(AgentTableModel.java:593)
at com.adventnet.utils.agent.AgentTableModel.sort(AgentTableModel.java:579)
at com.adventnet.utils.agent.AgentTableModel.addRow(AgentTableModel.java:329)
at com.adventnet.snmp.snmp2.agent.NotificationVarbindTableRequestHandler.addRow(NotificationVarbindTableRequestHandler.java:658)
at com.adventnet.snmp.snmp2.agent.NotificationVarbindTableRequestHandler.setTrapVarBindDetails(NotificationVarbindTableRequestHandler.java:646)
at com.adventnet.snmp.snmp2.agent.SnmpTrapService.sendTrap(SnmpTrapService.java:626)
at com.adventnet.snmp.snmp2.agent.SnmpTrapService.sendTrap(SnmpTrapService.java:2092)
at com.adventnet.snmp.snmp2.agent.SnmpTrapService.sendTrapToManagersInTable(SnmpTrapService.java:1115)
- locked [0xe37d7340] (a com.adventnet.snmp.snmp2.agent.ForwardingTable)
at com.adventnet.snmp.snmp2.agent.SnmpTrapService.sendTrapToManagers(SnmpTrapService.java:1151)
at com.adventnet.snmp.snmp2.agent.SnmpTrapService.addTrapRequest(SnmpTrapService.java:312)
at com.adventnet.snmp.snmp2.agent.SnmpTrapService.sendTrap(SnmpTrapService.java:1035)
TrapServiceUtil.sendtrap(TrapServiceUtil.java:111)
Please clarify us why this thread is getting locked and degrading the trap sending performance.
Help me to over come this issue