You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add tokio::spawn while importing raw git trees during gitimport and remote-gitimport
Summary:
As part of importing a commit in Mononoke, we recursively fetch all the trees associated with the current commit and its parent and do a manifest diff to find out which trees have been modified or added. These trees then get uploaded along with the commit. However, because of the nesting of the futures and collecting them in `FuturedUnordered` where the underlying future can acquire a lock and do other processing, we run the risk of executing without a nearby await point which can lead to the [subexecutor problem](https://fb.workplace.com/notes/1722678438098836/).
This issue was reported by AOSP folks (T175797996) and so far we did not have a reliable repro. When Saurabh tried to import `frl-silicon-reefpoint`, we realized that it gets stuck everytime at the same commit. This diff fixes that issue by adding spawns in the nested futures where `GitReader` gets used.
I will still keep the task open until AOSP folks confirm that they are no longer seeing this issue.
Reviewed By: singhsrb
Differential Revision: D53921389
fbshipit-source-id: af6e0969addc8346046f8eb59987d11606431afb
0 commit comments