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) {