Commit c34def7
Refactor flight to filter-then-clone and address review feedback
Replace the uncloned-references approach with filter-then-clone:
- getAccounts()/getCredentials() always return defensive copies
- getAccountsFilteredBy()/getCredentialsFilteredBy() with flight on:
filter on uncloned in-memory refs first, then clone only matches
- Extract cloneItems() generic helper to DRY the clone loops
Telemetry and documentation:
- Record is_filter_then_clone_enabled span attribute in both
getAccounts() and getCredentials() for diagnostic consistency
- Update AttributeName Javadoc to reference FilteredBy methods
- Update flight Javadoc to accurately describe behavior
Tests:
- Add tests for getAccountsFilteredBy/getCredentialsFilteredBy with
flight enabled: verifies filtering works and returns cloned objects
- Update getAccounts/getCredentials flight-enabled tests to verify
cloned objects (not shared references)
- Fix test flakiness: call getAccounts()/getCredentials() before
resetCallCounts() to ensure initial load completes deterministically
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>1 parent ef15fbf commit c34def7
4 files changed
Lines changed: 241 additions & 39 deletions
File tree
- common4j/src/main/com/microsoft/identity/common/java
- cache
- flighting
- opentelemetry
- common/src/test/java/com/microsoft/identity/common
Lines changed: 102 additions & 24 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
70 | 70 | | |
71 | 71 | | |
72 | 72 | | |
73 | | - | |
74 | 73 | | |
75 | | - | |
76 | 74 | | |
77 | 75 | | |
78 | 76 | | |
| |||
2573 | 2571 | | |
2574 | 2572 | | |
2575 | 2573 | | |
2576 | | - | |
| 2574 | + | |
2577 | 2575 | | |
2578 | 2576 | | |
2579 | 2577 | | |
| |||
2584 | 2582 | | |
2585 | 2583 | | |
2586 | 2584 | | |
2587 | | - | |
2588 | | - | |
| 2585 | + | |
| 2586 | + | |
| 2587 | + | |
2589 | 2588 | | |
2590 | | - | |
2591 | | - | |
2592 | | - | |
2593 | | - | |
2594 | | - | |
2595 | | - | |
2596 | | - | |
| 2589 | + | |
| 2590 | + | |
| 2591 | + | |
| 2592 | + | |
| 2593 | + | |
| 2594 | + | |
| 2595 | + | |
2597 | 2596 | | |
2598 | 2597 | | |
2599 | 2598 | | |
| |||
2626 | 2625 | | |
2627 | 2626 | | |
2628 | 2627 | | |
2629 | | - | |
| 2628 | + | |
2630 | 2629 | | |
2631 | 2630 | | |
2632 | 2631 | | |
| |||
2637 | 2636 | | |
2638 | 2637 | | |
2639 | 2638 | | |
2640 | | - | |
2641 | | - | |
| 2639 | + | |
| 2640 | + | |
| 2641 | + | |
| 2642 | + | |
| 2643 | + | |
| 2644 | + | |
| 2645 | + | |
| 2646 | + | |
| 2647 | + | |
| 2648 | + | |
| 2649 | + | |
| 2650 | + | |
| 2651 | + | |
| 2652 | + | |
| 2653 | + | |
| 2654 | + | |
| 2655 | + | |
| 2656 | + | |
| 2657 | + | |
| 2658 | + | |
| 2659 | + | |
| 2660 | + | |
| 2661 | + | |
| 2662 | + | |
| 2663 | + | |
| 2664 | + | |
| 2665 | + | |
| 2666 | + | |
| 2667 | + | |
| 2668 | + | |
| 2669 | + | |
| 2670 | + | |
| 2671 | + | |
| 2672 | + | |
| 2673 | + | |
| 2674 | + | |
| 2675 | + | |
| 2676 | + | |
| 2677 | + | |
| 2678 | + | |
| 2679 | + | |
| 2680 | + | |
| 2681 | + | |
| 2682 | + | |
| 2683 | + | |
| 2684 | + | |
| 2685 | + | |
| 2686 | + | |
| 2687 | + | |
| 2688 | + | |
| 2689 | + | |
| 2690 | + | |
| 2691 | + | |
| 2692 | + | |
| 2693 | + | |
| 2694 | + | |
| 2695 | + | |
| 2696 | + | |
| 2697 | + | |
2642 | 2698 | | |
2643 | | - | |
2644 | | - | |
2645 | | - | |
2646 | | - | |
2647 | | - | |
2648 | | - | |
2649 | | - | |
| 2699 | + | |
| 2700 | + | |
| 2701 | + | |
| 2702 | + | |
| 2703 | + | |
| 2704 | + | |
| 2705 | + | |
| 2706 | + | |
| 2707 | + | |
| 2708 | + | |
| 2709 | + | |
| 2710 | + | |
| 2711 | + | |
| 2712 | + | |
| 2713 | + | |
| 2714 | + | |
| 2715 | + | |
| 2716 | + | |
| 2717 | + | |
| 2718 | + | |
| 2719 | + | |
| 2720 | + | |
| 2721 | + | |
| 2722 | + | |
| 2723 | + | |
2650 | 2724 | | |
2651 | 2725 | | |
2652 | 2726 | | |
| |||
2735 | 2809 | | |
2736 | 2810 | | |
2737 | 2811 | | |
2738 | | - | |
| 2812 | + | |
| 2813 | + | |
| 2814 | + | |
2739 | 2815 | | |
2740 | 2816 | | |
2741 | 2817 | | |
| |||
2757 | 2833 | | |
2758 | 2834 | | |
2759 | 2835 | | |
2760 | | - | |
| 2836 | + | |
| 2837 | + | |
| 2838 | + | |
2761 | 2839 | | |
2762 | 2840 | | |
2763 | 2841 | | |
| |||
Lines changed: 135 additions & 12 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
44 | | - | |
45 | 44 | | |
46 | 45 | | |
47 | 46 | | |
| |||
117 | 116 | | |
118 | 117 | | |
119 | 118 | | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
120 | 139 | | |
121 | 140 | | |
122 | 141 | | |
| |||
272 | 291 | | |
273 | 292 | | |
274 | 293 | | |
| 294 | + | |
| 295 | + | |
275 | 296 | | |
276 | 297 | | |
277 | 298 | | |
278 | | - | |
279 | | - | |
280 | | - | |
281 | | - | |
282 | | - | |
283 | 299 | | |
284 | 300 | | |
285 | 301 | | |
| |||
302 | 318 | | |
303 | 319 | | |
304 | 320 | | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
305 | 338 | | |
306 | 339 | | |
307 | 340 | | |
| |||
372 | 405 | | |
373 | 406 | | |
374 | 407 | | |
375 | | - | |
376 | | - | |
377 | | - | |
378 | | - | |
379 | | - | |
380 | | - | |
381 | 408 | | |
382 | 409 | | |
383 | 410 | | |
| |||
405 | 432 | | |
406 | 433 | | |
407 | 434 | | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
408 | 465 | | |
409 | 466 | | |
410 | 467 | | |
| |||
480 | 537 | | |
481 | 538 | | |
482 | 539 | | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
483 | 570 | | |
484 | 571 | | |
485 | 572 | | |
| |||
591 | 678 | | |
592 | 679 | | |
593 | 680 | | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
| 715 | + | |
| 716 | + | |
594 | 717 | | |
595 | 718 | | |
596 | 719 | | |
| |||
Lines changed: 3 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
255 | 255 | | |
256 | 256 | | |
257 | 257 | | |
258 | | - | |
259 | | - | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
260 | 261 | | |
261 | 262 | | |
262 | 263 | | |
| |||
0 commit comments