Skip to content

Commit 6e8a500

Browse files
Apply suggestions from code review
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
1 parent a88a022 commit 6e8a500

1 file changed

Lines changed: 15 additions & 9 deletions

File tree

sdks/python/apache_beam/runners/interactive/user_pipeline_tracker.py

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,19 @@ def evict(self, pipeline: beam.Pipeline) -> None:
6262
Otherwise, removes the given derived pipeline.
6363
"""
6464
with self._lock:
65-
user_pipeline = self.get_user_pipeline(pipeline)
66-
if user_pipeline:
67-
for d in self._user_pipelines[user_pipeline]:
65+
if pipeline in self._user_pipelines:
66+
for d in self._user_pipelines[pipeline]:
6867
self._derived_pipelines.pop(d, None)
69-
self._user_pipelines.pop(user_pipeline, None)
68+
self._pid_to_pipelines.pop(self._key(d), None)
69+
self._user_pipelines.pop(pipeline, None)
7070
elif pipeline in self._derived_pipelines:
71-
self._derived_pipelines.pop(pipeline, None)
71+
user_pipeline = self._derived_pipelines.pop(pipeline, None)
72+
if user_pipeline in self._user_pipelines:
73+
try:
74+
self._user_pipelines[user_pipeline].remove(pipeline)
75+
except ValueError:
76+
pass
77+
self._pid_to_pipelines.pop(self._key(pipeline), None)
7278

7379
def clear(self) -> None:
7480
"""Clears the tracker of all user and derived pipelines."""
@@ -90,7 +96,7 @@ def get_pipeline(self, pid: str) -> Optional[beam.Pipeline]:
9096
def add_user_pipeline(self, p: beam.Pipeline) -> beam.Pipeline:
9197
"""Adds a user pipeline with an empty set of derived pipelines."""
9298
with self._lock:
93-
self._memoize_pipieline(p)
99+
self._memoize_pipeline(p)
94100

95101
# Create a new node for the user pipeline if it doesn't exist already.
96102
user_pipeline = self.get_user_pipeline(p)
@@ -100,7 +106,7 @@ def add_user_pipeline(self, p: beam.Pipeline) -> beam.Pipeline:
100106

101107
return user_pipeline
102108

103-
def _memoize_pipieline(self, p: beam.Pipeline) -> None:
109+
def _memoize_pipeline(self, p: beam.Pipeline) -> None:
104110
"""Memoizes the pid of the pipeline to the pipeline object."""
105111
pid = self._key(p)
106112
with self._lock:
@@ -130,8 +136,8 @@ def add_derived_pipeline(
130136
ut.get_user_pipeline(derived2)
131137
"""
132138
with self._lock:
133-
self._memoize_pipieline(maybe_user_pipeline)
134-
self._memoize_pipieline(derived_pipeline)
139+
self._memoize_pipeline(maybe_user_pipeline)
140+
self._memoize_pipeline(derived_pipeline)
135141

136142
# Cannot add a derived pipeline twice.
137143
assert derived_pipeline not in self._derived_pipelines

0 commit comments

Comments
 (0)