This is an automated email from the ASF dual-hosted git repository.

amagyar pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 5b25bcd  AMBARI-23400. HDFS metrics data missing in Ambari 2.7.0 
(amagyar) (#825)
5b25bcd is described below

commit 5b25bcdb8fd3710c676bb314db7e905f7e9bbc33
Author: Attila Magyar <[email protected]>
AuthorDate: Thu Mar 29 17:31:21 2018 +0200

    AMBARI-23400. HDFS metrics data missing in Ambari 2.7.0 (amagyar) (#825)
    
    * AMBARI-23400. HDFS metrics data missing in Ambari 2.7.0 (amagyar)
    
    * AMBARI-23400. HDFS metrics data missing in Ambari 2.7.0 (amagyar)
---
 .../apache/ambari/server/state/alert/MetricSource.java  |  4 +++-
 .../server/metric/system/impl/MetricsSourceTest.java    | 17 +++++++++++++++++
 2 files changed, 20 insertions(+), 1 deletion(-)

diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/state/alert/MetricSource.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/state/alert/MetricSource.java
index bfb3021..e6fc6f3 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/state/alert/MetricSource.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/state/alert/MetricSource.java
@@ -30,6 +30,7 @@ import org.apache.ambari.server.state.UriInfo;
 import org.springframework.expression.spel.standard.SpelExpressionParser;
 import org.springframework.expression.spel.support.StandardEvaluationContext;
 
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.google.gson.annotations.SerializedName;
@@ -105,16 +106,17 @@ public class MetricSource extends Source {
    * Represents the {@code jmx} element in a Metric alert.
    */
   @JsonInclude(JsonInclude.Include.NON_EMPTY)
+  @JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, 
getterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = 
JsonAutoDetect.Visibility.NONE)
   public static class JmxInfo {
     @SerializedName("property_list")
     private List<String> propertyList;
 
+    @SerializedName("value")
     private String value = "{0}";
 
     @SerializedName("url_suffix")
     private String urlSuffix = "/jmx";
 
-    @JsonProperty("property_list")
     public List<String> getPropertyList() {
       return propertyList;
     }
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/metric/system/impl/MetricsSourceTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/metric/system/impl/MetricsSourceTest.java
index def4559..351d2aa 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/metric/system/impl/MetricsSourceTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/metric/system/impl/MetricsSourceTest.java
@@ -18,6 +18,8 @@
 
 package org.apache.ambari.server.metric.system.impl;
 
+import static java.util.Collections.singletonList;
+import static junit.framework.Assert.assertEquals;
 import static org.easymock.EasyMock.capture;
 import static org.easymock.EasyMock.expectLastCall;
 import static org.easymock.EasyMock.replay;
@@ -35,6 +37,7 @@ import 
org.apache.ambari.server.metrics.system.impl.AmbariMetricSinkImpl;
 import org.apache.ambari.server.metrics.system.impl.DatabaseMetricsSource;
 import org.apache.ambari.server.metrics.system.impl.JvmMetricsSource;
 import org.apache.ambari.server.metrics.system.impl.MetricsConfiguration;
+import org.apache.ambari.server.state.alert.MetricSource;
 import org.easymock.Capture;
 import org.easymock.EasyMock;
 import org.easymock.EasyMockRunner;
@@ -44,6 +47,9 @@ import org.junit.Assume;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector;
+
 import junit.framework.Assert;
 
 @RunWith(EasyMockRunner.class)
@@ -168,4 +174,15 @@ public class MetricsSourceTest {
     
Assert.assertTrue(source.acceptMetric("Counter.ReadObjectQuery.MetainfoEntity.readMetainfoEntity.CacheMisses"));
   }
 
+  @Test
+  public void testJmxInfoSerialization() throws Exception {
+    ObjectMapper mapper = new ObjectMapper();
+    mapper.setAnnotationIntrospector(new JacksonAnnotationIntrospector());
+    MetricSource.JmxInfo jmxInfo = new MetricSource.JmxInfo();
+    jmxInfo.setValue("custom");
+    jmxInfo.setPropertyList(singletonList("prop1"));
+    MetricSource.JmxInfo deserialized = 
mapper.readValue(mapper.writeValueAsString(jmxInfo), 
MetricSource.JmxInfo.class);
+    assertEquals("custom", deserialized.getValue().toString());
+    assertEquals(singletonList("prop1"), deserialized.getPropertyList());
+  }
 }

-- 
To stop receiving notification emails like this one, please contact
[email protected].

Reply via email to