function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
jhartjhart 

"Data.com Clean" breaks contact creation in unrelated managed package

We have two customers who have reported this issue in the past 2 days, and I fear there are more to come.

 

When they have "Data.com Clean" enabled, doing a simple Contact creation from one of our Visualforce pages (with custom controller) fails with the following error:

 

Visualforce Page: /apex/i__aaPendingAddrs

caused by: System.DmlException: Insert failed. First exception on row 0; first error: UNKNOWN_EXCEPTION, INVALID_TYPE: sObject type 'DataDotComEntitySetting' is not supported.: []

Class.i.CtlPendingAddrs.insertC: line 228, column 1
Class.i.CtlPendingAddrs.doSave: line 190, column 1
Class.i.CtlPendingAddrs.saveActions: line 162, column 1

 

The code where the failure occurs is bog standard, simple Contact creation.  This code works perfectly in thousands of installs of our managed package.  Our code does not reference "DataDotComEntitySetting" in anyway.  Here's the code that the stack trace leads to:

  private static void insertC(PagerPending.Item[] items) {
    Contact[] objs = new Contact[0];
    for (PagerPending.Item i : items) {
      if (i.action == 'nc') {
        if (i.addr.LastName__c == null) { i.error = NOLASTNAME; continue; }
        i.newcontact.Email = i.addr.FullAddr__c;
        i.newcontact.FirstName = i.addr.FirstName__c;
        i.newcontact.LastName = i.addr.LastName__c;      
        if (SFDC.hasRecTypes() && i.getCRecordType() != null) i.newcontact.put('RecordTypeId', i.getCRecordType());
        objs.add(i.newcontact);
        }
      }
    if (objs.size() > 0) insert objs;  // THIS IS LINE 228 PER THE
    }


As you can tell it is pretty darn simple.

 

The error message - with its reference to "DataDotComEntitySetting", which does not exist in our code - shows that this is an internal salesforce/data.com bug.  Our customers who have encountered this issue note that it reproduces with 100% certainty if Data.com Clean is enabled, and disappears when Data.com Clean is disabled.

 

I'm guessing that Data.com Clean has a trigger on Contact creation that is buggy and throws an error, but somehow the call stack is lost and it, instead, unwinds to the contact insert statement itself.  However, our customers report that contact creation from within the normal Salesforce user interface still works, so it's some complicated interaction between Data.com Clean and managed packages.

 

 

Salesforce support - I have opened case 09191025 to track this issue.

Best Answer chosen by Admin (Salesforce Developers) 
jhartjhart

Looks like this issue was patched & resolved on Friday, May 17th.

All Answers

kibitzerkibitzer

Welcome to my world.

 

See http://advancedapex.com/2013/03/13/anatomy-of-a-platform-bug/

See http://salesforce.stackexchange.com/questions/9719/datadotcomentitysetting-is-not-supported

 

We've been informed that they have a fix for Summer 13.

 

I have a question for you - have you seen this problem on production orgs or just on Sandboxes? We've been trying to find out if this impacts both, as we've only seen it on sandboxes so far. We've been trying to get a data.com clean enabled production org, but they won't enable one for us for testing.

 

If it only applies to Sandboxes, we can live with it. But if you're seeing it in production orgs, then you're right - this is a huge problem - as summer 13 won't be pushed to everyone until mid June.

 

Please let me know what kind of response you get from SFDC.

 

Dan

 

jhartjhart
We have seen this in production orgs.
kibitzerkibitzer

Sigh - that's really not what I wanted to hear.

 

 

jhartjhart

Salesforce.com support replies with some good news: it's an already-known issue, and a fix is being worked upon "with the highest priority." 

 

I don't have a date but it sounds like it will be resolved soon.

 

kibitzerkibitzer

We've been told it's fixed in the summer 13 release. The problem with that is that while it will be in sandboxes in mid May, it won't be rolled out to all orgs until mid June.

 

So, the question is:

- Have they increased the priority to patch it earlier?

- Did the support person who answered you have accurate information?

- Does their "highest prioirty" statement mean that something has changed, or are they just trying to make you feel good about a problem that isn't going to be really solved for another 6-7 weeks?

 

Sorry if I sound a bit skeptical, but I've been very disappointed by the way this has been handled (I've been dealing with this since mid-March).

 

Dan

 

 

 

jhartjhart

Let's turn that frown upside down, Dan!

 

I asked Backline Dev Support about timeframe, and let him know that I'd be relaying the answer to this forum.

 

His answer:

 

As of today it is planned as a patch (SAFE HARBOR) and the fix is under the review process so all looking good

kibitzerkibitzer

I've heard from sources inside of Salesforce that a fix for this is planned for Summer 13. However, this means the problem will remain until Summer 13 is pushed out - which is mid-June.

 

If you, your customers or anyone else is experiencing this problem, it is important that a case be opened - the more cases they have attached to the bug, the more likely they will expedite a patch before the summer release.

 

Dan

jhartjhart

More info from SFDC:


R&D discovered other issues that prevented the release of the fix as a patch earlier this month. It is still intended to be a patch (SAFE HARBOR) but no date has been given to it yet.

jhartjhart

Looks like this issue was patched & resolved on Friday, May 17th.

This was selected as the best answer