DRS rollback not occuring with IPC stage

Post questions here relative to DataStage Server Edition for such areas as Server job design, DS Basic, Routines, Job Sequences, etc.

Moderators: chulett, rschirm, roy

news78
Participant
Posts: 44
Joined: Fri Jul 07, 2006 1:37 pm

DRS rollback not occuring with IPC stage

Post by news78 »

My job looks similar to as follows:

Code: Select all

	               
                             [IPC] -> [DRS]
                                 |
			         |
[SequentialFile] --> [Transformer]  
			         |
			         |
		               [IPC] -> [DRS]
Note in the job, the ipc links are coming out of the transformer, for some reason I am not able to show that here.

Now, the requirement is if any error occurs while loading records, there should be a rollback of all records inserted until then. The Tx Size has been set to 0 in both DRS stage. In one scenario, am getting 10 records, the 10th is an record which is has error in it. But I see that 9 records are loaded in the DB even though the job aborts at the 10th record.

I tried the same without the IPC stages and the rollback occurs as expected. Seems with the IPC, the rollback is not occuring. Any advice?
DSguru2B
Charter Member
Charter Member
Posts: 6854
Joined: Wed Feb 09, 2005 3:44 pm
Location: Houston, TX

Post by DSguru2B »

Get rid of the IPC stage.
Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep.
news78
Participant
Posts: 44
Joined: Fri Jul 07, 2006 1:37 pm

Post by news78 »

DSguru2B wrote:Get rid of the IPC stage.
Is there any other option? I need the IPC stage as I can see faster loads with IPC in place.
narasimha
Charter Member
Charter Member
Posts: 1236
Joined: Fri Oct 22, 2004 8:59 am
Location: Staten Island, NY

Post by narasimha »

What is your target database?
Narasimha Kade

Finding answers is simple, all you need to do is come up with the correct questions.
news78
Participant
Posts: 44
Joined: Fri Jul 07, 2006 1:37 pm

Post by news78 »

narasimha wrote:What is your target database?
Oracle
I_Server_Whale
Premium Member
Premium Member
Posts: 1255
Joined: Wed Feb 02, 2005 11:54 am
Location: United States of America

Post by I_Server_Whale »

news78 wrote:
narasimha wrote:What is your target database?
Oracle
Have you tried the native stage for Oracle? The ORAOCI plugin stage?
Anything that won't sell, I don't want to invent. Its sale is proof of utility, and utility is success.
Author: Thomas A. Edison 1847-1931, American Inventor, Entrepreneur, Founder of GE
narasimha
Charter Member
Charter Member
Posts: 1236
Joined: Fri Oct 22, 2004 8:59 am
Location: Staten Island, NY

Post by narasimha »

I_Server_Whale wrote:Have you tried the native stage for Oracle? The ORAOCI plugin stage?
That would be faster, if bulk loading is an option is is even quicker!
Narasimha Kade

Finding answers is simple, all you need to do is come up with the correct questions.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Actually, the DRS stage set to 'Oracle' does use the native OCI interface under the covers from what I recall.
-craig

"You can never have too many knives" -- Logan Nine Fingers
I_Server_Whale
Premium Member
Premium Member
Posts: 1255
Joined: Wed Feb 02, 2005 11:54 am
Location: United States of America

Post by I_Server_Whale »

chulett wrote:Actually, the DRS stage set to 'Oracle' does use the native OCI interface under the covers from what I recall.
Totally agree :) . But still, doesn't the DRS stage have a similar overhead like the ODBC stage as compared to the native OCI interface? I was promoting the OCI stage as opposed to DRS in order to avoid the overhead costs.
Anything that won't sell, I don't want to invent. Its sale is proof of utility, and utility is success.
Author: Thomas A. Edison 1847-1931, American Inventor, Entrepreneur, Founder of GE
DSguru2B
Charter Member
Charter Member
Posts: 6854
Joined: Wed Feb 09, 2005 3:44 pm
Location: Houston, TX

Post by DSguru2B »

Get rid of the IPC stage. Go to the job properties , performance tab, uncheck 'project defaults', check Enable row buffer and choose Inter process. Run you job. See if you still have the rollback problem.
Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep.
narasimha
Charter Member
Charter Member
Posts: 1236
Joined: Fri Oct 22, 2004 8:59 am
Location: Staten Island, NY

Post by narasimha »

Not sure if there is a difference in using DRS with Oracle specified as the "database type" and actually using the Oracle OCI stage?
Of course using DRS Stage with ODBC as the "database type" would be less performant.
Narasimha Kade

Finding answers is simple, all you need to do is come up with the correct questions.
DSguru2B
Charter Member
Charter Member
Posts: 6854
Joined: Wed Feb 09, 2005 3:44 pm
Location: Houston, TX

Post by DSguru2B »

You can also get faster loads by increasing the array size.
Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

I_Server_Whale wrote:
chulett wrote:Actually, the DRS stage set to 'Oracle' does use the native OCI interface under the covers from what I recall.
Totally agree :) . But still, doesn't the DRS stage have a similar overhead like the ODBC stage as compared to the native OCI interface? I was promoting the OCI stage as opposed to DRS in order to avoid the overhead costs.
I don't believe so, but then I've never put any time or effort into investigating the DRS stage. I just slavishly stick with the OCI ones. :wink:
-craig

"You can never have too many knives" -- Logan Nine Fingers
I_Server_Whale
Premium Member
Premium Member
Posts: 1255
Joined: Wed Feb 02, 2005 11:54 am
Location: United States of America

Post by I_Server_Whale »

narasimha wrote:Not sure if there is a difference in using DRS with Oracle specified as the "database type" and actually using the Oracle OCI stage?
Of course using DRS Stage with ODBC as the "database type" would be less performant.
I still think DRS = ODBC stage, except that the database type can be dynamic (assigned through a job parameter) in the DRS stage?
Anything that won't sell, I don't want to invent. Its sale is proof of utility, and utility is success.
Author: Thomas A. Edison 1847-1931, American Inventor, Entrepreneur, Founder of GE
narasimha
Charter Member
Charter Member
Posts: 1236
Joined: Fri Oct 22, 2004 8:59 am
Location: Staten Island, NY

Post by narasimha »

I_Server_Whale wrote:I still think DRS = ODBC stage, except that the database type can be dynamic (assigned through a job parameter) in the DRS stage?
If you specify the "Database type" as Oracle it uses the Native Interface and does not use the ODBC.
There is no involvement of ODBC in this case. IMHO
Narasimha Kade

Finding answers is simple, all you need to do is come up with the correct questions.
Post Reply