Prevent throwing RuntimeException when invalid proto is received - #166
Merged
Conversation
Collaborator
|
/lgtm |
thirteen37
reviewed
Mar 29, 2019
| .print(rowExtended)); | ||
| } catch (InvalidProtocolBufferException e) { | ||
| return KV.of( | ||
| rowExtended.getRow().getEntityName(), |
Collaborator
There was a problem hiding this comment.
Are we assuming that rowExtended.getRow().getEntityName() was not the cause of the exception?
Collaborator
Author
There was a problem hiding this comment.
Yes, at worst, that line will return empty string.
Collaborator
|
/approve |
1 similar comment
Collaborator
Author
|
/approve |
Collaborator
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: pradithya, thirteen37 The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Vperiodt
pushed a commit
to Vperiodt/feast
that referenced
this pull request
Aug 10, 2026
…feast-dev#166) * feat: Multi-arch publish for feast operator image Signed-off-by: ntkathole <nikhilkathole2683@gmail.com> Co-authored-by: Cursor <cursoragent@cursor.com> * feat: Allow users to have protected project on shared registry Signed-off-by: ntkathole <nikhilkathole2683@gmail.com> * fix: Defer feature-freshness thread to post-fork to avoid Gunicorn deadlock (feast-dev#6648) feast_metrics.start_metrics_server() starts a feature-freshness thread in the Gunicorn master process, before Gunicorn forks its worker(s). That thread's first action, with no delay, is update_feature_freshness() -> store.list_feature_views(), which lazily builds the registry for the first time. For registry backends needing a lazy DBAPI import (e.g. the SQL registry importing pymysql via SQLAlchemy's create_engine()), this means a thread in the master can be mid-import, holding CPython's per-module import lock, at the exact moment Gunicorn forks a worker. POSIX fork() only duplicates the calling thread into the child process; every other thread in the parent, including this one, simply ceases to exist in the worker. If the fork lands while that thread holds a module's import lock, the lock stays permanently held in the new worker, since there is no longer any thread that can finish the import and release it. The worker's own later attempt to build its registry then deadlocks forever with no error - the process just hangs at "Waiting for application startup." This is intermittent by nature: it only manifests if the fork lands inside that narrow timing window. Resource monitoring already avoids this correctly (start_resource_monitoring= not uses_gunicorn plus the post_worker_init hook calling init_worker_monitoring()), but the freshness thread was not given the same treatment. This applies the identical pattern: start_metrics_server gains a start_freshness_monitoring flag (deferred exactly like resource monitoring's), and FeastServeApplication's post_worker_init hook now also calls the new init_worker_freshness_monitoring(store) after the fork, instead of feast_metrics.py starting it unconditionally beforehand. Fixes feast-dev#6647 Signed-off-by: Carlos Sánchez <carlos.sancheza@cabify.com> Co-authored-by: Carlos Sánchez <carlos.sancheza@cabify.com> --------- Signed-off-by: ntkathole <nikhilkathole2683@gmail.com> Signed-off-by: Carlos Sánchez <carlos.sancheza@cabify.com> Co-authored-by: ntkathole <nikhilkathole2683@gmail.com> Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: Carlos Sánchez <i52saarc@uco.es> Co-authored-by: Carlos Sánchez <carlos.sancheza@cabify.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow up to fix #163