Skip to content

feast serve_offline displays no info logging #4639

@dandawg

Description

@dandawg

Expected Behavior

The feast serve_offline command (which launches a feast offline server process) should behave similar to the feast serve command, which displays helpful information, including the serving endpoint (host:port). The feast serve command shows info like the following:

[2024-10-16 19:14:32 -0600] [17832] [INFO] Starting gunicorn 22.0.0
[2024-10-16 19:14:32 -0600] [17832] [INFO] Listening at: http://127.0.0.1:6566 (17832)
[2024-10-16 19:14:32 -0600] [17832] [INFO] Using worker: uvicorn.workers.UvicornWorker
[2024-10-16 19:14:32 -0600] [17863] [INFO] Booting worker with pid: 17863
[2024-10-16 19:14:32 -0600] [17863] [INFO] Started server process [17863]
[2024-10-16 19:14:32 -0600] [17863] [INFO] Waiting for application startup.
[2024-10-16 19:14:32 -0600] [17863] [INFO] Application startup complete.

And on shutdown, the feast serve command gives:

[2024-10-16 19:28:02 -0600] [17832] [INFO] Handling signal: int
[2024-10-16 19:28:02 -0600] [17863] [INFO] Shutting down
[2024-10-16 19:28:02 -0600] [17863] [INFO] Error while closing socket [Errno 9] Bad file descriptor
[2024-10-16 19:28:02 -0600] [17863] [INFO] Waiting for application shutdown.
[2024-10-16 19:28:02 -0600] [17863] [INFO] Application shutdown complete.
[2024-10-16 19:28:02 -0600] [17863] [INFO] Finished server process [17863]
[2024-10-16 19:28:02 -0600] [17832] [ERROR] Worker (pid:17863) was sent SIGINT!
[2024-10-16 19:28:02 -0600] [17832] [INFO] Shutting down: Master

Note: this issue may affect the registry server as well. I have not looked into that, but my expectation would be that all three servers should have logging at startup, during operation, and at shutdown.

Current Behavior

The feast serve_offline command just launches the process and displays no output but a blinking cursor. The user is left wondering if the server is ready, and what endpoint it is running on. There is also presumably no information to capture for logging to show for example, when the server started or shutdown.

Steps to reproduce

# setup temp feature store
feast init feature_store

cd feature_store/feature_repo
feast apply
# run the online server to see its behavior
# (after output you can kill with ctl-c)
feast serve

# run the offline server
# (observe that there is no output logged)
feast serve_offline

Specifications

  • Version: 0.40.1
  • Platform: MacOS M2, Sequoia 15.0.1
  • Subsystem:

Possible Solution

Add logging to feast serve_offline following the pattern of feast serve.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions