Commit ad83e20
fix(bigquery): address round-6 review — bounded writer-close service
Resolves the round-6 P1 on PR google#1344: detached StreamWriter closes no
longer spawn one raw daemon thread per completed invocation. Teardown
submits the close to a plugin-owned bounded closer service (2 daemon
threads, 256-task backlog, core timeout) shared by all BatchProcessors,
so a Storage outage converts invocation throughput into a bounded
backlog instead of native-thread exhaustion. Saturation policy: never
block teardown and never spawn unbounded threads — a rejected close is
counted ("writer_close_saturated", unit: writers) and the StreamWriter
is left for BigQueryWriteClient shutdown to reclaim at the transport
level. Plugin-wide close shuts the closer service down within the same
shared absolute deadline, interrupting closes still blocked past it.
Tests: 25 completed invocations with indefinitely blocked writer closes
grow closer threads by at most the pool bound (delta-based, immune to
sibling-test instances), leave no retained processors, and plugin
shutdown still completes within its bound with the close backlog
pending. Focused BQAA suite 171 passed (previous: 170); full core
1,627 passed / 0 failed.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>1 parent 544690e commit ad83e20
4 files changed
Lines changed: 206 additions & 30 deletions
File tree
- core/src
- main/java/com/google/adk/plugins/agentanalytics
- test/java/com/google/adk/plugins/agentanalytics
Lines changed: 38 additions & 18 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
| 39 | + | |
39 | 40 | | |
| 41 | + | |
40 | 42 | | |
41 | 43 | | |
42 | 44 | | |
| |||
85 | 87 | | |
86 | 88 | | |
87 | 89 | | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
88 | 97 | | |
89 | 98 | | |
90 | 99 | | |
| |||
104 | 113 | | |
105 | 114 | | |
106 | 115 | | |
107 | | - | |
| 116 | + | |
| 117 | + | |
108 | 118 | | |
| 119 | + | |
109 | 120 | | |
110 | 121 | | |
111 | 122 | | |
| |||
327 | 338 | | |
328 | 339 | | |
329 | 340 | | |
330 | | - | |
| 341 | + | |
| 342 | + | |
331 | 343 | | |
332 | 344 | | |
333 | 345 | | |
| |||
449 | 461 | | |
450 | 462 | | |
451 | 463 | | |
452 | | - | |
453 | | - | |
454 | | - | |
455 | | - | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
456 | 470 | | |
457 | | - | |
458 | | - | |
459 | | - | |
460 | | - | |
461 | | - | |
462 | | - | |
463 | | - | |
464 | | - | |
465 | | - | |
466 | | - | |
467 | | - | |
468 | | - | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
469 | 489 | | |
470 | 490 | | |
471 | 491 | | |
| |||
Lines changed: 41 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
69 | 74 | | |
70 | 75 | | |
71 | 76 | | |
| 77 | + | |
72 | 78 | | |
73 | 79 | | |
74 | 80 | | |
| |||
135 | 141 | | |
136 | 142 | | |
137 | 143 | | |
| 144 | + | |
| 145 | + | |
138 | 146 | | |
139 | 147 | | |
140 | 148 | | |
141 | 149 | | |
142 | 150 | | |
143 | 151 | | |
144 | 152 | | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
145 | 168 | | |
146 | 169 | | |
147 | 170 | | |
| |||
259 | 282 | | |
260 | 283 | | |
261 | 284 | | |
262 | | - | |
| 285 | + | |
| 286 | + | |
263 | 287 | | |
264 | 288 | | |
265 | 289 | | |
| |||
345 | 369 | | |
346 | 370 | | |
347 | 371 | | |
348 | | - | |
| 372 | + | |
| 373 | + | |
349 | 374 | | |
350 | 375 | | |
351 | 376 | | |
| |||
498 | 523 | | |
499 | 524 | | |
500 | 525 | | |
| 526 | + | |
501 | 527 | | |
502 | 528 | | |
503 | 529 | | |
| |||
512 | 538 | | |
513 | 539 | | |
514 | 540 | | |
| 541 | + | |
515 | 542 | | |
516 | 543 | | |
517 | 544 | | |
518 | 545 | | |
519 | 546 | | |
520 | 547 | | |
521 | 548 | | |
| 549 | + | |
522 | 550 | | |
523 | 551 | | |
524 | 552 | | |
525 | 553 | | |
526 | 554 | | |
527 | 555 | | |
528 | 556 | | |
| 557 | + | |
529 | 558 | | |
530 | 559 | | |
531 | 560 | | |
| |||
593 | 622 | | |
594 | 623 | | |
595 | 624 | | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
596 | 634 | | |
597 | 635 | | |
598 | 636 | | |
| 637 | + | |
599 | 638 | | |
600 | 639 | | |
601 | 640 | | |
| |||
Lines changed: 74 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
| 42 | + | |
42 | 43 | | |
43 | 44 | | |
44 | 45 | | |
| |||
78 | 79 | | |
79 | 80 | | |
80 | 81 | | |
| 82 | + | |
| 83 | + | |
81 | 84 | | |
82 | 85 | | |
83 | 86 | | |
| 87 | + | |
84 | 88 | | |
85 | 89 | | |
86 | | - | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
87 | 97 | | |
88 | 98 | | |
89 | 99 | | |
| |||
295 | 305 | | |
296 | 306 | | |
297 | 307 | | |
298 | | - | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
299 | 315 | | |
300 | 316 | | |
301 | 317 | | |
| |||
369 | 385 | | |
370 | 386 | | |
371 | 387 | | |
372 | | - | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
373 | 395 | | |
374 | 396 | | |
375 | 397 | | |
| |||
388 | 410 | | |
389 | 411 | | |
390 | 412 | | |
391 | | - | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
392 | 420 | | |
393 | 421 | | |
394 | 422 | | |
| |||
402 | 430 | | |
403 | 431 | | |
404 | 432 | | |
405 | | - | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
406 | 440 | | |
407 | 441 | | |
408 | 442 | | |
| |||
414 | 448 | | |
415 | 449 | | |
416 | 450 | | |
417 | | - | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
418 | 458 | | |
419 | 459 | | |
420 | 460 | | |
| |||
430 | 470 | | |
431 | 471 | | |
432 | 472 | | |
433 | | - | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
434 | 480 | | |
435 | 481 | | |
436 | 482 | | |
| |||
460 | 506 | | |
461 | 507 | | |
462 | 508 | | |
463 | | - | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
464 | 516 | | |
465 | 517 | | |
466 | 518 | | |
| |||
499 | 551 | | |
500 | 552 | | |
501 | 553 | | |
502 | | - | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
503 | 561 | | |
504 | 562 | | |
505 | 563 | | |
| |||
547 | 605 | | |
548 | 606 | | |
549 | 607 | | |
550 | | - | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
551 | 615 | | |
552 | 616 | | |
553 | 617 | | |
| |||
0 commit comments