Parallel job execution abort

Post questions here relative to DataStage Enterprise/PX Edition for such areas as Parallel job design, Parallel datasets, BuildOps, Wrappers, etc.

Moderators: chulett, rschirm, roy

Post Reply
monaz
Participant
Posts: 98
Joined: Sat Aug 23, 2008 3:14 am

Parallel job execution abort

Post by monaz »

Hi All,

I am using 4 datasets and a funnel stage to join all of them and then the transformer stage calling and external routine(C programming routine)
in the stage variable and load into ODBC stage to load in the table.

I am getting the below fatal and the job is aborting after inserting new records into table.

For example if from the source i am 3000 records then i its loading till 2000 in the table and aborting by below fatal'

node_node2: Fatal Error: Subprocess appears to be writing binary data as error messages.
65536 binary bytes written to stdout or stderr of a subprocess operator

main_program: The Section Leader on node node2 has terminated unexpectedly.

node_node1: Fatal Error: Subprocess appears to be writing binary data as error messages.
65536 binary bytes written to stdout or stderr of a subprocess operator

Can anyone please guide me on this.

I am new to parallel jobs dont know the root cause for this.
mahadev.v
Participant
Posts: 111
Joined: Tue May 06, 2008 5:29 am
Location: Bangalore

Post by mahadev.v »

Looks like a problem with the external c++ routine to me. What does this routine do? Copy paste the code here.
"given enough eyeballs, all bugs are shallow" - Eric S. Raymond
monaz
Participant
Posts: 98
Joined: Sat Aug 23, 2008 3:14 am

Post by monaz »

mahadev.v wrote:Looks like a problem with the external c++ routine to me. What does this routine do? Copy paste the code here.
Thanks Mahadev here is the C code
int get_mapping_code ( entry_cd,trans_acct_hist_cd,batch_cd,debit_credit_cd,security_adp_nbr,tran_total_amt,share_trans_qty,desc_sec_line1_txt,desc_trans_sec_txt )
char *entry_cd,*trans_acct_hist_cd, *batch_cd, *debit_credit_cd, *security_adp_nbr, *desc_sec_line1_txt, *desc_trans_sec_txt;
float tran_total_amt,share_trans_qty;
{
char *para[10][100];
int i = 0,k = 1,j,max_rules=0,flag=0;
int pos_val1,pos_val2;
float total_amt,qty;

char *delims = ",";

char *configpara[80];
char configInput[180];
strcpy((char *)para[0],(char *)entry_cd);
strcpy((char *)para[1],(char *)trans_acct_hist_cd);
strcpy((char *)para[2],(char *)batch_cd);
strcpy((char *)para[3],(char *)debit_credit_cd);
strcpy((char *)para[4],(char *)security_adp_nbr);
strcpy((char *)para[5],(char *)desc_sec_line1_txt);
strcpy((char *)para[6],(char *)desc_trans_sec_txt);

total_amt = tran_total_amt;
qty = share_trans_qty;


flag = 0;
i = 0;
strcpy(configInput,"178,2,entry_cd,=, ,trans_acct_hist_cd,=,A,");
printf("Line:%s",configInput);
configpara[0] = strtok(configInput, ",\n");
while(configpara != NULL) {
i++;
configpara = strtok(NULL, ",\n");
}


max_rules = atoi(configpara[k]);
/* Checking for 2 business rules */
if ( max_rules == 2 )
{
pos_val1 = get_position_param(configpara[k+1]);
pos_val2 = get_position_param(configpara[k+4]);
/*printf("para[pos_val1]:%s,configpara[k+3]:%s\n",para[pos_val1-1],configpara[k+3]);
printf("para[pos_val2]:%s,configpara[k+6]:%s\n",para[pos_val2-1],configpara[k+6]); */

if ( strcmp((char*)para[pos_val1-1],(char*)configpara[k+3]) == 0 )
{
if ( strcmp((char*)para[pos_val2-1],(char*)configpara[k+6]) == 0 )
{
flag = 1;
if ( flag == 1 )
return atoi(configpara[k-1]);
}
}
}/* End of conditions two */

return 99999;
} /* End of mapping code function */

/* Get the input position parameter. */

int get_position_param( configval )
char *configval;
{
if ( strcmp(configval,"entry_cd") == 0)
return 1;
if ( strcmp(configval,"trans_acct_hist_cd") == 0)
return 2;
if ( strcmp(configval,"batch_cd") == 0)
return 3;
if ( strcmp(configval,"debit_credit_cd") == 0)
return 4;
if ( strcmp(configval,"security_adp_nbr") == 0)
return 5;
if ( strcmp(configval,"tran_total_amt") == 0)
return 6;
if ( strcmp(configval,"share_trans_qty") == 0)
return 7;
if ( strcmp(configval,"desc_sec_line1_txt") == 0)
return 8;
if ( strcmp(configval,"desc_trans_sec_txt") == 0)
return 9;

}
dsuser_cai
Premium Member
Premium Member
Posts: 151
Joined: Fri Feb 13, 2009 4:19 pm

Post by dsuser_cai »

check your data type.
Thanks
Karthick
Rakesh311
Participant
Posts: 36
Joined: Wed Aug 04, 2010 10:53 pm
Location: Banglore
Contact:

Post by Rakesh311 »

Hi

I am also experiancing same issue.
Can you guys help me in resolving this?

Thanks
Rakesh
rAKESH
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Similar? Possibly. Same? No.

Please start your own post and give us the gory details of your issue.
-craig

"You can never have too many knives" -- Logan Nine Fingers
Post Reply