Riva CRM Integration - Documentation and Knowledge Base

Delete Safety - What Does It Mean to You?

Article ID: 1081
Last updated: 03 Aug, 2018

Benefit: The Delete Safety filter prevents accidentally deleting a significant number of items. Massive deletions could result from a configuration change made by mistake to the settings in CRM, the email system, or Riva — but, when the number of items queued for deletion exceeds a configurable threshold, Delete Safety prevents the deletions. After reviewing the deletion requests, it is possible to allow or disallow any of them.

Contents:

Thresholds

Every time Riva processes deletions — once every four hours — it checks if the number of items queued up for deletion exceeds one or more of the following default threshold values:

  • Contacts: 250 items or 25% of the currently synced items.
  • Appointments: 50 items or 10% of the currently synced items.
  • Tasks: 50 items or 75% of the currently synced items.
  • Other Modules: 100 items or 25% of the currently synced items.

Error Messages

When the number of deletion requests exceeds the corresponding threshold, an error appears in the Riva Service Monitor. Here are two examples.

[Appointment] Error - [CA] Poll result returned more deletes than allowed [37%/10%]. Aborting to prevent data loss

[Calendar] Error - [XA] Poll result returned more deletes than allowed [258/100]. Aborting to prevent data loss

Reading the errors

Delete Safety errors have the following format:

[Module] Error - [Log prefix] Poll result returned more deletes than allowed ...

  • [Module] indicates the module where the attempted deletions exceed the threshold.
  • [Log prefix] indicates the system where the attempted deletions originate from. For example, [CA] indicates CRM appointment. For the complete list of log prefixes, see Log prefixes.

Example Scenarios

Examples of scenarios in which a large number of items might be deleted:

  • A re-alignment of sales regions,

  • Changes in account or contact ownership,

  • Changes in team membership (if team selling is enabled),

  • Changes in any other sync filter options that control which items are visible to be synchronized by Riva, or

  • Deletion of a recurring appointment.

Possible Solutions

There are several ways to resolve a Delete Safety error.

Possible solutions for Riva Cloud

Possible solutions for Riva On-Premise

Apply one or more advanced options to manage the Delete Safety settings.

Procedures:

To apply advanced options to

Available options:

Option to Disable the Delete Safety Filter Completely

Requirement: Riva 2.4.36 or higher.

The following option can be used to completely disable the filter.

Sync.Crm.DeleteSafety.Disabled = true

Default value: false.

When the option is set to true, the Delete Safety filter is disabled, and all deletions are permitted in both directions.

Options to Adjust Delete Safety Thresholds

Requirement: Riva 2.4.36 or higher.

By default, the thresholds are set to a low level to prevent as many accidental deletions as possible. However, in some use cases, a large number of deletions are expected and desired.

The default settings and thresholds vary depending on the specific type of item being synchronized (contacts, calendar, tasks, etc.). For more information, see Thresholds.

The following options are available to adjust the thresholds used by Delete Safety:

Sync.Crm.DeleteSafety.MaxAllowedCount.[Module]
The maximum allowed deletions per poll. If more than this number of deletions are returned in a poll, the entire cycle is aborted. If [Module] is not specified, the option is applied to all modules in both directions. To determine the desired module, look at the error.

Sync.Crm.DeleteSafety.MaxAllowedPercentage.[Module]
The maximum allowed percentage of items to be deleted. If [Module] is not specified, the option is applied to all modules in both directions. To determine the desired module, look at the error.

Sync.Crm.DeleteSafety.AutoEnable.ItemCountThreshold
The minimum number of items required to enable the Delete Safety checks. If there are fewer than this number of items synced in total, no Delete Safety checks are performed at all. (This provision is designed for trial or testing scenarios where it can be quite common to delete all items.)

Sync.Crm.DeleteSafety.MinDeleteSkipCheckThreshold
The minimum number of deletions allowed per poll which will always be allowed. For example, if there are only x number of deletions, these will be allowed regardless of the number of items being synced.

Option to Adjust the Number of Logged Items

Requirement: Riva 2.4.48 or higher.

By default, when Delete Safety prevents items from being deleted, it displays the ID number of up to ten items. Example:

2018-05-04 10:26:04,702  WARN [CTP-cqd #2] [1MTD5YB5Q585] Aborting sync to prevent possible data loss for items:
0031N00001M8CAlQAN; 0031N00001MktRSQAZ; 0031N00001NRlR6QAL; 0031N00001Pcpb1QAB; 0031N00001PcpkOQAR; 
0031N00001TT7n1QAD; 0031N00001VbEUhQAN; 0031N00001VbEV1QAN; 0031N00001VbEVhQAN; 0031N00001VbEWBQA3

The following advanced option is available to change the maximum number of ID numbers that are displayed for any module.

Sync.Crm.DeleteSafety.MaxLogCount.[Module]

If the [module] parameter, for example Appointment, is omitted, the maximum number applies to all modules.

Options to Skip Detected Deletions for Specific Modules

Requirement: Riva 2.4.36 or higher.

In various scenarios, a large number of item deletions are desired in one system, typically the email system, but should be skipped and prevented from being deleted in the other system, typically the CRM. Apply the following advanced options to permanently skip deletions in a specific direction while allowing Delete Safety filters to be in effect for the remaining data. Set the value to TRUE for the one or more modules that you want to skip item deletions for.

Skip deletions from email to CRM:

Format: Sync.Crm.CrmDeletes.Disabled.[Module] = TRUE

Sync.Crm.CrmDeletes.Disabled.Appointment
Sync.Crm.CrmDeletes.Disabled.Contact (Use only if Synchronize contact deletions from Exchange to CRM has been enabled on the policy.)
Sync.Crm.CrmDeletes.Disabled.Phone_Call
Sync.Crm.CrmDeletes.Disabled.Service_Appointment (For Microsoft Dynamics CRM.)
Sync.Crm.CrmDeletes.Disabled.Task

Skip deletions from CRM to email:

Format: Sync.Crm.ExDeletes.Disabled.[Module] = TRUE

Sync.Crm.ExDeletes.Disabled.AddressBook
Sync.Crm.ExDeletes.Disabled.Calendar
Sync.Crm.ExDeletes.Disabled.Task

Note: For Leads deletions, that is [CL], the same keys for the Address Book module should be used.

Options to Bypass Delete Safety During the Next Sync Poll

Option to process the deletes during the next sync poll

Requirement: Riva 2.4.37 or higher.

A re-initialization option available for the sync policy allows Riva to process deletions in both directions to allow normal data sync to resume.

To allow deletions to be processed on the next sync poll:

  1. Re-initialize the affected users.

    1. On the Modules drop-down list, select All or the specific module.
    2. In Riva 2.4.47 or higher, on the Category drop-down list, select Sync Restriction.
    3. In Riva 2.4.37 or higher, on the Type drop-down list, select Override Delete Safety.
       

    For the complete procedure, see Re-initialize users.

  2. Save the sync policy.

    Result: The Delete Safety filter is bypassed during the next sync poll and the deletions are processed.

When the system starts to process items for deletion, it records how each item was processed. Here are various sample log entries for calendar items that were caught by a Delete Safety filter and then processed:

2015-07-23 02:39:17,487 INFO [CTP-pqp #7584] [93K9BJDB8P5H] Skipped Appointment in Exchange - Skipping detected CRM change for a deleted or declined appointment that originated in Exchange [CA20]
2015-07-23 02:39:17,733 DEBUG [CTP-pqp #7584] [93K9BJDB8P5H] ExApptSyncSpoke.InitializeCancelInvitation: Invitation option is not set. Skip sending invitation.
2015-07-23 02:39:17,747 INFO [CTP-pqp #7584] [93K9BJDB8P5H] Skipped Appointment in Exchange - Ignoring appointment deletion on appointment older than 30 days [CA21]
2015-07-23 02:39:18,110 INFO [CTP-pqp #7584] [93K9BJDB8P5H] Skipped Appointment in Exchange - Skipping detected CRM change for a deleted or declined appointment that originated in Exchange [CA26]
2015-07-23 02:39:19,223 DEBUG [CTP-pqp #7584] [93K9BJDB8P5H] EwsAppointmentSyncProvider.DeleteEwsItem: Appointment = , InvitationMode = SendToNone
2015-07-23 02:39:19,350 INFO [CTP-pqp #7584] [93K9BJDB8P5H] Deleted Appointment from Exchange: [7/1/2015 8:00:00 AM]
2015-07-23 02:39:19,473 INFO [CTP-pqp #7584] [93K9BJDB8P5H] Skipped Appointment in Exchange - Unable to find Appointment to delete. It may have already been deleted.

Notes:

  • If Riva attempts to schedule deletions made in the CRM to the email system and the item has already been deleted in the email system, Riva skips those deletions.
  • If Riva attempts to delete an item whose start date is more than 30 days old, Riva skips deleting those items.
  • The other log entries are self-explanatory.

Skip the item deletions caught in the Delete Safety filter

Requirement: Riva 2.4.37 or higher.

To skip item deletions caught in the Delete Safety filter:

  1. Work with affected users to determine if a large number of item deletions were expected.

  2. In the Riva Manager application, on the menu bar, select Policies.

  3. In the right pane, double-click the affected sync policy to edit it.

  4. In the Edit CRM Synchronization Policy window that appears, select the Re-Initialize or Sync Start Time tab.

    Note: In sync policies created in Riva 2.4.46 or higher, the Re-Initialize page replaces the Sync Start Time page.

  5. On the page that you have selected, do as follows:

    1. Select Load Users, select the affected users to disable Delete Safety for, and select the pencil icon.

    2. On the Module drop-down list, select All or the specific module.

    3. In Riva 2.4.47 or higher, on the Category drop-down list, select Sync Restriction.

    4. In Riva 2.4.37 or higher, on the Type drop-down list, select Override Delete Safety and skip deletes.

    5. Select OK. Do NOT save the policy yet.

  6. Select the Advanced Options tab, and do as follows:

    1. Select Custom Options.

    2. Add the desired advanced option key or keys to skip items to delete during the next sync poll.

      Example: To skip calendar items to delete in both directions, add the following advanced option keys and values:

      Sync.Crm.CrmDeletes.Disabled.Appointment = true
      Sync.Crm.CrmDeletes.Disabled.Phone_Call = true
      Sync.Crm.ExDeletes.Disabled.Calendar = true

  7. Select Save to save the sync policy.

  8. Open the Riva Service Monitor application to review the next sync cycle for the selected user or users.

    Result: The Delete Safety filter is bypassed during the next sync poll, and the sync skips items indicated at step 6 while processing the rest of the "captured" deletions to be processed.

  9. After the next sync poll, edit the sync policy, and remove the advanced options added at step 6.

Applies to

  • Riva for Exchange and IBM Notes only.
  • Riva 2.4.36: Basic Delete Safety filters are enabled by default.
  • Riva 2.4.36.19829 or higher: Advanced options to skip items deletes are effective.
  • Riva 2.4.37 or higher: Re-init OverrideDeleteSafety on next sync poll is effective.
  • Riva 2.4.48 or higher: The advanced option to adjust the number of logged items is effective.

Article ID: 1081
Last updated: 03 Aug, 2018
Revision: 32
Views: 14641
Also read