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

wlo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/gobblin.git


The following commit(s) were added to refs/heads/master by this push:
     new 240aee211 [GOBBLIN-1770] Allow null values for fields in 
GaaSObservabilityEvent.Issue fields which are optional
240aee211 is described below

commit 240aee21178b02f1d59a6401cfb27df7912f9cb9
Author: William Lo <[email protected]>
AuthorDate: Thu Jan 26 16:44:37 2023 -0800

    [GOBBLIN-1770] Allow null values for fields in GaaSObservabilityEvent.Issue 
fields which are optional
---
 .../src/main/avro/GaaSObservabilityEventExperimental.avsc      | 10 +++++-----
 .../service/monitoring/GaaSObservabilityEventProducer.java     |  2 +-
 .../service/monitoring/GaaSObservabilityProducerTest.java      |  8 ++++++++
 3 files changed, 14 insertions(+), 6 deletions(-)

diff --git 
a/gobblin-metrics-libs/gobblin-metrics-base/src/main/avro/GaaSObservabilityEventExperimental.avsc
 
b/gobblin-metrics-libs/gobblin-metrics-base/src/main/avro/GaaSObservabilityEventExperimental.avsc
index a9039dd90..11cd927d3 100644
--- 
a/gobblin-metrics-libs/gobblin-metrics-base/src/main/avro/GaaSObservabilityEventExperimental.avsc
+++ 
b/gobblin-metrics-libs/gobblin-metrics-base/src/main/avro/GaaSObservabilityEventExperimental.avsc
@@ -153,16 +153,16 @@
               },
               {
                 "name": "details",
-                "type": "string",
-                "doc": "Human-readable issue details that can include 
exception stack trace and additional information about the problem."
+                "type": ["null","string"],
+                "doc": "Optional human-readable issue details that can include 
exception stack trace and additional information about the problem."
               },
               {
                 "name": "properties",
-                "type": {
+                "type": ["null", {
                   "type": "map",
                   "values": "string"
-                },
-                "doc": "Additional machine-readable properties of the issue.\n"
+                }],
+                "doc": "Optional additional machine-readable properties of the 
issue.\n"
               }
             ]
           }
diff --git 
a/gobblin-service/src/main/java/org/apache/gobblin/service/monitoring/GaaSObservabilityEventProducer.java
 
b/gobblin-service/src/main/java/org/apache/gobblin/service/monitoring/GaaSObservabilityEventProducer.java
index 0816613a9..80599d997 100644
--- 
a/gobblin-service/src/main/java/org/apache/gobblin/service/monitoring/GaaSObservabilityEventProducer.java
+++ 
b/gobblin-service/src/main/java/org/apache/gobblin/service/monitoring/GaaSObservabilityEventProducer.java
@@ -57,7 +57,7 @@ public abstract class GaaSObservabilityEventProducer 
implements Closeable {
   protected MetricContext metricContext;
   protected State state;
   protected MultiContextIssueRepository issueRepository;
-  boolean instrumentationEnabled;
+  protected boolean instrumentationEnabled;
   ContextAwareMeter getIssuesFailedMeter;
 
   public GaaSObservabilityEventProducer(State state, 
MultiContextIssueRepository issueRepository, boolean instrumentationEnabled) {
diff --git 
a/gobblin-service/src/test/java/org/apache/gobblin/service/monitoring/GaaSObservabilityProducerTest.java
 
b/gobblin-service/src/test/java/org/apache/gobblin/service/monitoring/GaaSObservabilityProducerTest.java
index 18371e556..e97d56524 100644
--- 
a/gobblin-service/src/test/java/org/apache/gobblin/service/monitoring/GaaSObservabilityProducerTest.java
+++ 
b/gobblin-service/src/test/java/org/apache/gobblin/service/monitoring/GaaSObservabilityProducerTest.java
@@ -32,6 +32,9 @@ import org.apache.gobblin.configuration.State;
 import org.apache.gobblin.metrics.GaaSObservabilityEventExperimental;
 import org.apache.gobblin.metrics.JobStatus;
 import org.apache.gobblin.metrics.event.TimingEvent;
+import org.apache.gobblin.metrics.reporter.util.AvroBinarySerializer;
+import org.apache.gobblin.metrics.reporter.util.AvroSerializer;
+import org.apache.gobblin.metrics.reporter.util.NoopSchemaVersionWriter;
 import 
org.apache.gobblin.runtime.troubleshooter.InMemoryMultiContextIssueRepository;
 import org.apache.gobblin.runtime.troubleshooter.Issue;
 import org.apache.gobblin.runtime.troubleshooter.IssueSeverity;
@@ -82,6 +85,11 @@ public class GaaSObservabilityProducerTest {
     Assert.assertEquals(event.getJobStatus(), JobStatus.SUCCEEDED);
     Assert.assertEquals(event.getExecutorUrl(), "hostName");
     Assert.assertEquals(event.getIssues().size(), 1);
+
+    AvroSerializer<GaaSObservabilityEventExperimental> serializer = new 
AvroBinarySerializer<>(
+        GaaSObservabilityEventExperimental.SCHEMA$, new 
NoopSchemaVersionWriter()
+    );
+    serializer.serializeRecord(event);
   }
 
   private Issue createTestIssue(String summary, String code, IssueSeverity 
severity) {

Reply via email to