Skip to content

Commit 03b3135

Browse files
Chen Zhilingfeast-ci-bot
Chen Zhiling
authored andcommitted
Catch errors thrown by BQ during entity table loading (#371)
* Catch errors thrown by BQ during entity table loading * Apply spotless * Add logging at grpc service level
1 parent f2d4db5 commit 03b3135

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

serving/src/main/java/feast/serving/controller/ServingServiceGRpcController.java

+3
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ public void getOnlineFeatures(
7474
responseObserver.onNext(onlineFeatures);
7575
responseObserver.onCompleted();
7676
} catch (Exception e) {
77+
log.warn("Failed to get Online Features", e);
7778
responseObserver.onError(e);
7879
}
7980
span.finish();
@@ -88,6 +89,7 @@ public void getBatchFeatures(
8889
responseObserver.onNext(batchFeatures);
8990
responseObserver.onCompleted();
9091
} catch (Exception e) {
92+
log.warn("Failed to get Batch Features", e);
9193
responseObserver.onError(e);
9294
}
9395
}
@@ -99,6 +101,7 @@ public void getJob(GetJobRequest request, StreamObserver<GetJobResponse> respons
99101
responseObserver.onNext(response);
100102
responseObserver.onCompleted();
101103
} catch (Exception e) {
104+
log.warn("Failed to get Job", e);
102105
responseObserver.onError(e);
103106
}
104107
}

serving/src/main/java/feast/serving/service/BigQueryServingService.java

+13-4
Original file line numberDiff line numberDiff line change
@@ -123,17 +123,26 @@ public GetBatchFeaturesResponse getBatchFeatures(GetBatchFeaturesRequest getFeat
123123
.asRuntimeException();
124124
}
125125

126-
Table entityTable = loadEntities(getFeaturesRequest.getDatasetSource());
126+
Table entityTable;
127+
String entityTableName;
128+
try {
129+
entityTable = loadEntities(getFeaturesRequest.getDatasetSource());
130+
131+
TableId entityTableWithUUIDs = generateUUIDs(entityTable);
132+
entityTableName = generateFullTableName(entityTableWithUUIDs);
133+
} catch (Exception e) {
134+
throw Status.INTERNAL
135+
.withDescription("Unable to load entity dataset to Bigquery")
136+
.asRuntimeException();
137+
}
138+
127139
Schema entityTableSchema = entityTable.getDefinition().getSchema();
128140
List<String> entityNames =
129141
entityTableSchema.getFields().stream()
130142
.map(Field::getName)
131143
.filter(name -> !name.equals("event_timestamp"))
132144
.collect(Collectors.toList());
133145

134-
TableId entityTableWithUUIDs = generateUUIDs(entityTable);
135-
String entityTableName = generateFullTableName(entityTableWithUUIDs);
136-
137146
List<FeatureSetInfo> featureSetInfos =
138147
QueryTemplater.getFeatureSetInfos(featureSetSpecs, getFeaturesRequest.getFeatureSetsList());
139148

0 commit comments

Comments
 (0)