You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ha...@apache.org on 2021/01/13 12:19:24 UTC
[ambari] branch branch-2.7 updated: AMBARI-25609. sysUpTime field
is populated with invalid value during SNMP trap creation. (dgrinenko via
dvitiuk) (#3277)
This is an automated email from the ASF dual-hosted git repository.
hapylestat pushed a commit to branch branch-2.7
in repository https://gitbox.apache.org/repos/asf/ambari.git
The following commit(s) were added to refs/heads/branch-2.7 by this push:
new 1cda0b0 AMBARI-25609. sysUpTime field is populated with invalid value during SNMP trap creation. (dgrinenko via dvitiuk) (#3277)
1cda0b0 is described below
commit 1cda0b0746507a4c5d340195c0a5cf3ee45faa31
Author: dvitiiuk <dm...@gmail.com>
AuthorDate: Wed Jan 13 14:19:16 2021 +0200
AMBARI-25609. sysUpTime field is populated with invalid value during SNMP trap creation. (dgrinenko via dvitiuk) (#3277)
---
.../server/notifications/dispatchers/AmbariSNMPDispatcher.java | 4 ++--
.../server/state/services/AlertNoticeDispatchServiceTest.java | 8 ++++++--
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/notifications/dispatchers/AmbariSNMPDispatcher.java b/ambari-server/src/main/java/org/apache/ambari/server/notifications/dispatchers/AmbariSNMPDispatcher.java
index 0c2489a..b8b7016 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/notifications/dispatchers/AmbariSNMPDispatcher.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/notifications/dispatchers/AmbariSNMPDispatcher.java
@@ -119,8 +119,8 @@ public class AmbariSNMPDispatcher extends SNMPDispatcher {
pdu.setType(snmpVersion.getTrapType());
RuntimeMXBean runtimeMXBean = ManagementFactory.getRuntimeMXBean();
- long uptimeInMillis = runtimeMXBean.getUptime();
- pdu.add(new VariableBinding(SnmpConstants.sysUpTime, new TimeTicks(uptimeInMillis)));
+ long uptimeInHundredthsOfSecond = runtimeMXBean.getUptime() / 10;
+ pdu.add(new VariableBinding(SnmpConstants.sysUpTime, new TimeTicks(uptimeInHundredthsOfSecond)));
// Set trap oid for PDU
pdu.add(new VariableBinding(SnmpConstants.snmpTrapOID, new OID(AMBARI_ALERT_TRAP_OID)));
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/services/AlertNoticeDispatchServiceTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/services/AlertNoticeDispatchServiceTest.java
index ed289b4..5ebe3cc 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/state/services/AlertNoticeDispatchServiceTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/state/services/AlertNoticeDispatchServiceTest.java
@@ -101,6 +101,10 @@ public class AlertNoticeDispatchServiceTest extends AlertNoticeDispatchService {
final static String HOSTNAME = "c6401.ambari.apache.org";
final static Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
+ // the requirement to this test value is to be greater than 2^32-1
+ final static long UPTIME_MILLIS = 8589934592L;
+ final static long UPTIME_HUNDREDTHS_OF_SECOND = UPTIME_MILLIS / 10;
+
private AmbariMetaInfo m_metaInfo = null;
private DispatchFactory m_dispatchFactory = null;
private AlertDispatchDAO m_dao = null;
@@ -170,7 +174,7 @@ public class AlertNoticeDispatchServiceTest extends AlertNoticeDispatchService {
PowerMock.mockStatic(ManagementFactory.class);
expect(ManagementFactory.getRuntimeMXBean()).andReturn(m_runtimeMXBean).atLeastOnce();
PowerMock.replay(ManagementFactory.class);
- expect(m_runtimeMXBean.getUptime()).andReturn(360000L).atLeastOnce();
+ expect(m_runtimeMXBean.getUptime()).andReturn(UPTIME_MILLIS).atLeastOnce();
replay( m_runtimeMXBean);
}
@@ -404,7 +408,7 @@ public class AlertNoticeDispatchServiceTest extends AlertNoticeDispatchService {
List<Vector> expectedTrapVectors = new LinkedList<>();
Vector firstVector = new Vector();
- firstVector.add(new VariableBinding(SnmpConstants.sysUpTime, new TimeTicks(360000L)));
+ firstVector.add(new VariableBinding(SnmpConstants.sysUpTime, new TimeTicks(UPTIME_HUNDREDTHS_OF_SECOND)));
firstVector.add(new VariableBinding(SnmpConstants.snmpTrapOID, new OID(AmbariSNMPDispatcher.AMBARI_ALERT_TRAP_OID)));
firstVector.add(new VariableBinding(new OID(AmbariSNMPDispatcher.AMBARI_ALERT_DEFINITION_ID_OID), new Integer32(new BigDecimal(1L).intValueExact())));
firstVector.add(new VariableBinding(new OID(AmbariSNMPDispatcher.AMBARI_ALERT_DEFINITION_NAME_OID), new OctetString("alert-definition-1")));