Commit e2aca0a
committed
fix(review): address critical issues found in PR #12783 code review
preload.py — fork-safety bug: if _engine.dispose() raised, cache_service.
teardown() was skipped entirely, leaving the Redis/cache socket open and
inherited by all forked workers. Use separate try/finally so both teardowns
always run; re-raise the first error at the end.
server.py — _langflow_post_fork had two completely silent except blocks
(pass with no logging). Replace with server.log.warning(..., exc_info=True)
so fork-safety reset failures are visible in production logs.
alembic/env.py — added _db_models.import_all() before target_metadata is
read. The models package uses lazy __getattr__; out-of-band `alembic upgrade
head` (CLI, docker entrypoint) bypassed _run_migrations, saw an empty
SQLModel.metadata, and would generate spurious DROP TABLE operations.
models/__init__.py — fixed import_all() docstring: "avoid loading pandas"
was wrong (no model submodule imports pandas). Updated to describe the actual
reason (cold-start import cost) and document alembic/env.py as a call site.
starter_project_hash.py — docstring said main.py owns the hash gate; the
actual call site is preload.py.
components.py — three fixes:
1. asyncio.Lock() comment claimed it raises RuntimeError on Python 3.13+.
This is factually wrong (Lock() has not required a running loop since
3.10). Replaced with the accurate reason: post_fork reset contract.
Also removed an orphaned sentence that contradicted the preceding text.
2. Cache-path resolution failure was logged at adebug/debug in two places
(invisible at default log levels, silently defeats the cache on every
cold start). Both raised to warning.1 parent 27a304c commit e2aca0a
6 files changed
Lines changed: 72 additions & 36 deletions
File tree
- src
- backend/base/langflow
- alembic
- initial_setup
- services/database/models
- lfx/src/lfx/interface
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
2 | 1 | | |
3 | 2 | | |
4 | 3 | | |
5 | 4 | | |
6 | 5 | | |
7 | 6 | | |
8 | | - | |
9 | | - | |
| 7 | + | |
10 | 8 | | |
11 | 9 | | |
12 | 10 | | |
13 | 11 | | |
14 | | - | |
15 | | - | |
| 12 | + | |
| 13 | + | |
16 | 14 | | |
17 | 15 | | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
18 | 22 | | |
19 | 23 | | |
20 | 24 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
6 | | - | |
| 5 | + | |
| 6 | + | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
327 | 327 | | |
328 | 328 | | |
329 | 329 | | |
330 | | - | |
331 | | - | |
332 | | - | |
333 | | - | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
334 | 334 | | |
335 | 335 | | |
336 | 336 | | |
337 | 337 | | |
338 | | - | |
339 | | - | |
340 | | - | |
341 | | - | |
342 | | - | |
343 | | - | |
344 | | - | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
345 | 353 | | |
346 | 354 | | |
347 | 355 | | |
| |||
355 | 363 | | |
356 | 364 | | |
357 | 365 | | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
358 | 369 | | |
359 | 370 | | |
360 | 371 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
192 | 192 | | |
193 | 193 | | |
194 | 194 | | |
195 | | - | |
| 195 | + | |
196 | 196 | | |
197 | | - | |
198 | | - | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
199 | 203 | | |
200 | 204 | | |
201 | 205 | | |
202 | 206 | | |
203 | 207 | | |
204 | | - | |
205 | | - | |
206 | | - | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
Lines changed: 6 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
69 | | - | |
| 69 | + | |
| 70 | + | |
70 | 71 | | |
71 | | - | |
72 | | - | |
73 | | - | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
74 | 76 | | |
75 | 77 | | |
76 | 78 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
51 | | - | |
52 | | - | |
53 | | - | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
54 | 55 | | |
55 | 56 | | |
56 | 57 | | |
57 | 58 | | |
58 | 59 | | |
59 | 60 | | |
60 | | - | |
61 | | - | |
62 | | - | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
63 | 67 | | |
64 | 68 | | |
65 | 69 | | |
| |||
380 | 384 | | |
381 | 385 | | |
382 | 386 | | |
383 | | - | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
384 | 391 | | |
385 | 392 | | |
386 | 393 | | |
| |||
763 | 770 | | |
764 | 771 | | |
765 | 772 | | |
766 | | - | |
| 773 | + | |
| 774 | + | |
| 775 | + | |
| 776 | + | |
767 | 777 | | |
768 | 778 | | |
769 | 779 | | |
| |||
0 commit comments