Skip to content

Commit 3fabae0

Browse files
authored
Online serving optimizations (#1286)
* optimize online serving Signed-off-by: Oleksii Moskalenko <moskalenko.alexey@gmail.com> * format Signed-off-by: Oleksii Moskalenko <moskalenko.alexey@gmail.com> * distinct feature references Signed-off-by: Oleksii Moskalenko <moskalenko.alexey@gmail.com> * refactor spec cache Signed-off-by: Oleksii Moskalenko <moskalenko.alexey@gmail.com> * format Signed-off-by: Oleksii Moskalenko <moskalenko.alexey@gmail.com> * fix tests Signed-off-by: Oleksii Moskalenko <moskalenko.alexey@gmail.com> * feature not found in spec Signed-off-by: Oleksii Moskalenko <moskalenko.alexey@gmail.com> * add java options to feast-serving helm chart Signed-off-by: Oleksii Moskalenko <moskalenko.alexey@gmail.com> * delete duplicating java options Signed-off-by: Oleksii Moskalenko <moskalenko.alexey@gmail.com>
1 parent 2cc2f3d commit 3fabae0

13 files changed

Lines changed: 275 additions & 201 deletions

File tree

common-test/src/main/java/feast/common/it/DataGenerator.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,19 @@ public static FeatureTableSpec createFeatureTableSpec(
134134
.build())
135135
.collect(Collectors.toList()))
136136
.setMaxAge(Duration.newBuilder().setSeconds(3600).build())
137+
.setBatchSource(
138+
DataSource.newBuilder()
139+
.setEventTimestampColumn("ts")
140+
.setType(DataSource.SourceType.BATCH_FILE)
141+
.setFileOptions(
142+
FileOptions.newBuilder()
143+
.setFileFormat(
144+
FileFormat.newBuilder()
145+
.setParquetFormat(ParquetFormat.newBuilder().build())
146+
.build())
147+
.setFileUrl("/dev/null")
148+
.build())
149+
.build())
137150
.putAllLabels(labels)
138151
.build();
139152
}

core/src/test/java/feast/core/service/SpecServiceIT.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -659,6 +659,7 @@ public void shouldErrorOnMissingBatchSource() {
659659
3600,
660660
Map.of())
661661
.toBuilder()
662+
.clearBatchSource()
662663
.build();
663664

664665
StatusRuntimeException exc =

infra/charts/feast/charts/feast-serving/templates/deployment.yaml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,11 @@ spec:
117117
{{- if .Values.livenessProbe.enabled }}
118118
livenessProbe:
119119
exec:
120-
command: ["grpc-health-probe", "-addr=:{{ .Values.service.grpc.targetPort }}"]
120+
command:
121+
- "grpc-health-probe"
122+
- "-addr=:{{ .Values.service.grpc.targetPort }}"
123+
- "-connect-timeout={{ .Values.livenessProbe.timeoutSeconds }}s"
124+
- "-rpc-timeout={{ .Values.livenessProbe.timeoutSeconds }}s"
121125
initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }}
122126
periodSeconds: {{ .Values.livenessProbe.periodSeconds }}
123127
successThreshold: {{ .Values.livenessProbe.successThreshold }}
@@ -128,7 +132,11 @@ spec:
128132
{{- if .Values.readinessProbe.enabled }}
129133
readinessProbe:
130134
exec:
131-
command: ["grpc-health-probe", "-addr=:{{ .Values.service.grpc.targetPort }}"]
135+
command:
136+
- "grpc-health-probe"
137+
- "-addr=:{{ .Values.service.grpc.targetPort }}"
138+
- "-connect-timeout={{ .Values.readinessProbe.timeoutSeconds }}s"
139+
- "-rpc-timeout={{ .Values.readinessProbe.timeoutSeconds }}s"
132140
initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }}
133141
periodSeconds: {{ .Values.readinessProbe.periodSeconds }}
134142
successThreshold: {{ .Values.readinessProbe.successThreshold }}

infra/docker/serving/Dockerfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,12 @@ RUN wget -q https://github.com/grpc-ecosystem/grpc-health-probe/releases/downloa
4242
# Build stage 2: Production
4343
# ============================================================
4444

45-
FROM openjdk:11-jre-slim as production
45+
FROM amazoncorretto:11 as production
4646
ARG VERSION=dev
4747
COPY --from=builder /build/serving/target/feast-serving-$VERSION-exec.jar /opt/feast/feast-serving.jar
4848
COPY --from=builder /usr/bin/grpc-health-probe /usr/bin/grpc-health-probe
4949
CMD ["java",\
50-
"-Xms1024m",\
51-
"-Xmx1024m",\
50+
"-Xms1g",\
51+
"-Xmx4g",\
5252
"-jar",\
5353
"/opt/feast/feast-serving.jar"]

serving/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -298,13 +298,13 @@
298298
<dependency>
299299
<groupId>org.testcontainers</groupId>
300300
<artifactId>testcontainers</artifactId>
301-
<version>1.14.3</version>
301+
<version>1.15.1</version>
302302
<scope>test</scope>
303303
</dependency>
304304
<dependency>
305305
<groupId>org.testcontainers</groupId>
306306
<artifactId>junit-jupiter</artifactId>
307-
<version>1.14.3</version>
307+
<version>1.15.1</version>
308308
<scope>test</scope>
309309
</dependency>
310310
<dependency>

0 commit comments

Comments
 (0)