Author Topic: Slow SysML ibd diagram with external properties (parts)  (Read 329 times)


  • EA Practitioner
  • ***
  • Posts: 1210
  • Karma: +37/-2
    • View Profile
Slow SysML ibd diagram with external properties (parts)
« on: July 20, 2022, 11:34:45 pm »

I have a SysML project with a custom MDG installed (stereotyped blocks).
When I open an internal block diagram (located under a stereotyped block), it takes a while before it's visible. The diagram contains specific parts/properties which are located under a separate package (they were not generated from composition links on a bdd).
If I create a new ibd and run the synchronize struct. elements to only show the block's part based on the bdd, it works well.
I found out that the issue is due to the use of external properties in SysML ibds. If I save the ibd, EA is sometimes stuck.

I looked at the PCS logs in DEBUG mode and found the following
[DEBUG]:   Thread 85  On msdasql.1:anonymous@mydb ATTEMPT Opening query:    select * from t_xref where Client='{<....>}'  -> the guid matches a port under a custom part
[WARNING]: Thread 85  Exception in CFileStream::Write while attempting to write to memory file

There are more than 30k t_xref entries where Client has this guid. It doesn't seem right.
I cleaned the db to find that other ports have similar high number of references. It seems that deleting all entries in t_xref for all concerned guids (less than 10) has fixed the issue.
I don't know how so many entries have been generated and if deleting all the t_xref entries will have an impact.

Note: I ran the integrity check prior to do the above.

Has anyone seen this issue before ?

Blog: | Free utilities addin: