importer is not idempotent on import tags

Bug #1704139 reported by Robie Basak
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
git-ubuntu
Fix Released
High
Unassigned

Bug Description

For reasons I have yet to debug, when I run the importer it sometimes hangs after finishing the first push (Executing: git push pkg "refs/heads/importer/*:refs/heads/*"). I see a zombie git process, but Python is stuck. I would like a backtrace for this, but that's currently suppressed by default and I haven't got round to changing it to debug.

What I usually do in this case is re-run the git push in a different terminal window. When it says its done, I kill the importer.

This currently means that tags currently do not get pushed in this scenario.

AFAICT, if I were to then throw away my importer directory, the import tags would never get re-created, and they'd forever be missing.

I noticed and recovered this time by pushing the import tag manually.

Incidentally, running the importer again (and it completing fully this time) didn't seem to recover the situation. I expected that it would because the import tag was still local (under importer/import/...). The verbose log did say "git push pkg "refs/tags/importer/*:refs/tags/*"" but this didn't seem to actually do anything. When I ran this manually, only then did it push the tag. I wonder if this is related to my problem of the subprocess hanging Python.

To fix this bug, I think we need to use "git push --atomic" and push both the heads and the tags in the same command (with two refspecs).

Related branches

Nish Aravamudan (nacc)
Changed in usd-importer:
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.