This is an automated email from the ASF dual-hosted git repository.
lesun 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 81c81f6 [GOBBLIN-1553] Catch exception when iceberg does not support
get metrics for non-optional union type (#3405)
81c81f6 is described below
commit 81c81f6ac0095d671eccaa80f7b20e69194dd8dc
Author: Zihan Li <[email protected]>
AuthorDate: Tue Sep 28 12:13:12 2021 -0700
[GOBBLIN-1553] Catch exception when iceberg does not support get metrics
for non-optional union type (#3405)
* [hotfix] workaround to catch exception when iceberg does not support get
metrics for non-union type
* address comments
---
.../apache/gobblin/iceberg/publisher/GobblinMCEPublisher.java | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git
a/gobblin-iceberg/src/main/java/org/apache/gobblin/iceberg/publisher/GobblinMCEPublisher.java
b/gobblin-iceberg/src/main/java/org/apache/gobblin/iceberg/publisher/GobblinMCEPublisher.java
index 0871fb7..8b76843 100644
---
a/gobblin-iceberg/src/main/java/org/apache/gobblin/iceberg/publisher/GobblinMCEPublisher.java
+++
b/gobblin-iceberg/src/main/java/org/apache/gobblin/iceberg/publisher/GobblinMCEPublisher.java
@@ -76,6 +76,7 @@ public class GobblinMCEPublisher extends DataPublisher {
private final Closer closer = Closer.create();
private final Configuration conf;
private static final PathFilter HIDDEN_FILES_FILTER = new HiddenFilter();
+ private static final Metrics DUMMY_METRICS = new Metrics(100000000L, null,
null, null, null);
public GobblinMCEPublisher(State state) throws IOException {
@@ -196,9 +197,14 @@ public class GobblinMCEPublisher extends DataPublisher {
case ORC: {
if (mapping == null) {
//This means the table is not compatible with iceberg, so return a
dummy metric
- return new Metrics(100000000L, null, null, null);
+ return DUMMY_METRICS;
+ }
+ try {
+ return OrcMetrics.fromInputFile(HadoopInputFile.fromPath(path,
conf), MetricsConfig.getDefault(), mapping);
+ } catch (Exception e) {
+ //This means the table is not compatible with iceberg, so return a
dummy metric
+ return DUMMY_METRICS;
}
- return OrcMetrics.fromInputFile(HadoopInputFile.fromPath(path, conf),
MetricsConfig.getDefault(), mapping);
}
case AVRO: {
try {