Uploaded image for project: 'OpenIDM'
  1. OpenIDM
  2. OPENIDM-11016

Don't update MO if no change made to base object.

    XMLWordPrintable

    Details

    • Target Version/s:
    • Verified Version/s:
    • Story Points:
      1
    • Sprint:
      OpenIDM Sprint 6.5-10.2

      Description

      A change for OPENIDM-9734 reverted a performance gain where the core MO doesn't need to be updated if there were no changes to the core object.

      In `ManagedObjectSet#handleSignalVertexUpdateFromEdge()' the relationships should be stripped and then compared.  If the non-relationship fields are equal, then there is no need to store the repo object in the DB.

       

      Specifically...

      This logic needs to use the correct objects ...

      final JsonValue newVertexEdgeContainers = stripRelationshipFields(decryptedNewVertexState);
      final JsonValue oldVertexEdgeContainers = stripRelationshipFields(decryptedOldVertexState);
      
      if (isEqual(oldVertexState, newVertexState)) {
          // add the new edges back into the new object
          newVertexState.asMap().putAll(newVertexEdgeContainers.asMap());
          oldVertexState.asMap().putAll(newVertexEdgeContainers.asMap());
          executePostUpdate(context, request, vertexId, oldVertexState, newVertexState);
          performSyncAction(context, request, vertexId, notifyUpdate, oldVertexState, newVertexState);
          return;
      }

        Attachments

          Activity

            People

            Assignee:
            alin Alin Brici
            Reporter:
            jason.vincent jason vincent
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: