GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — Bug Report: signal.signal() fails in Arrow Flight worker thread in Trino offline store · Issue #6424 · feast-dev/feast Closed Labels DescriptionExpected BehaviorWhen the Feast online container sends a materialization request to the remote offline store server (which, in my case, uses the Trino as offline store via Arrow Flight), the offline store should successfully execute the Trino query and return results without raising any threading-related exceptions. Current BehaviorThe remote offline store server raises a ValueError when processing materialization requests: This occurs because fsdk/python/feast/infra/offline_stores/contrib/trino_offline_store/trino_queries.py line ~95 calls: signal.signal(signal.SIGINT, self.cancel) inside Query.init(). When the offline store is served via Arrow Flight (as a remote offline server), this code executes in an Arrow Flight worker thread — not the main thread. Python's signal.signal() is restricted to the main thread of the main interpreter, causing the hard failure. Steps to reproduce1 .Deploy a Feast FeatureStore CR with a remote offline store configuration backed by the Trino offline store (contrib). SpecificationsVersion: Feast 0.63.0 Possible SolutionWrap the signal.signal calls in a check using threading.main_thread(): import threading # add to imports at top of file class Query(object): def __init__(self, query_text: str, cursor: Cursor): self.query_text = query_text self.status = QueryStatus.PENDING self._cursor = cursor # Guard the signal.signal() call with a main-thread check so it is # only registered when running in the main thread (i.e., # interactive/CLI usage) and is safely skipped when running in # Arrow Flight worker threads if threading.current_thread() is threading.main_thread(): signal.signal(signal.SIGINT, self.cancel) signal.signal(signal.SIGTERM, self.cancel) Activity
MetadataMetadataAssigneesLabelsTypeProjectsMilestoneRelationshipsDevelopmentIssue actions |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |