Page 1 of 1

bug or am I losing something?

Posted: Tue Sep 29, 2015 11:06 am
by stingo
Hi,

so as far as I know. the dependency between cubes is changed when:
System restarts
Rules are saved/recalc feeders
a view is opened

Now I have this case.
9480 [1a4] INFO 2015-09-29 09:10:43.447 TM1.Server TM1CubeImpl::ProcessFeeders: Computing feeders for base cube 'cube 1'.
9480 [1a4] INFO 2015-09-29 09:10:43.463 TM1.Server TM1CubeImpl::ProcessFeeders: Done computing feeders for base cube 'Cube1'.

No dependency calculated
After an hour I have:

5324 [] INFO 2015-09-29 10:00:13.730 TM1.Cube.Dependency Adding cube dependency: Cube 'Cube1' depends on cube '}ElementAttributes_Dim1'.
2276 [654] INFO 2015-09-29 10:00:13.839 TM1.Cube.Dependency Adding cube dependency: Cube 'Cube1depends on cube '}ElementAttributes_Dim1.
2276 [654] ERROR 2015-09-29 10:00:13.839 TM1.API Work unit operation failed due to lock error. Error code: 2

this happened when a chore was locking Dim1

System crash.

Is it a bug or am I losing something?

EDIT: Typos
EDIT 2: TM1 10.2.2 FP 3

Re: bug or am I losing something?

Posted: Tue Sep 29, 2015 12:16 pm
by qml
To answer your question: a TM1 server crash can never be explained away as 'by design', it's always a defect. Assuming, of course, that you had an actual server crash.

On your version, provided you don't have AutomaticallyAddCubeDependencies=F, dependencies should be detected and added automatically on server start or rule recompile. It is not a perfect mechanism, and probably in some cases a read or write operation is needed on the cube to establish a dependency (e.g. user refreshing a cube view or a data load running), like in older versions. I would recommend (still, even on 10.2.2.x) trying to establish all dependencies via a set of chored up AddCubeDependency() calls at server startup in order to avoid nasty locking surprises.

Re: bug or am I losing something?

Posted: Tue Sep 29, 2015 12:43 pm
by stingo
qml wrote:To answer your question: a TM1 server crash can never be explained away as 'by design', it's always a defect. Assuming, of course, that you had an actual server crash.

On your version, provided you don't have AutomaticallyAddCubeDependencies=F, dependencies should be detected and added automatically on server start or rule recompile. It is not a perfect mechanism, and probably in some cases a read or write operation is needed on the cube to establish a dependency (e.g. user refreshing a cube view or a data load running), like in older versions. I would recommend (still, even on 10.2.2.x) trying to establish all dependencies via a set of chored up AddCubeDependency() calls at server startup in order to avoid nasty locking surprises.

bad luck!