Hi all,
I'm not entirely sure if this could be connected to CA locking described by
@Ryan Clapp but I reported few weeks ago a defect which will be fixed in 2.0.9.1.
In this case, I'm using the REST API call, which is only reading data. Please see below the very shortened case description.
1.
[APAR PH19611 - 2.0.9.1] TM1 Server is dead locking when REST API Dimensions GET is called by TI
We introduced a new process that should run after the server has been restarted.
Unfortunately the TM1 server is deadlocking when a REST API "/api/v1/Cubes('CubeName')/Dimensions?$select=Name" request is called
directly after the source view definition in the prolog section in the TI.
This situation happens only if the model was restarted, and the process is running the first time.
If we kill the deadlocking tread and re-run the process, then it is not locking anymore till the next restart.
The process which is locking the model is running a REST Request using cURL to get the dimension names of the cube.
Please be aware that cURL is here not the problem, because we are able to reproduce the problem with python as well.
Additionally, to the above described case, I'm also experiencing crashes when using the REST API in a similar scenario. According to IBM, it should also be fixed in 2.0.9.1.
1. [APAR PH19605 - 2.0.9.1] TM1 Server is crashing when REST API combined with RunProcess
We introduced a new process that should run after the server has been restarted.
Unfortunately, the TM1 server is crashing if we using the new RunProcess() function and
executing a rest call, which is writing back data to the same model.
The process which is crashing the model is running a REST Request using cURL to write data to the same model.
Please be aware that cURL is here not the problem, because we are able to reproduce the problem with python as well.
9708 [] ERROR 2019-10-28 13:01:00.296 TM1.Lock Before image is NOT NULL Client, server is not stable
Kind Regards,
------------------------------
Tomasz Brzoza
Linde AG
Munich
------------------------------
Original Message:
Sent: Tue January 28, 2020 07:17 AM
From: STUART KING
Subject: CA threads causing lock contention
Hi Ryan,
Please see: https://www.ibm.com/support/pages/planning-analytics-server-logging-odataplanning-analytics-workspace
That debug logging will tell us exactly what Cognos Analytics is asking of the TM1 database. We should also take a lock at the Lock Exception debug logging to understand what objects are involved. The answer to what Cognos Analytics is doing will completely depend on the report design. I can't answer your question without seeing the REST API debug logging (and maybe TM1Top logging) but I can give you an example of why a read only type report can cause lock contention. When dynamic subsets are referenced in MDX the TM1 Server is actually building (writting) a metadata object. This can lead to lock contention depending on what dimension the dynamic subset is being used on. These lock might be less granular than you might expect. While a dynamic subset is built very quickly, the write lock will remain for the duration of the view execution that used the subset. For example, the subset may determine which elements to include in a matter of seconds, but if the view that used the subset takes 5 minutes to run, the lock is actually held for 5 minutes. Again, this is just one potential example of how a read only report can cause lock contention.
------------------------------
Stuart King
IBM Planning Analytics Offering Manager
Original Message:
Sent: Fri January 24, 2020 04:47 PM
From: Ryan Clapp
Subject: CA threads causing lock contention
Can anyone shed more light on what CA does when it connects to and queries TM1?
We assumed CA would be relatively harmless to connect to our production server, but we were very wrong. Within minutes CA threads were causing a large number of waits, blocking perspectives/pax reports, TI runs, and other connections. Plus none of the CA threads could be canceled.
Cognos Analytics reports and dashboards should simply read data from TM1, what else is it doing?
Does someone have a document that lays out what CA is doing to TM1 when it runs a report, establishes the first connection, or other common interactions?
------------------------------
Ryan Clapp
------------------------------
#PlanningAnalyticswithWatson