Page 1 of 1

Attempt to acquire lock during commit or rollback

Posted: Sun Mar 22, 2020 3:01 pm
by vaonlydrb
Hi TM1 Guru's,

I'm having an issue currently where running a TI process to "Recreate" a dimension results in the below error message;

15780 [2] ERROR TM1.Lock Attempt to acquire lock during commit or rollback
15780 [2] FATAL TM1.Server Server terminated

This is a stand-alone TI process and not part of any chore. The process is to recreate via ODBC. We want to recreate the dimension (list of projects with multiple hierarchy), where projects that are no longer active should move from the "Active Projects" folder to "Closed Projects" folder. The TI process runs successfully if the "Update" option is selected (under Maps --> Dimensions --> Action tab).

Any help here is appreciated!

TIA
DRB

Re: Attempt to acquire lock during commit or rollback

Posted: Sun Mar 22, 2020 3:24 pm
by Wim Gielis
Please post the full code of the process, if you want any meaningful replies.

Re: Attempt to acquire lock during commit or rollback

Posted: Mon Mar 23, 2020 6:10 am
by vaonlydrb
This is a simple TI process without any manual manipulation. All codes are system created

Prolog


#****Begin: Generated Statements***
DIMENSIONDELETEALLELEMENTS(‘Project List’);
DIMENSIONSORTORDER('Project List','BYINPUT','ASCENDING','BYHIERARCHY','ASCENDING');
#****End: Generated Statements****

Metadata

#****Begin: Generated Statements***
DIMENSIONELEMENTINSERT('Project List','',ProjectID,'n');
DIMENSIONELEMENTINSERT('Project List','',TOTAL,'c');
DIMENSIONELEMENTINSERT('Project List','',Group,'c');
DIMENSIONELEMENTINSERT('Project List','',Office,'c');
DIMENSIONELEMENTINSERT('Project List','',Manager,'c');
DIMENSIONELEMENTINSERT('Project List','',ProjectFolder,'c');
DIMENSIONELEMENTCOMPONENTADD('Project List',TOTAL,Group,1.000000);
DIMENSIONELEMENTCOMPONENTADD('Project List',Group,Office,1.000000);
DIMENSIONELEMENTCOMPONENTADD('Project List',Office,Manager,1.000000);
DIMENSIONELEMENTCOMPONENTADD('Project List',Manager,ProjectFolder,1.000000);
DIMENSIONELEMENTCOMPONENTADD('Project List',ProjectFolder,ProjectID,1.000000);
#****End: Generated Statements****

Data


#****Begin: Generated Statements***
ATTRPUTN(IsDirectProject,'Project List',ProjectID,'IsDirectProject');
#****End: Generated Statements****

Re: Attempt to acquire lock during commit or rollback

Posted: Mon Mar 23, 2020 6:34 am
by vaonlydrb
Few additional points - When the TI process is run, it shuts down the server immediately and the log file has only the below entries. The server has to be manually restarted.

15780 [2] ERROR TM1.Lock Attempt to acquire lock during commit or rollback
15780 [2] FATAL TM1.Server Server terminated

In order to troubleshoot this, I duplicated the TI process (with an exact setup) to "recreate" another dimension and it runs fine. The new dimension created for testing is not part of any cube. Obviously, the lock contention has to do with the cubes & rules/feeders. I also created a cube (basically has "1" to indicate the TI process will be run) to disable the rules in others cubes when this TI process is run. This doesn't seem to work either and I'm running out of ideas. We are at testing stage and ready to go-live soon.

Re: Attempt to acquire lock during commit or rollback

Posted: Mon Mar 23, 2020 8:15 am
by Wim Gielis
Hello,

I have no immediate cure, but first get rid of the DIMENSIONDELETEALLELEMENTS function. Use a generic process to unwind the dimension structures, Bedrock for example has such process (in case you haven't written this one yourself).

What rules do you typically have ? If I see TI wizard generated code statements, I suspect that rules and feeders would not be written in an optimal way. Can you confirm that these are validated / correct / efficient ?