Error: "Could not save the view" in MUX when save button is clicked more than once
search cancel

Error: "Could not save the view" in MUX when save button is clicked more than once

book

Article ID: 205457

calendar_today

Updated On:

Products

Clarity PPM On Premise Clarity PPM SaaS

Issue/Introduction

When saving a view, if there is some latency, you may think that the view is not being saved and you are able to click on the Save button again. The view might end up corrupted and sometimes might even be deleted.

STEPS TO REPRODUCE:

  1. Log in to the Modern User Experience (UX)
  2. Go to the project common grid
  3. Add/Remove some columns from the View
  4. Open the View menu > Save As
  5. Provide a new name to the view
  6. Click Save multiple times

Expected Results: You are allowed to click save once. The button is greyed out until the view is saved. Or the saving actions are finished sequentially as they were taken by the user.

Actual Results: You are able to click on the Save button more than once and the view can get corrupted.

Cause

This is caused by DE59142

Resolution

This is fixed in 15.9.1

Additional Information

Log files state errors like:

ERROR 2020-12-21 05:42:34,024 [http-nio-8080-exec-169] object.CustomObjectInstanceClass (clarity:user:session:PPM_REST_API) Exception on insert
com.niku.union.persistence.PersistenceApplicationException: java.sql.SQLIntegrityConstraintViolationException: [CA Clarity][SQLServer JDBC Driver][SQLServer]Cannot insert duplicate key row in object 'niku.ODF_UI_VIEWS' with unique index 'ODF_UI_VIEWS_U1'. The duplicate key value is (MyView_2, projects, 1, <NULL>, SAVED, <NULL>, <NULL>).
 at com.niku.union.persistence.PersistenceController.checkPMDOverride(PersistenceController.java:2067)
 at com.niku.union.persistence.PersistenceController.handleSQLException(PersistenceController.java:2253)
 at com.niku.union.persistence.PersistenceController.processSql(PersistenceController.java:3091)
 at com.niku.union.persistence.PersistenceController.processStatement(PersistenceController.java:888)
 at com.niku.union.persistence.PersistenceController.processStatements(PersistenceController.java:786)
 at com.niku.union.persistence.PersistenceController.doProcessRequest(PersistenceController.java:588)
 at com.niku.union.persistence.PersistenceController.processRequest(PersistenceController.java:311)