Troubleshooting a Salesforce Data Synchronization Task
The solution to the following situations might help you troubleshoot Salesforce Data Synchronization task.
- The Data Synchronization task fails.
- You tried to run a task that writes data from a flat file to a Salesforce object, but one of the external ID fields in the flat file is not found in the related Salesforce object. When this occurs, the task fails with following error:
[Salesforce object name] : Error received from salesforce.com. Fields []. Status code [INVALID_FIELD].
Message [Foreign key external ID: not found for field <field name> in entity <source object>].
To resolve, verify that the external ID values exist in Salesforce.
- A Data Synchronization task that is configured to run in real time upon receipt of an outbound message fails with the following message:
The buffer [] returned from outbound message queue [] is corrupt.
The following table describes the cases where this can occur and possible actions to take:
Case | Suggested Action |
---|
The fields sent by the outbound message do not match the source fields used in the task. | Update the outbound message or update the task so that the fields sent by the outbound message match the source fields used in the task. |
The source metadata, such as the precision or data type of a field, has changed since the task was configured. | Update the task. To refresh the source metadata in the task, on the Field Mapping page, click Refresh Fields. |
If errors persist, you can configure the following custom configuration properties for the runtime environment to resolve this problem:
- - Type: Tomcat, Name: InfaAgent.MaxTotalBytesQueued, Value: <large number in MB>
- - Type: Tomcat JRE, Name: INFA_MEMORY, Value: -Xmx<large number>
- - Type: Tomcat, Name: InfaAgent.OutboundMessageIdDuplicateTimePeriod, Value: <large number in milliseconds>
For example:
- - Type: Tomcat, Name: InfaAgent.MaxTotalBytesQueued, Value:256
- - Type: Tomcat JRE, Name: INFA_MEMORY, Value: -Xmx1g
- - Type: Tomcat, Name: InfaAgent.OutboundMessageIdDuplicateTimePeriod, Value: 60000
For more information about configuring a task to begin when receiving outbound messages, see
Starting Tasks with Salesforce Outbound Messages.