Uploaded image for project: 'Crucible'
  1. Crucible
  2. CRUC-7907

Incorrect error handling with Perforce can lead to missing changeset in FishEye repository data

    XMLWordPrintable

Details

    Description

      Actual behaviour

      Currently when any perforce related error happens when FishEye tries to get p4 describe -dn for a batch of changesets, it fallbacks and tries to get the data for changesets one-by-one. If this fail, FishEye will try to call p4 describe -s and if this will fail again FishEye will ignore given changeset as it wouldn't exist in a repository. This will lead to missing changesets information and FishEye repository model won't represent actual repository structure. 

      FishEye will log the following message to log files:

      Removing changelist 321

       

      However, the bug can present itself long after the log file rotates and log message is already gone. This lead to hardly reproducible problems which are nightmare to find the root cause. Missing changeset information can have an impact on whole FishEye&Crucible products, e.g. file ancestries, commit graphs, diff generation.

       

      Expected behaviour 

      FishEye correctly handles which come from Perforce, correctly fallbacks from batch mode and does not loose any changeset information. In case of persistent errors, propagate the exception into upper callee levels.

      Attachments

        Issue Links

          Activity

            People

              glewandowski Grzegorz Lewandowski
              glewandowski Grzegorz Lewandowski
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: