Occasionally stuck making ODBC connection
Posted: Wed Jul 17, 2019 4:50 pm
Hi everyone
We're struggling with the ODBC connection of TM1 (10.2) to our database (IBM Netezza N3001-002). Sometimes (but not very often) a process that opens an ODBC connection hangs. This happens both when using ODBC as source as well as doing it in code in the Prolog.
Some details:
- It doesn't happen often and it’s very difficult to pinpoint if/when it will happen. I wrote a process that opens an ODBC connection, reads a few lines, and closes it, and do that in a loop for 1000 times without a problem. Other times just a single query fails.
- The TM1 logs only show that a process has been started. The corresponding ID is then only seen again in the logs with the message that the process is running for a long time, or mentioned by other processes that are waiting for that ID to finish.
- No trace of the failing connection can be found in any of the logs on the Netezza. I’m not so experienced with TM1, but I am with Netezza. So I’m pretty sure the connection is never actually made.
- The TM1 server and the Netezza are in the same subnet and should communicate more or less directly (no firewall; some switches are possible of course).
- There does not seem to be a relation between the error occurring and the level of activity on either machine.
This seems to be some kind of network problem, but I have no idea how to pinpoint the exact issue.
The big problem is that when this occurs the process hangs indefinitely blocking every following process.
Does anybody recognize this kind of behavior?
Is there a way to make TM1 not block indefinitely but try again?
Thanks in advance for all ideas and suggestions
Joris
We're struggling with the ODBC connection of TM1 (10.2) to our database (IBM Netezza N3001-002). Sometimes (but not very often) a process that opens an ODBC connection hangs. This happens both when using ODBC as source as well as doing it in code in the Prolog.
Some details:
- It doesn't happen often and it’s very difficult to pinpoint if/when it will happen. I wrote a process that opens an ODBC connection, reads a few lines, and closes it, and do that in a loop for 1000 times without a problem. Other times just a single query fails.
- The TM1 logs only show that a process has been started. The corresponding ID is then only seen again in the logs with the message that the process is running for a long time, or mentioned by other processes that are waiting for that ID to finish.
- No trace of the failing connection can be found in any of the logs on the Netezza. I’m not so experienced with TM1, but I am with Netezza. So I’m pretty sure the connection is never actually made.
- The TM1 server and the Netezza are in the same subnet and should communicate more or less directly (no firewall; some switches are possible of course).
- There does not seem to be a relation between the error occurring and the level of activity on either machine.
This seems to be some kind of network problem, but I have no idea how to pinpoint the exact issue.
The big problem is that when this occurs the process hangs indefinitely blocking every following process.
Does anybody recognize this kind of behavior?
Is there a way to make TM1 not block indefinitely but try again?
Thanks in advance for all ideas and suggestions
Joris