We are using Informatica PDO to load TD tables and while running multiple sessions concurrently, we encountered an issue wherein the processes were failing due to a deadlock on dbc.userrights table. I surfed the net and stumbled upon an article where it was indicated that since the same userid was being used by multiple sessions concurrently, dbc.userrights was being accessed and updated with the details of this userid resulting in the deadlock and hence it was suggested to use different userids for the different concurrent sessions so that dbc.userrights does not enter a deadlock (pertaining to a particular userid).
So, my question is that - is this true even with concurrent BTEQ sessions using the same userid ? In other words, would that result in a deadlock on the dbc.userrights also since concurrent sessions will be using the same userid to update the same table even if we (theoritically) ensure a row-hash lock on the table ?
A deadlock on dbc.AccessRights will only happen when multiple sessions for a single user create/drop objects.
A single BTEQ job using multiple session will not deadlock on dbc.AccessRights, but might easily deadlock on the target table for a PACK > 1.