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

Backport OPENIDM-12680: Reconciliation stuck in ACTIVE_QUERY_ENTRIES (or other ACTIVE_ state) and cannot be cancelled

    Details

      Description

      When running some reconciliations with IDM 6.5.0, it is possible for the recon to be stuck in the ACTIVE_QUERY_ENTRIES stage. If a cancel REST request is issued for this reconId, there is no change to the status.

      While we haven't been able to identify all causes of this behaviour, there are reproduction steps for one possible method:

      1. Install IDM 6.5.0
      2. Modify the sync-with-csv sample to include a mapping from managed/user to the CSV file
      3. Start IDM
      4. Sync from CSV to managed/user
      5. Sync (once) from managed/user to CSV
      6. Rename the CSV file (e.g. csvConnectorData.ori)
      7. In the Mappings UI, spam click the 'Reconcile Now' button
      8. Check the state of the reconciliations:

      GET http://localhost:8080/openidm/recon
      
      {
          "_id": "",
          "reconciliations": [
      *snip*
              {
                  "_id": "c2b8e79e-cbfd-47b8-999b-4c4046630ecc-618",
                  "mapping": "managedUser_systemCsvfileAccounts",
                  "state": "ACTIVE",
                  "stage": "ACTIVE_QUERY_ENTRIES",
                  "stageDescription": "querying sets of entries to reconcile",
                  "progress": {
                      "source": {
                          "existing": {
                              "processed": 0,
                              "total": "2"
                          }
                      },
                      "target": {
                          "existing": {
                              "processed": 0,
                              "total": "?"
                          },
                          "created": 0
                      },
                      "links": {
                          "existing": {
                              "processed": 0,
                              "total": "?"
                          },
                          "created": 0
                      }
                  },
                  "situationSummary": {
                      "SOURCE_IGNORED": 0,
                      "FOUND_ALREADY_LINKED": 0,
                      "UNQUALIFIED": 0,
                      "ABSENT": 0,
                      "TARGET_IGNORED": 0,
                      "MISSING": 0,
                      "ALL_GONE": 0,
                      "UNASSIGNED": 0,
                      "AMBIGUOUS": 0,
                      "CONFIRMED": 0,
                      "LINK_ONLY": 0,
                      "SOURCE_MISSING": 0,
                      "FOUND": 0
                  },
                  "statusSummary": {
                      "SUCCESS": 0,
                      "FAILURE": 0
                  },
                  "durationSummary": {
                      "sourceQuery": {
                          "min": 1,
                          "max": 1,
                          "mean": 1,
                          "count": 1,
                          "sum": 1,
                          "stdDev": 0
                      },
                      "onReconScript": {
                          "min": 4,
                          "max": 4,
                          "mean": 4,
                          "count": 1,
                          "sum": 4,
                          "stdDev": 0
                      },
                      "auditLog": {
                          "min": 0,
                          "max": 0,
                          "mean": 0,
                          "count": 1,
                          "sum": 0,
                          "stdDev": 0
                      }
                  },
                  "parameters": {
                      "sourceQuery": {
                          "resourceName": "managed/user",
                          "queryId": "query-all-ids"
                      },
                      "targetQuery": {
                          "resourceName": "system/csvfile/account",
                          "queryId": "query-all-ids"
                      }
                  },
                  "started": "2019-02-26T10:15:40.433Z",
                  "ended": "",
                  "duration": 54823,
                  "sourceProcessedByNode": {}
              }
          ]
      }
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                matthias.grabiak Matthias Grabiak
                Reporter:
                mark.offutt Mark Offutt [X] (Inactive)
                QA Assignee:
                Michal Orlik
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: