DB connectivity lost during job execution

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
sanoojk
Participant
Posts: 36
Joined: Wed Dec 19, 2007 3:54 am

DB connectivity lost during job execution

Post by sanoojk »

I have developed a parallel job to load data from a file to the target table .

The transformation includes lookup on a table with 29604 records. This job will be executed many times a day. During some execution , the job aborts stating the below error message in the reference DB stage:

ODBC_align_dim,0: ODBC function "SQLFetch" reported: SQLSTATE = HY000: Native Error Code = 20: Msg = [Vertica][VerticaDSII] (20) An error occurred during query execution: server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
(CC_OdbcDBStatement::dbsFetch, file CC_OdbcDBStatement.cpp, line 1,429)


Both my target DB and reference table DB is vertica. Since there is no native connectivity stage available for vertica DB , we are using the ODBC connector stage.

The job failure happens regardless of the data volume or excution time. Some times the job processes 5lakhs records successfully and fails when processing just 1K records.

WE have other jobs with similar design which executes parallely with this job. These jobs does not show this failure.

Can anybody tell me if you faced similar issue in your environment. Also please provide me a solution for this issue
asorrell
Posts: 1707
Joined: Fri Apr 04, 2003 2:00 pm
Location: Colleyville, Texas

Post by asorrell »

Normally this behavior is associated with some sort of a timeout occurring, but what you described doesn't fit most of those problems. I'd suggest trying the following:

1) Turn on ODBC tracing and run the job to see if you can get any more detailed information on the problem.
2) Check with the Vertica database admin and see what shows up in their logs at the time of the abort.

Here's the IBM link for how to turn on ODBC tracing. Be careful, it turns on for ALL active jobs, so the best way to use it is when nothing else is running on the system and you can just run the problematic job. That makes the log smaller and easier to read. Also, don't forget to turn it off as it degrades performance while it is on.

http://www-01.ibm.com/support/docview.w ... swg2142902
Andy Sorrell
Certified DataStage Consultant
IBM Analytics Champion 2009 - 2020
Post Reply