Page 1 of 1

DimensionElementInsertDirect

Posted: Thu May 16, 2013 1:28 pm
by ovo4fev
This new function can be used in the data tab. Does anyone know if there are any issues around lock contention. I know traditionally it has been a good idea to separate metadata and data updates, since with PI data updates would not cause contention.

If I include metadata updates on the data tab (along with data) using this function, could I get any problems or is this now solved since the update is directly committed to the dimension.

Thanks!

Re: DimensionElementInsertDirect

Posted: Thu May 16, 2013 2:22 pm
by qml
From my testing I conclude that DimensionElementInsertDirect puts a lock on the affected dimension until the entire process finishes. Because of that I think this function is not nearly as neat as it could be. Basically, it only removes the need to run the Metadata procedure, potentially speeding the process up in some cases, but it does not get rid of the lock contention problem.

Re: DimensionElementInsertDirect

Posted: Fri May 17, 2013 9:21 am
by ovo4fev
Thank you Kamil.

Re: DimensionElementInsertDirect

Posted: Fri May 17, 2013 8:51 pm
by PlanningDev
What about a set of processes chained together? Would it release the metadata lock for instance if you were to have a wrapper process that kicked off a dimension update process then a data update process?

Re: DimensionElementInsertDirect

Posted: Sat May 18, 2013 7:31 pm
by ovo4fev
PlanningDev wrote:What about a set of processes chained together? Would it release the metadata lock for instance if you were to have a wrapper process that kicked off a dimension update process then a data update process?
Yes, in 10.1 there is an option on chores for Multi-Commit. I think this will now release locks between processes.

Re: DimensionElementInsertDirect

Posted: Sun May 19, 2013 3:05 pm
by PlanningDev
I was wondering if it created similar functionality to multi commit without using a chore. Actually hoping it did but I figured it didn't. The bad thing about chores is you can't execute them from a process which means they aren't very good if you are using tm1runti.exe