Commit 6ff2df0
* Fixes #31692: wire GlossaryTerm approval-task reviewer sync
GlossaryTermRepository.updateTaskWithNewReviewers() existed but had no
caller, unlike the five sibling repositories (Tag, TestCase, DataProduct,
DataContract, Metric) that invoke it from an updateReviewers() override.
Reviewer/assignee consistency relied solely on the seeded Glossary Approval
Workflow re-triggering, which supersedes the open approval task with a new
one (new task id) rather than patching it in place, orphaning comment
history and coupling the guarantee to workflow configuration.
Add an updateReviewers() override in GlossaryTermUpdater following the
TagRepository pattern: when the reviewer list changes it patches the
existing open approval task's assignees in place. updateApprovalTaskAssignees
returns early when no open task exists, so terms without an approval
workflow are unaffected.
Add GlossaryTermReviewerTaskSyncIT: creates a term with one reviewer, waits
for its open approval task, adds a second reviewer, and asserts the original
task (fetched by id) is patched to include the new reviewer. Because the
repository patch is synchronous within the PATCH transaction and the
workflow safety net can only open a new task, this isolates the repository
mechanism from the workflow without disabling the seeded workflow.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* Fixes #31692: remove reviewer→approval-task assignee sync from repositories
updateTaskWithNewReviewers / TaskRepository.updateApprovalTaskAssignees
overwrote an open approval task's assignees with the entity's reviewers
whenever the reviewer list changed. That is wrong: a userApprovalTask
chooses its assignees by rule (owners, reviewers, individual users or
teams), so forcing the reviewer list onto the task corrupts any task not
configured to assign reviewers. Task assignees are a point-in-time
snapshot owned by the workflow, not by the repository.
Remove the mechanism everywhere:
- updateReviewers() overrides in Tag, TestCase, DataProduct,
DataContract, Metric (were live)
- dead updateTaskWithNewReviewers in GlossaryTerm and KnowledgePage
(never called) plus GlossaryTerm's now-unused resolveEffectiveReviewers
- TaskRepository.updateApprovalTaskAssignees (no remaining callers)
This also reverts the wiring added earlier on this branch.
Behavior note: Tag/TestCase/DataProduct/DataContract/Metric have no
seeded approval workflow, so for a custom approval workflow this sync was
the only thing that moved an open task's assignees on a reviewer change.
After this change, changing reviewers leaves an existing open approval
task's assignees untouched — the intended semantics. GlossaryTerm and AI
assets have seeded workflows that already supersede the open task with a
fresh one assigned to the current reviewers, so their user-facing
behavior is unchanged.
Replace the prior in-place-patch IT with GlossaryTermReviewerChangeApprovalIT,
which asserts the acceptance criterion: adding a reviewer to an in-review
term leaves exactly one open approval task assigned to the new reviewers.
* test: assert reviewer change supersedes the open approval task
Require the settled open approval task to be a NEW task (id != original)
assigned to the added reviewer, and fail fast with diagnostics if the
approval workflow settles terminally without producing it, instead of a
bare Awaitility timeout.
* test: cover removal with unit + runtime approval-assignee tests
Replace the glossary supersession IT (which passed both before and after
the removal) with tests that target the invariant directly:
- SetApprovalAssigneesImplTest: an owners-only and an explicit-users
userApprovalTask rule must not pull the entity's reviewers into the
task's assignees — the principle the removed repository sync violated.
- WorkflowDefinitionResourceIT#test_reviewerChangeDoesNotOverwriteOwnerAssignedApprovalTask:
a custom approval workflow assigns its task to owners on a tag (Group-2
entity), triggered on Created only so a reviewer change cannot re-trigger
it. Changing the tag's reviewers must leave the owner-assigned task's
assignees untouched. This fails without the removal: the repository
overwrote the open task's assignees with the reviewer list in the PATCH.
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Ram Narayan Balaji <ramnarayanb3005@gmail.com>
Co-authored-by: Ram Narayan Balaji <81347100+yan-3005@users.noreply.github.com>
1 parent 09a4959 commit 6ff2df0
10 files changed
Lines changed: 239 additions & 203 deletions
File tree
- openmetadata-integration-tests/src/test/java/org/openmetadata/it/tests
- openmetadata-service/src
- main/java/org/openmetadata/service/jdbi3
- test/java/org/openmetadata/service/governance/workflows/elements/nodes/userTask/impl
Lines changed: 187 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| 30 | + | |
30 | 31 | | |
31 | 32 | | |
32 | 33 | | |
33 | 34 | | |
| 35 | + | |
34 | 36 | | |
35 | 37 | | |
36 | 38 | | |
| |||
48 | 50 | | |
49 | 51 | | |
50 | 52 | | |
| 53 | + | |
51 | 54 | | |
52 | 55 | | |
53 | 56 | | |
| |||
3626 | 3629 | | |
3627 | 3630 | | |
3628 | 3631 | | |
| 3632 | + | |
| 3633 | + | |
| 3634 | + | |
| 3635 | + | |
| 3636 | + | |
| 3637 | + | |
| 3638 | + | |
| 3639 | + | |
| 3640 | + | |
| 3641 | + | |
| 3642 | + | |
| 3643 | + | |
| 3644 | + | |
| 3645 | + | |
| 3646 | + | |
| 3647 | + | |
| 3648 | + | |
| 3649 | + | |
| 3650 | + | |
| 3651 | + | |
| 3652 | + | |
| 3653 | + | |
| 3654 | + | |
| 3655 | + | |
| 3656 | + | |
| 3657 | + | |
| 3658 | + | |
| 3659 | + | |
| 3660 | + | |
| 3661 | + | |
| 3662 | + | |
| 3663 | + | |
| 3664 | + | |
| 3665 | + | |
| 3666 | + | |
| 3667 | + | |
| 3668 | + | |
| 3669 | + | |
| 3670 | + | |
| 3671 | + | |
| 3672 | + | |
| 3673 | + | |
| 3674 | + | |
| 3675 | + | |
| 3676 | + | |
| 3677 | + | |
| 3678 | + | |
| 3679 | + | |
| 3680 | + | |
| 3681 | + | |
| 3682 | + | |
| 3683 | + | |
| 3684 | + | |
| 3685 | + | |
| 3686 | + | |
| 3687 | + | |
| 3688 | + | |
| 3689 | + | |
| 3690 | + | |
| 3691 | + | |
| 3692 | + | |
| 3693 | + | |
| 3694 | + | |
| 3695 | + | |
| 3696 | + | |
| 3697 | + | |
| 3698 | + | |
| 3699 | + | |
| 3700 | + | |
| 3701 | + | |
| 3702 | + | |
| 3703 | + | |
| 3704 | + | |
| 3705 | + | |
| 3706 | + | |
| 3707 | + | |
| 3708 | + | |
| 3709 | + | |
| 3710 | + | |
| 3711 | + | |
| 3712 | + | |
| 3713 | + | |
| 3714 | + | |
| 3715 | + | |
| 3716 | + | |
| 3717 | + | |
| 3718 | + | |
| 3719 | + | |
| 3720 | + | |
| 3721 | + | |
| 3722 | + | |
| 3723 | + | |
| 3724 | + | |
| 3725 | + | |
| 3726 | + | |
| 3727 | + | |
| 3728 | + | |
| 3729 | + | |
| 3730 | + | |
| 3731 | + | |
| 3732 | + | |
| 3733 | + | |
| 3734 | + | |
| 3735 | + | |
| 3736 | + | |
| 3737 | + | |
| 3738 | + | |
| 3739 | + | |
| 3740 | + | |
| 3741 | + | |
| 3742 | + | |
| 3743 | + | |
| 3744 | + | |
| 3745 | + | |
| 3746 | + | |
| 3747 | + | |
| 3748 | + | |
| 3749 | + | |
| 3750 | + | |
| 3751 | + | |
| 3752 | + | |
| 3753 | + | |
| 3754 | + | |
| 3755 | + | |
| 3756 | + | |
| 3757 | + | |
| 3758 | + | |
| 3759 | + | |
| 3760 | + | |
| 3761 | + | |
| 3762 | + | |
| 3763 | + | |
| 3764 | + | |
| 3765 | + | |
| 3766 | + | |
| 3767 | + | |
| 3768 | + | |
| 3769 | + | |
| 3770 | + | |
| 3771 | + | |
| 3772 | + | |
| 3773 | + | |
| 3774 | + | |
| 3775 | + | |
| 3776 | + | |
| 3777 | + | |
| 3778 | + | |
| 3779 | + | |
| 3780 | + | |
| 3781 | + | |
| 3782 | + | |
| 3783 | + | |
| 3784 | + | |
| 3785 | + | |
| 3786 | + | |
| 3787 | + | |
| 3788 | + | |
| 3789 | + | |
| 3790 | + | |
| 3791 | + | |
| 3792 | + | |
| 3793 | + | |
| 3794 | + | |
| 3795 | + | |
| 3796 | + | |
| 3797 | + | |
| 3798 | + | |
| 3799 | + | |
| 3800 | + | |
| 3801 | + | |
| 3802 | + | |
| 3803 | + | |
| 3804 | + | |
| 3805 | + | |
| 3806 | + | |
| 3807 | + | |
| 3808 | + | |
| 3809 | + | |
| 3810 | + | |
| 3811 | + | |
| 3812 | + | |
| 3813 | + | |
| 3814 | + | |
| 3815 | + | |
3629 | 3816 | | |
3630 | 3817 | | |
3631 | 3818 | | |
| |||
Lines changed: 0 additions & 24 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1507 | 1507 | | |
1508 | 1508 | | |
1509 | 1509 | | |
1510 | | - | |
1511 | | - | |
1512 | | - | |
1513 | | - | |
1514 | | - | |
1515 | | - | |
1516 | | - | |
1517 | | - | |
1518 | | - | |
1519 | | - | |
1520 | 1510 | | |
1521 | 1511 | | |
1522 | 1512 | | |
| |||
1915 | 1905 | | |
1916 | 1906 | | |
1917 | 1907 | | |
1918 | | - | |
1919 | | - | |
1920 | | - | |
1921 | | - | |
1922 | | - | |
1923 | | - | |
1924 | | - | |
1925 | | - | |
1926 | | - | |
1927 | | - | |
1928 | | - | |
1929 | | - | |
1930 | | - | |
1931 | | - | |
1932 | 1908 | | |
Lines changed: 0 additions & 24 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
949 | 949 | | |
950 | 950 | | |
951 | 951 | | |
952 | | - | |
953 | | - | |
954 | | - | |
955 | | - | |
956 | | - | |
957 | | - | |
958 | | - | |
959 | | - | |
960 | | - | |
961 | | - | |
962 | 952 | | |
963 | 953 | | |
964 | 954 | | |
| |||
1259 | 1249 | | |
1260 | 1250 | | |
1261 | 1251 | | |
1262 | | - | |
1263 | | - | |
1264 | | - | |
1265 | | - | |
1266 | | - | |
1267 | | - | |
1268 | | - | |
1269 | | - | |
1270 | | - | |
1271 | | - | |
1272 | | - | |
1273 | | - | |
1274 | | - | |
1275 | | - | |
1276 | 1252 | | |
1277 | 1253 | | |
1278 | 1254 | | |
| |||
Lines changed: 0 additions & 38 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2512 | 2512 | | |
2513 | 2513 | | |
2514 | 2514 | | |
2515 | | - | |
2516 | | - | |
2517 | | - | |
2518 | | - | |
2519 | | - | |
2520 | | - | |
2521 | | - | |
2522 | | - | |
2523 | | - | |
2524 | | - | |
2525 | | - | |
2526 | | - | |
2527 | | - | |
2528 | | - | |
2529 | | - | |
2530 | | - | |
2531 | | - | |
2532 | | - | |
2533 | | - | |
2534 | | - | |
2535 | | - | |
2536 | | - | |
2537 | | - | |
2538 | | - | |
2539 | | - | |
2540 | | - | |
2541 | | - | |
2542 | | - | |
2543 | | - | |
2544 | | - | |
2545 | | - | |
2546 | | - | |
2547 | | - | |
2548 | | - | |
2549 | | - | |
2550 | | - | |
2551 | | - | |
2552 | | - | |
2553 | 2515 | | |
2554 | 2516 | | |
2555 | 2517 | | |
| |||
Lines changed: 0 additions & 14 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
745 | 745 | | |
746 | 746 | | |
747 | 747 | | |
748 | | - | |
749 | | - | |
750 | | - | |
751 | | - | |
752 | | - | |
753 | | - | |
754 | | - | |
755 | | - | |
756 | | - | |
757 | | - | |
758 | | - | |
759 | | - | |
760 | | - | |
761 | | - | |
762 | 748 | | |
763 | 749 | | |
764 | 750 | | |
| |||
Lines changed: 0 additions & 24 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
471 | 471 | | |
472 | 472 | | |
473 | 473 | | |
474 | | - | |
475 | | - | |
476 | | - | |
477 | | - | |
478 | | - | |
479 | | - | |
480 | | - | |
481 | | - | |
482 | | - | |
483 | | - | |
484 | 474 | | |
485 | 475 | | |
486 | 476 | | |
| |||
701 | 691 | | |
702 | 692 | | |
703 | 693 | | |
704 | | - | |
705 | | - | |
706 | | - | |
707 | | - | |
708 | | - | |
709 | | - | |
710 | | - | |
711 | | - | |
712 | | - | |
713 | | - | |
714 | | - | |
715 | | - | |
716 | | - | |
717 | | - | |
718 | 694 | | |
0 commit comments