Problem with tsalesforceoutput rejects when Commit level >1

Four Stars

Problem with tsalesforceoutput rejects when Commit level >1

Hello,

 

I have 2 problems with the tsalesforceoutput component (talend 6.2) :

 

1. II've set my commit level to 10 

Each time I encounter a specificl kind of error, I have incorrect data returned in my reject flow (the data fields are not the data that causes the error) 

The error is : "duplicate value found: unknown duplique une valeur dans l'enregistrement ID : ..."

When I get this error message the detail of the datas which should normally cause the error is not the good one 

(I think it return the first line of the 10 rows that were upserted when the error occurs)

If I set the commit level to 1 : everything is correct (but the upsert take a lot more time to finish ) 

 

2. The second problem is that if I have a commit level of 10, my reject flow will have each error message repeted 10 times (I try also with 100 ... and I get 100 similiar lines of reject for each error (I solve this by adding a taggregaterow)   

 

For the first point do you have a solution other then setting the commit level to 1?

 

Thanks 

 

Employee

Re: Problem with tsalesforceoutput rejects when Commit level >1

When you set commit Level to 10, and get an error, are the 10 rows that are part of that batch rollbacked?  Or the successful rows committed?

Generally with other database components, the whole batch will fail.  

 

Employee

Re: Problem with tsalesforceoutput rejects when Commit level >1

Also make sure you are using compatible oracle drivers that works with the Java version you have.

Four Stars

Re: Problem with tsalesforceoutput rejects when Commit level >1

Thank you for your reply. 

I didn't check that point, I will have to check next week.  

Actually the goal of my post is the identification of the rejected line that cause the error but your remarks is to be checked also !  

 

Four Stars

Re: Problem with tsalesforceoutput rejects when Commit level >1


@iburtally wrote:

Also make sure you are using compatible oracle drivers that works with the Java version you have.


It works as the upsert is correctly done in salesforce (except for the rejects that I want to be able to identify to correct the data in the source application) 

(the component don't send data in an oracle database, it write in salesforce.com throught a webservice)

Employee

Re: Problem with tsalesforceoutput rejects when Commit level >1

Sorry my mistake.  My reply for another post got posted here.

Six Stars

Re: Problem with tsalesforceoutput rejects when Commit level >1

2019 GARNER MAGIC QUADRANT FOR DATA INTEGRATION TOOL

Talend named a Leader.

Get your copy

OPEN STUDIO FOR DATA INTEGRATION

Kickstart your first data integration and ETL projects.

Download now

What’s New for Talend Summer ’19

Watch the recorded webinar!

Watch Now

Best Practices for Using Context Variables with Talend – Part 1

Learn how to do cool things with Context Variables

Blog

Migrate Data from one Database to another with one Job using the Dynamic Schema

Find out how to migrate from one database to another using the Dynamic schema

Blog

Best Practices for Using Context Variables with Talend – Part 4

Pick up some tips and tricks with Context Variables

Blog