Author Topic: !!PLEASE HELP!! BAD problem with replicas  (Read 2861 times)

EricP

  • EA User
  • **
  • Posts: 122
  • Karma: +0/-0
    • View Profile
!!PLEASE HELP!! BAD problem with replicas
« on: December 03, 2009, 08:31:25 am »
I really, Really, REALLY need help on trying to get this design masters - replicas stuff to work.

I made replicas for myself and the other software engineer on the job, we worked on them for a few days, now when I try to sync with the design master, I can sync the first replica with the master successfully (doesn't matter which one I do first), then when I do the second one I get conflicts.  I get a Windows error box that says:

"There are synchronization conflicts with replica <path.to.replica.file>.  Open <path.to.replica.file> to resolve these conflicts."

I open up the replica file and I get ABSOLUTELY NO indication at all what I need to do to fix the conflict.  No hints, no pointers, no help of any kind, only a dialog box that says there is a conflict with no idea where the conflict is.

This is screwing up an important and expensive project like you wouldn't believe.  Earlier, before the problem got this critical, I posted a couple of requests for help on the Sparx registered users support request form, and so far no reply.  I really need to know how to resolve these kinds of sync conflicts before we can continue on the project, and every day puts us farther behind schedule.

I know that Sparx support people don't necessarily read this forum regularly (not really sure why... I would think that questions answered here in public where many people can see and find the answers would benefit both Sparx and its customers), so while I'm waiting and hoping for a workable answer from Sparx, I'm also hoping that someone here has dealt with this problem and has a solution.

Thanks...

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 7745
  • Karma: +165/-21
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: !!PLEASE HELP!! BAD problem with replicas
« Reply #1 on: December 03, 2009, 06:53:01 pm »
Eric,

Could you please exlain in a bit more detail what you mean with "design master" and "replica"?
I don't recall seeing those terms ever before, not on the forum, and not in the EA user documentation.

Geert

PS. Does it have to do with the synchronisation of the eap databases?

EricP

  • EA User
  • **
  • Posts: 122
  • Karma: +0/-0
    • View Profile
Re: !!PLEASE HELP!! BAD problem with replicas
« Reply #2 on: December 03, 2009, 10:26:13 pm »
Quote
Does it have to do with the synchronisation of the eap databases?

Good morning, Geert.

Yes, that's it exactly.  The terms "design master" and "replica" are used within the EA documentation to describe the process.

You go to Tools->Manage .EAP file->Make Design Master to convert an EA database (which we could call a "standalone" EA database for lack of a better term) into a Design Master.  Then you can go to Tools->Manage .EAP file->Create New Replica to create a replica.  You make as many of those replicas as you need and distribute one to each member of the team who needs one, then when you get their changes back you use Tools->Manage .EAP file->Synchronize Replicas to merge them back into the design master.

The Synchronize Replicas part is what is causing all the problem.  I get conflicts, which is expected, but I get absolutely no hint as to where the conflicts are or how to fix them.  There is a Tools->Manage .EAP file->Resolve Replication Conflicts, but all it does is give you a dialog with some VERY cryptic entries that are impossible to understand for just about everybody except the people who designed and wrote the system.

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 7745
  • Karma: +165/-21
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: !!PLEASE HELP!! BAD problem with replicas
« Reply #3 on: December 03, 2009, 11:33:11 pm »
Eric,

I personally would never opt for the design-master/replica setup.
I think you fulfill the same requirements with a version control setup.
The advantages of this setup is that you don't have conflicts anymore because of the exclusive checkouts, and you can just as easily work in an environment where the EA databases are distributed across remote locations.

If I were you I would re-consider this whole setup and look into the VC alternative.

Now for you immediate issue, have you tried to export the conflicting package to xmi and use the build-in compare tool to find the conflicts?

The compare tool is far from perfect, but I'm guessing it will give you a much better indication of the differences between the different databases then the cryptic messages from the synchronize process.

With the compare tool you can even import some of the differences into the model, which might help to resolve the synchronisation issues you have.

Geert

EricP

  • EA User
  • **
  • Posts: 122
  • Karma: +0/-0
    • View Profile
Re: !!PLEASE HELP!! BAD problem with replicas
« Reply #4 on: December 04, 2009, 12:58:58 am »
Quote
I personally would never opt for the design-master/replica setup.  I think you fulfill the same requirements with a version control setup.  The advantages of this setup is that you don't have conflicts anymore because of the exclusive checkouts, and you can just as easily work in an environment where the EA databases are distributed across remote locations.

We have the database under version control using Subversion, and while that defaults to concurrent checkouts, we could choose locking checkouts if we wanted to.  But, we can't do that.  We're both heavily into design work on this project and we can't live with having only one person at a time able to work on the design.  That's why I don't mind if I run into conflicts, as long as I get some kind of a hint as to where they are so I can fix them.

Quote
Now for you immediate issue, have you tried to export the conflicting package to xmi and use the build-in compare tool to find the conflicts?

No, haven't tried that yet.  I just generated an XMI and couldn't find anything in there that I could make any sense out of, then I tried the EA compare tool (Tools->Data Management->Project Compare) and got a cryptic and undecipherable list of elements that looked like the output of Tools->Manage .EAP File->Resolve Replication Conflicts.

What I don't understand is why it's so difficult to get any kind of an answer from Sparx support on this.  For some weeks now I have been asking the general question of how we're supposed to validate the output of the replica-synchronize process, and have gotten no answer at all.  I've been an EA user, off and on (would use it on a project and then not use it again for a year or two because it wouldn't be needed) almost since EA first came out.  It was not so long ago at all that a request for help to Sparx support resulted in an almost immediate and usually very useful answer.  Maybe they're getting too big and too busy.  I certainly hope not... I mean I certainly wish them all the success in the world but yet with growth comes inertia and it becomes harder and harder to get support.  I certainly hope that's not what's happening here.

I was going to call them this morning but I mis-calculated the time difference between here and there, so I plan to call them this evening (tomorrow morning, their time).

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 7745
  • Karma: +165/-21
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: !!PLEASE HELP!! BAD problem with replicas
« Reply #5 on: December 04, 2009, 01:24:05 am »
Eric,

Integrating EA with VC does not mean storing the database in a VC.
In EA each package is controlled separately in the VC by means of an xmi file.
If you integrate the VC with EA then EA will do the checkin/out for you, using exclusive locks.
So you can still work together with a lot of people on the design, only not with multiple people on the same package (lowest level of package)

The project compare is not what you are looking for to use the compare tool. You can export a package to xmi, and then compare that xmi file with a package in EA.
- Right click on package to compare
- Select Package Control/Compare to XMI file

That will give you an overview of the new/changed/deleted items, and it will indicate what exactly is different.

As for the Sparx support, I can't say that I have any complaints on that area. I've logged several support/bug reports recently and I always got a response within a day or two.

Maybe this is just too difficult, even for the average Sparxian :-/

Geert

EricP

  • EA User
  • **
  • Posts: 122
  • Karma: +0/-0
    • View Profile
Re: !!PLEASE HELP!! BAD problem with replicas
« Reply #6 on: December 04, 2009, 01:37:06 am »
Quote
Now for you immediate issue, have you tried to export the conflicting package to xmi and use the build-in compare tool to find the conflicts?

I meant to ask... is there a compare tool that works on the XMI files?  Only compare tool I know of works with .EAP and DBMS (or is the XMI file considered DBMS?).  I tried that and got a output consisting of Table (t_attribute, t_attributeconstraints, stuff like that), Source Records, Target Records, and Difference.  Absolutely no way of knowing how any of that relates to the drawings.

EricP

  • EA User
  • **
  • Posts: 122
  • Karma: +0/-0
    • View Profile
Re: !!PLEASE HELP!! BAD problem with replicas
« Reply #7 on: December 04, 2009, 01:50:30 am »
Quote
Integrating EA with VC does not mean storing the database in a VC.  In EA each package is controlled separately in the VC by means of an xmi file.

By "package" do you mean UML packages, or something else?

I haven't been using UML packages, because of an issue I had with maintaining connections across packages, about which I never could get an explanation from Sparx that I could understand.  What I am doing is to maintain a composite diagram showing all of my classes (what someone else here referred to as the "kitchen sink" diagram) and then create other diagrams each with the subsets I need, placing the classes there as links.  I really don't know (and so far can't find in the help) any way to store that in a VC system except as the master database file.


Quote
The project compare is not what you are looking for to use the compare tool. You can export a package to xmi, and then compare that xmi file with a package in EA.
- Right click on package to compare
- Select Package Control/Compare to XMI file

(Note: You'll find a question on this that appears after your latest note... I sent that before I saw this.)

I do have a few UML packages in my component diagram, and I tried right clicking on one of those and could not find anything that looked like "package control / compare to XMI".

Quote
As for the Sparx support, I can't say that I have any complaints on that area. I've logged several support/bug reports recently and I always got a response within a day or two.

Yeah, I always used to get that too, and I have spread far and wide what fast and expert support Sparx provides.  That's what makes this so mysterious and disturbing.  As you say, maybe it's just too difficult... in which case, why provide the replica / synchronize capability at all if it is so fragile and so hard to use?


Geert Bellekens

  • EA Guru
  • *****
  • Posts: 7745
  • Karma: +165/-21
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: !!PLEASE HELP!! BAD problem with replicas
« Reply #8 on: December 04, 2009, 03:03:15 am »
Yes, by "package" I mean UML package.
I think I know what you mean by the issue with maintaining cross-package connections, but I don't think that is necessarily an issue anymore.

About the issue with the "package control" option, I think you have to select the package in the project browser, not in a diagram.

Geert

EricP

  • EA User
  • **
  • Posts: 122
  • Karma: +0/-0
    • View Profile
Re: !!PLEASE HELP!! BAD problem with replicas
« Reply #9 on: December 04, 2009, 03:39:29 am »
Quote
About the issue with the "package control" option, I think you have to select the package in the project browser, not in a diagram.

OK, that seems to have worked, although when I compared it with an XMI file I generated earlier, I got "An error occurred during the compare process", with no indication of what the error was.  Of course, that was comparing a small package against the whole of the project's XMI file so I wouldn't expect it to work all the way through.

No immediately clear way I can see to generate an XMI file from just a package, but I'll research that in the Help.

In any case, we're a ways along on this project without benefit of packages, and I'm not sure how to go about packing up everything into packages at this late date, something else I tried to get an answer to from Sparx support and never got an answer... this was on another project when I was reverse engineering some C++ code and used EA's Source Code Engineering to generate a class diagram from a bunch of .h files.  What I got was an unholy mess with dozens of classes, just like I expected, and during the manual cleanup I asked Sparx how to arrange things in packages and never did get it figured out.

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 7745
  • Karma: +165/-21
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: !!PLEASE HELP!! BAD problem with replicas
« Reply #10 on: December 04, 2009, 04:50:41 am »
Export to xmi: right-click on package, "import export"/"export to xmi"

Geert

EricP

  • EA User
  • **
  • Posts: 122
  • Karma: +0/-0
    • View Profile
Re: !!PLEASE HELP!! BAD problem with replicas
« Reply #11 on: December 04, 2009, 05:02:39 am »
Quote
Export to xmi: right-click on package, "import export"/"export to xmi"

I figured it should be something like that, but I don't have any "import export" option when right clicking on a package... options I get are Properties, Open in Relationship Matrix, Documentation, Open Package, Create Linked Document, Add, Find, Feature Visibility, Lock Element, Selectable, Dockable, Appearance, Z-Order, UML Help, and Delete.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 5882
  • Karma: +71/-78
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: !!PLEASE HELP!! BAD problem with replicas
« Reply #12 on: December 04, 2009, 09:45:23 am »
Quote
Quote
Export to XMI: right-click on package, "import export"/"export to XMI"

I figured it should be something like that, but I don't have any "import export" option when right clicking on a package... options I get are Properties, Open in Relationship Matrix, Documentation, Open Package, Create Linked Document, Add, Find, Feature Visibility, Lock Element, Selectable, Dockable, Appearance, Z-Order, UML Help, and Delete.
Eric,

I think you're right clicking on the package in the diagram.  You need to right click on the package in the browser.

Under EAUI (EA's Unique interface) the two actions have separate sets of options...

Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

RoyC

  • EA Administrator
  • EA Practitioner
  • *****
  • Posts: 1157
  • Karma: +8/-3
  • Read The Help!
    • View Profile
Re: !!PLEASE HELP!! BAD problem with replicas
« Reply #13 on: December 04, 2009, 10:04:53 am »
To get the import/export option, right-click on the package name in the Project Browser.

That context menu also has the options for managing Baselines (to compare the current package with a snapshot of the package taken earlier), comparing the package with an XMI file (for non version controlled packages) and comparing the package with the most recent package file in the version control system (version-controlled packages).

I checked with Support, and they do have some recent bug reports from you. I think they have asked you to provide a copy of your .eap file for examination - is that the case?

You are covering a lot of ground in this thread. Without knowing the restrictions or flexibility of your work environment, it's hard to know how to help; Geert is doing a fantastic job though, and his advice is excellent. (Just don't ask him about ducks and trains - unless you have had a few beers to fortify you!).
Best Regards, Roy

EricP

  • EA User
  • **
  • Posts: 122
  • Karma: +0/-0
    • View Profile
Re: !!PLEASE HELP!! BAD problem with replicas
« Reply #14 on: December 04, 2009, 10:23:04 am »
Quote
I checked with Support, and they do have some recent bug reports from you. I think they have asked you to provide a copy of your .eap file for examination - is that the case?

Good evening (morning), Roy.

No, I have not heard anything from Support on this topic or on its predecessor topic of some time ago, when I asked how I would go about validating that the replicate / synchronize worked correctly and didn't introduce any unwanted changes in the database.

I finally called Sparx on the phone and spoke with Scott who is going to look into it.

Quote
You are covering a lot of ground in this thread. Without knowing the restrictions or flexibility of your work environment, it's hard to know how to help; Geert is doing a fantastic job though,

Yes, I know, I let things get a little off-topic, sorry about that.  The one thing that I really need to know is, when doing a replica resync to the design master, and I get the inevitable conflicts (and I know and accept that I will get them from time to time), how can I go about fixing or even finding the conflicts?  I get this cryptic list of database tables and record and who-knows-what, and an invitation to select the original or overwrite with the conflict, and I have absolutely no idea what any of it means or how to select the right one.  There really has to be a way to relate the conflict to a point on the diagram so that I can compare the original vs the conflict and know what I'm doing when I select the one I want to keep.  If I can solve that problem then things should be OK.

Sending a copy of my EAP file will be difficult because it's proprietary stuff and I don't have permission from my client to send it... if you really need it I'll ask my client and see if they will allow it.  But this is really a general-type question... if one gets re-sync conflicts on ANY database, how is one supposed to know where to look and how to interpret the conflict?

And yes, Geert is great!  If he works for you, give him a raise.  If he doesn't, hire him.  :-)