Dear ODI experts,
I was hoping you could provide some info related ODI load process and the threads it creates on the server.
In our environment, we have implemented realtime data loading using ODI. We've developed our own process based on the ODI JKM.(Not using JKM or log miner).
we are using GG and ODI.
we are using "ODI wait for data" to check of any data is available in the table and process the delta. The process is working fine but we see that on unix side it's creating multiple threads.
Ex: I've one Dimension that's running all the time.. ODI wait for data is in wait mode and keeps checking the table for any rows every minute.
but when I checked on the unix side.. the odi process has around 66 threads.
I am trying to understand what these 66 processes are and what they are doing when it's in wait mode.
Please assist me if you have any information re this particular scenario.
I am not sure this will help or not. We saw same situation in our project at that time database connections were increasing linearly.
Everytime ODI is creating new connection when accessing the database, may be this process also starting Unix thread on OS side.
We raised SR with oracle about this, but didn't get any solution. This is the architecture of ODI. I think connection process improved in ODI 12c, even Oracle DB12c also providing connection pooling feature.
Thanks so much for the information. I've checked the db connections to see if these threads are trying to make a db connections..but seems like its not a db connection thread.( I maybe wrong)
the thread looks like its connecting to master and work repository(parametrs from odiparams.sh file) and then hitting all these java config files and at the end hitting the startscen.sh by passing the variables.
do you think there is some type of setting in these xml files that ODI has to process thesemany no .of threads?
thanks again for sharing your thoughts.