Hi,
We are running SSAS Tabular (2019, same issue on 2017)
We have an environment with one server acting dedicated as a processing server (we can call it server 1) and another one dedicated for user query load (we can call it server 2).
Multiple times during the day the cube at server 1 is being processed and then there is a standard SSAS synchronization synching the changes out to server 2.
The synch is perform at the same time when there is query load on server 2.
This scenario often works fine, however some times the synchronization job fails and the error messages below can be found in msmdsrv.log at server 2.
Message: File or folder '\?\xx:\OLAP\Data\my_cube.version.db' could not be moved. It may be locked by indexing or antivirus software. (Source: \?\xx\msmdsrv.log, Type: 3, Category: 289, Event ID: 0xC1210021)
Message: An error occurred at critical stage of transaction; we intercepted it, but have to terminate the process. (Source: \?\L:\OLAP\Log\msmdsrv.log, Type: 3, Category: 289, Event ID: 0xC1210058)
The ForceCommitTimeout is set to the default value = 30000 = 30 sec.
Is this locking issue due to long running user queries or can it be some other problem? I thought that setting ForceCommitTimeout to 30 sec would mean that any query running against the cube would be killed after that time period.