Friday 12 August 2011

Eclipse Mylyn / Bugzilla "resolution required" UX buglet

Eclipse Mylyn / Bugzilla error...
Submit failed: resolution required:  A valid resolution is required to mark bugs as RESOLVED.
... requires specific steps to avoid.  TL;DR solution and notes after the break.

The steps:
  1. Ensure notes saved & submitted
  2. Ensure good status and fully synchronized, i.e:
    1. Ensure status IN_PROGESS (CONFIRMED known to work too)
    2. Submit
    3. Synchronize incoming changes
  3. Resolve as - FIXED
If this doesn't seem to work...
  1. Ensure all but status change saved (e.g. notes saved),
  2. Discard outgoing changes
  3. Do a full repository synchronize
  4. [potentially synchronize incoming changes -- should be unlikely!]
  5. Set status FIXED
  6. Submit
If this still doesn't work, the last inexplicable rite is:
  1. With status as FIXED (which we know fails)
  2. Set status back to IN_PROGRESS (yes, not discard!)
  3. Submit (yes, submit the same status it already is)
  4. Set status to FIXED
  5. Submit!
Let me know if you find more tips / etc!

Investigation notes
That seems to be it.  Can't say I'm happy with this but it works for now.
Here follow some notes from investigating in case useful to others / future-me...
  • Applying Wireshark:
    • POST /bugzilla/process_bug.cgi HTTP/1.1
    • Some interesting parameters passed:
      • bug_id=
        everconfirmed=
        resolution=
        bug_status=
        resolve=
        resolutionInput=
        dependson=
        dup_id=
        classification_id=
        ... (lots of other params)
      • The blank "resolution" and set "resolve" and "resolutionInput" fields are interesting.
    • Determined working steps above.  Now...
    • Difference between FAIL and SUCCESS:
      FieldFailSucceed
      resolution(blank -- present but no value)FIXED
      resolveFIXED(field absent)
      (others same)
      bug_statusRESOLVED (same)
      resolutionInputFIXED (same)
      everconfirmed1 (same)
      ...
  • http://www.bugzilla.org/docs/tip/en/html/api/Bugzilla/WebService/Bug.html#update
    • 121 (Resolution Required)
      You tried to set the status field to a closed status, but you didn't specify a resolution.
    • (yup, that agrees with my table above)
  • http://www.bugzilla.org/docs/tip/en/html/parameters.html 
    • noresolveonopenblockers
      This option will prevent users from resolving bugs as FIXED if they have unresolved dependencies. Only the FIXED resolution is affected. Users will be still able to resolve bugs to resolutions other than FIXED if they have unresolved dependent bugs.
    • Could see this being potential factor but not for my situation
If anyone (including future-me) needs, I might investigate the Mylyn source to see what can be done to reduce probability of seeing this.  Today, that's definitely a major yak ;-)

    No comments:

    Post a Comment