Skip to content

Commit acbfe84

Browse files
committed
ttl for regular feature views
Signed-off-by: Oleksii Moskalenko <moskalenko.alexey@gmail.com>
1 parent d049a61 commit acbfe84

3 files changed

Lines changed: 18 additions & 10 deletions

File tree

go/embedded/online_features.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -269,12 +269,12 @@ func (s *OnlineFeatureService) StartGprcServerWithLogging(host string, port int,
269269
go func() {
270270
// As soon as these signals are received from OS, try to gracefully stop the gRPC server
271271
<-s.grpcStopCh
272-
fmt.Println("Stopping the gRPC server...")
272+
log.Println("Stopping the gRPC server...")
273273
grpcServer.GracefulStop()
274274
if loggingService != nil {
275275
loggingService.Stop()
276276
}
277-
fmt.Println("gRPC server terminated")
277+
log.Println("gRPC server terminated")
278278
}()
279279

280280
err = grpcServer.Serve(lis)
@@ -314,11 +314,15 @@ func (s *OnlineFeatureService) StartHttpServerWithLogging(host string, port int,
314314
go func() {
315315
// As soon as these signals are received from OS, try to gracefully stop the gRPC server
316316
<-s.httpStopCh
317-
fmt.Println("Stopping the HTTP server...")
317+
log.Println("Stopping the HTTP server...")
318318
err := ser.Stop()
319319
if err != nil {
320-
fmt.Printf("Error when stopping the HTTP server: %v\n", err)
320+
log.Printf("Error when stopping the HTTP server: %v\n", err)
321321
}
322+
if loggingService != nil {
323+
loggingService.Stop()
324+
}
325+
log.Println("HTTP server terminated")
322326
}()
323327

324328
return ser.Serve(host, port)

sdk/python/tests/integration/e2e/test_go_feature_server.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,9 @@ def server_port(environment, server_type: str):
103103
embedded.stop_grpc_server()
104104
else:
105105
embedded.stop_http_server()
106+
106107
# wait for graceful stop
107-
time.sleep(2)
108+
time.sleep(5)
108109

109110

110111
@pytest.fixture

sdk/python/tests/utils/logged_features.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,10 @@
99
import pandas as pd
1010
import pyarrow
1111

12-
from feast import FeatureService, FeatureStore
12+
from feast import FeatureService, FeatureStore, FeatureView
1313
from feast.errors import FeatureViewNotFoundException
1414
from feast.feature_logging import LOG_DATE_FIELD, LOG_TIMESTAMP_FIELD, REQUEST_ID_FIELD
1515
from feast.protos.feast.serving.ServingService_pb2 import FieldStatus
16-
from feast.utils import make_tzaware
1716

1817

1918
def prepare_logs(
@@ -52,13 +51,17 @@ def prepare_logs(
5251
logs_df[f"{destination_field}__timestamp"] = source_df[
5352
"event_timestamp"
5453
].dt.floor("s")
54+
if logs_df[f"{destination_field}__timestamp"].dt.tz:
55+
logs_df[f"{destination_field}__timestamp"] = logs_df[
56+
f"{destination_field}__timestamp"
57+
].dt.tz_convert(None)
5558
logs_df[f"{destination_field}__status"] = FieldStatus.PRESENT
56-
if view.ttl:
59+
if isinstance(view, FeatureView) and view.ttl:
5760
logs_df[f"{destination_field}__status"] = logs_df[
5861
f"{destination_field}__status"
5962
].mask(
60-
source_df["event_timestamp"]
61-
< (make_tzaware(datetime.datetime.utcnow()) - view.ttl),
63+
logs_df[f"{destination_field}__timestamp"]
64+
< (datetime.datetime.utcnow() - view.ttl),
6265
FieldStatus.OUTSIDE_MAX_AGE,
6366
)
6467

0 commit comments

Comments
 (0)