Orphans in PRJ_TENTATIVE_SCHEDULES causing duplicates in Project Grid in MUX
search cancel

Orphans in PRJ_TENTATIVE_SCHEDULES causing duplicates in Project Grid in MUX

book

Article ID: 256324

calendar_today

Updated On:

Products

Clarity PPM SaaS Clarity PPM On Premise

Issue/Introduction

Removing project lock from security.locks does not clear tentative schedules and may lead to orphans in PRJ_TENTATIVE_SCHEDULES which in turn shows duplicate projects in MUX Project Grid

STEPS TO REPRODUCE:

  1. Open a Clarity project - in MUX - go to Tasks - Gantt
  2. Create a Tentative Schedule
  3. Note this puts a lock on the project
  4. Open Clarity in another browser with another user and open the same project. Note you see the lock and are not able to edit the project
  5. In PRJ_TENTATIVE_SCHEDULES you can see 1 entry for this schedule and project
  6. Click Unlock to unlock the project in Classic or MUX
  7. Note the project is unlocked and the entry is removed
  8. Now create another Tentative schedule and ensure the project is locked and there is an entry in PRJ_TENTATIVE_SCHEDULES
  9. With admin user open security.locks page and remove the ImportExport lock on this project
  10. Run the select query in PRJ_TENTATIVE_SCHEDULES

Expected Results: Removing locks in security.locks page should be the same as removing the lock from UI and it should clear the Tentative schedules

Actual Results: The tentative schedules are not being cleared and there are now orphans in the system. This leads to duplicate project records displayed in Project Grid in MUX as PRJ_TENTATIVE_SCHEDULES is used with LEFT OUTER JOIN in this page assuming 1 record can exist only

Environment

Release : 16.1.0

Resolution

This is DE67744, partly fixed in 16.1.1, and DE77301, fixed in 16.2.0

  • All  existing orphans will be removed during upgrade to 16.2.0 

Workaround: Do not use security.locks page to clear locks from projects - instead suggest to user to connect to Classic and manually remove the lock

When the orphans cause duplicates, they may be deleted from the backend. The preferred approach would be to upgrade as to remove all the orphans safely and permanently