Skip to main content
Featured group

Commons Project: DLRS

Declarative Lookup Rollup Summaries Tool, an Open Source Commons project. This group has been created to support discussion around this tool. This is a community powered tool so questions may not get answered immediately. Please post a screenshot of your DLRS record when asking for troubleshooting help =) In August 2021 DLRS joined the Salesforce.org Open Source Commons program to build community around this package. Joining the OSC helps ensure DLRS remains a trusted and sustainable open source package, that is free, community-led, and managed for years to come. If you'd like to contribute to DLRS, please post in the group!

We have scenarios where Salesforce rolled back the updates. I created a Salesforce Case for this and they shared a below response. (We are on 2.23 version) 

 

Upon investigation, we found that a package from DLRS (Declarative Lookup Rollup Summaries) is triggering the "dlrs_CampaignInfluenceTrigger" on AfterInsert. This trigger is causing the following error: 

  

 "CampaignInfluence2RecalcFailure when processing Campaign Influence records for recalc". 

 

Due to this error, Salesforce initiates a rollback process, which is why we are seeing the Salesforce Administrator  user appearing as the Last Modified By on those records. Actually we are using Last Modified By as a visibility filter in page and its not behaving as expected. 

 

Can someone please help here? 

  

 

 

 

5 answers
  1. Jun 10, 6:59 PM

    The general instructions are to work with Support through your case and let them know that they can collect the unmasked logs. Assuming they can catch it in the act, otherwise it might be hard for them to capture the logs. 

     

    They will probably need approval, the internal contact for that is Cori O'Brien. She is a Salesforce employee and works with the community side of things, such as DLRS. She can approve the log capture and coordinate to get them reviewed. 

     

    I hope that helps get the next steps moving for you. I'm around for any updates and questions.

0/9000

Whenever we update or install a managed package, either in Sandbox or Production, the installation is blocked by the following Apex trigger:

"dlrs_ContentDocumentLinkTrigger"

 

Below is the error we are receiving:

"ContentAsset (Logo1) dlrs_ContentDocumentLinkTrigger: execution of AfterInsert caused by: System.QueryException: SELECT Description FROM EntityAttributes ^ ERROR at Row:1:Column:8 No such column 'ALC_Attachment_Count__c' on entity 'case'. If you are attempting to use a custom field, be sure to append the '__c' after the custom field name. Please reference your WSDL or the describe call for the appropriate names. (dlrs) Trigger.dlrs_ContentDocumentLinkTrigger: line 7, column 1." 

 

Currently we are using 2.23 version in sandbox and prod.. Could you please help how to resolve it

1 answer
  1. Yesterday, 12:37 PM

    @Sangeeta Belani

    if you're not familiar, DLRS is a customizable rollup application. You go into the app and configure rollup definitions and in many cases the app generates triggers and test code that should be installed in your org to help make the rollups work. (there is a helpful UI for installing and removing these generated triggers) 

     

    "dlrs_ContentDocumentLinkTrigger" is one of those auto-generated triggers. The error you're getting suggests you have a rollup definition that references ALC_Attachment_Count__c as a field. I assume you have a rollup from ContentDocumentLink up to Case and maybe ALC_Attachment_Count__c is the Result Field where the count of attachments should end up. 

     

    To resolve the error you'll need to look through your DLRS configured rollups and find the one that references that field. Then you'll either need to repair the definition (why does it reference a field that doesn't exist) or you'll want to deactivate or possibly delete that rollup. Before deleting you'll want to evaluate if you need the trigger or if that should be removed first. 

     

    Hope that helps you get on the right track.

0/9000

I've configured an External Client App, Auth Provider, and Named Credential following the DLRS documentation and updated the custom setting. I'm also using the most up-to-date version of DLRS. 

 

The authentication appears to work correctly initially. After authenticating the External Credential Principal, I'm able to use DLRS without issue. However, if I return an hour or so later and try to use DLRS app again, I receive the following error below. It seems like a timeout issue but I'm not sure what setting is causing it.

 

  • Unable to connect to the Salesforce Metadata API.
  • Web service callout failed: WebService returned a SOAP Fault: INVALID_SESSION_ID: Invalid Session ID found in SessionHeader: Illegal Session. Session not found, missing session hash:  This error usually occurs after a session expires or a user logs out. Decoder: DataInDbSessionKeyDecoder faultcode=sf:INVALID_SESSION_ID faultactor=

Has anyone run into this with the newer External Client App + Named Credential configuration? 

Any guidance would be appreciated.

5 answers
  1. Jun 8, 6:23 PM

    Just giving an update here. I was able to experience the problem but digging into the details isn't easy. 

     

    It looks like our recommended setup isn't getting a Refresh Token in the OAuth process. I'm trying different settings to see if I can correct it but the iteration cycle is very slow. 

     

    I'm hoping I have an answer for you by the end of this week but it depends on how quickly I can figure out what needs to change.

0/9000

I have some records in my system that has a field that I'm using in DLRS. It looks like some of the values in that field were deleted in the system, so the fields shows as a "unknown record". and when I try to update the field, i get this error below:  

 

Review the errors on this page.

  • dlrs_AccountTrigger: execution of AfterUpdate caused by: System.DmlException: Update failed. First exception on row 0 with id 0010a00001BOWO5AAP; first error: INVALID_CROSS_REFERENCE_KEY, invalid cross reference id: [] (dlrs) Trigger.dlrs_AccountTrigger: line 7, column 1

 

i know that this is DLRS based on the error, but i have no indication WHICH roll up is causing it, or how to prevent this from happening. any ideas? I've already reached out to Salesforce support, and they couldn't help me because the Debug Logs dont show any details since this is a managed packaged. 

7 answers
  1. Jun 5, 7:30 PM

    The core issue is that you have Account records where the Lookup field holds the Id of a record that can't be resolved. 

     

    Is it possible this is because of sharing/visibility restrictions that prevent you from seeing the record? (Maybe you have rollups in User mode vs. System mode too?) 

     

    Anyway, assuming you have full access in the system and the lookup field points to a record id that doesn't exist in your system. The fix is to empy out the lookup field or to change it to another record. You can try and clear the value when editing but you may need to use something like Data Loader to set a blank value on the lookup field. 

     

    If you already have an open support case I may suggest trying to see if they can explain why you're seeing that odd data condition. I'd hate to recommend mutating your data if there is a perfectly reasonable reason why it is behaving like this.

0/9000

I've used DLRS for years as System Admin, but today can't get past the Welcome page where I see a big red error banner (screenshot attached) — but no indications of what I need to fix. I've repeatedly clicked the Create/Update Remote Site Settings

button, but nothing happens. Since I was using version 2.17, I upgraded to 2.25 — but despite a successful install (per the email) I'm still getting the same error message. 

 

Besides the messages in the  banner, this message is shown below the

Create/Update

button — 

DEBUG USE ONLY: Web service callout failed: WebService returned a SOAP Fault: INVALID_SESSION_ID: Invalid Session ID found in SessionHeader: Illegal Session faultcode=sf:INVALID_SESSION_ID faultactor=

 

 

Any suggestions?

4 answers
  1. Jun 5, 4:24 PM

    Reporting back on our call. 

     

    It looks like you're getting the red errors when DLRS tries to see if it can access Salesforce's external APIs using the session id borrowed from Visualforce. This is usually caused when you enabled the setting so sessions are limited to the IP address where they originated. This is because the Visualforce session is tied to your browser's IP address but DLRS is trying to come from Salesforce's server IP and is being rejected. 

     

    It doesn't mean that session setting is bad, only that it can cause some problems for DLRS' way of doing things. 

     

    DLRS' new beta page uses different strategies for managing the rollup records and is generally able to avoid these problems. The current beta pages still rely on some of the older Visualforce pages, like Full Calculate, which once you've started the job they will try and return you to the old wizard and you're faced with the red error banner again. The job is started correctly but it then passes you to an error page, making it feel like it crashed. 

     

    We worked through this by going to Setup > Apex Jobs which allowed us to check on the recalculation batch job and see that it was running and processing your records without reporting errors on the batch job. We also checked your Lookup Rollup Summary Logs object and saw that you were not generating new log records, which means the recalculation was working. 

     

    When we looked into your individual rollup outcomes we found some data issues that made it look like DLRS wasn't behaving correctly. We were able to test this by modifying the data and recalculating again, DLRS did its job and you got the values you needed. 

     

    Thanks for taking the time to go through this with me, glad we were able to find you answers.

0/9000

Hello, 

 

Our org has intermittently had issues similar to this. (I believe the error is always on the Case object but I'm not certain at this time). This particular error is for a user attempting to merge two Cases, and our After Save flow is failing with this error (see image). 

 

 We have 49 active rollup scenarios: two of these have Case as the Child Object, none of them where Case is the Parent Object. The only scenario where the field 'agf__Status__c' (as seen in the error image below) appears is a rollup scenario where the parent object is Epics and the child is Work.  

 

I should point out here, that Epics and Work Items are from the Agile Accelerator package. Likewise 'agf__Status__c' is a common field on objects within that package and 'agf' is the namespace. There is no 'agf__Status__c' field on the Case object, hence the error. But it seems the dlrs_CaseTrigger is trying to access it at compile time. The Case object has a lookup field to the Work object which does have the field 'agf__Status__c' and is rolled up via DLRS. 

 

The only success we've had in the past is deactivating all of our DLRS summaries; even trying to deactivate them 1 by 1 did not succeed in removing the error. 

 

Any guidance on how to trouble shoot this and find the source problem would be greatly appreciated.  

Invalid Field agf__Status__c for Case

 

 

3 answers
0/9000

For some reason, I am unable to run full recalculation jobs. This is specifically in our full sandbox. It works in production via the UI (although not through Apex). I get this error: 

"A calculate job for rollup 'Monthly Contribution Rollup' is already executing. If you suspect it is not aleady running try clearing the applicable record from the Lookup Rollup Calculate Jobs tab and try again." 

 

However, when I go check the Lookup Rollup Calculate Jobs tab, it is empty. 

 

Any help would be appreciated. 

 

Unable to Run Recalculate Job

 

empty_jobs.png

 

@* Salesforce Developers *

 

 

#Salesforce Developer

3 answers
  1. May 29, 2:22 PM

    @Friedrich Stoltzfus

    normally I'd send you to the docs but I see you've already checked the tab. 

     

    There is an open issue for this that I think is related. DLRS checks to see if it is a storage issue then naively assumes everything else must be this error. 

    https://github.com/SFDO-Community/declarative-lookup-rollup-summaries/issues/1578

     

     

    I'd start by checking your storage in the sandbox, the code should be checking for storage issues but I think that check might be broken. You'd be at least the second person to experience this. 

     

    If your storage is clean then please let me know and we can dig further. 

     

     

0/9000

The DLRS community team would like to announce the release of Version 2.25. Read all about the update in the release notes and install the new version. (If you are on version 2.24, we recommend that you update to 2.25 which has a fix for a trigger management bug introduced in the 2.24 release.) 

 

A few highlights from the recent 2.24 release:

  • Improvement to notification emails 
  • Update to avoid errors caused by extra spaces in the Relationship Criteria
  • For those who require a higher security compliance, it is now possible to configure DLRS to use a Named Credential for API access.

Thanks to the whole DLRS team! With special thanks going to @Anthony Heber for leading the development effort and to @Kyle Broeckel for leading the documentation effort.

3 comments
0/9000

 

i have installed the new version and am still getting the error:

Web service callout failed: Unable to parse callout response. Apex type not found for element testCategory

 

Error is in expression '{!checkAsyncRequest}' in page dlrs:managetriggermdt: (dlrs)

 

An unexpected error has occurred. Your solution provider has been notified. (dlrs)

 

 

The trigger still gets created but doesn't appear to be working

5 answers
0/9000
3 answers
  1. May 19, 8:38 PM

    DLRS has two places that it keeps configurations, the Custom Metadata are the "modern" way but if this has been installed in your org for a while you might also have some of the Custom Object variety. I would check both for possible configuration locations. 

     

    If it isn't present then it is more likely that DLRS is updating something else and triggering another automation, either on write to the Account object generally, or because of a specific field change. 

     

    If you use the Apex Debug Logs you won't be able to see the DLRS code running but if the update is happening outside of DLRS then hopefully you can see that occur and find the source.

0/9000