tree 50dc92ecec9407f7074d39855abd30f8a623daec
parent 18640041836197b9235143a24e3c19d1ccff1d55
author Youssef Elghareeb <ghareeb@google.com> 1631018888 +0200
committer Youssef Elghareeb <ghareeb@google.com> 1631025638 +0200

Fix StoreSubmitRequirementsOp for the Rebase submit type

StoreSubmitRequirementsOp is a BatchUpdateOp that is executed when a
change is about to be merged. For projects requiring a rebase upon
submission (e.g. if default submit type = RebaseAlways), the batch
update contains another RebaseSubmitStrategy#RebaseOneOp that creates an
additional patchset (the rebase patchset) which is then submitted. This
patchset is also inserted in the ChangeContext and becomes visible to
the StoreSubmitRequirementsOp.

Current implementation of StoreSubmitRequirementsOp used to create
ChangeData using the ChangeContext#getChange() parameter (which was just
updated by the rebase op). Trying to lookup ChangeData#currentPatchset
fails, because it loads patchsets from NoteDb but tries to find the
patchset with the ID of the one just inserted.

In this change, we update StoreSubmitRequirementsOp to create ChangeData
using the project/change IDs. Now requesting ChangeData#currentPatchset
succeeds but it returns the pre last patchset commit ID. This means that
in this situation, we will store submit requirement results in the
changes notes of the pre last patchset commit. This should be fine
though, since submit requirements will evaluate to the exact same
results for both commits. Additionally, the pre-last commit is the one
for which we displayed the submit requirement results of the last
patchset to the user before it was merged.

Alternatives considered:
* Make SR storage non-atomic, i.e. with a separate update after the
change is merged.
* Implement an ordering of batch update ops to enforce SRs storage op be
executed first. This will still imply storing SR results in the pre last
commit and should not be implemented for just this corner case: Our
batch update ops do/should not rely on ordering.

Bug: Google b/196271654
Change-Id: Ia3cd55a3c8693a1b96e8b70dc084af4650999e76
