Author Topic: Checked out package overvritten by GetAllLatest  (Read 2166 times)

Simen

  • EA Novice
  • *
  • Posts: 7
  • Karma: +0/-0
    • View Profile
Checked out package overvritten by GetAllLatest
« on: March 18, 2010, 07:44:06 am »
Hi, today we discovered a potential critical problem with version control. We have a SQL Server Repository configured with subversion version control. We've also got User Security configured.

What happened was that user A had a package checked out and was working on that package.

User B ran a combination of resynch package status and GetAllLatest and after checking in other packages from a local eap repository used for working out of office.

Then we discovered that user A's package had been overwritten (he got a message about the model was changed and press ok to update). And he lost all his work since last checkin. And, the package changed status from checked out to check in. The latter changed when he did a resynch VC status but all changes was still gone.

We've immediately stopped all usage of local Copies and GetAllLatest until issue is resolved. Seems like a bug or design flaw. The GetAllLatest was set to import only changed packages.

I'm aware of the note in the help file regarding resynch and packages checked out by other users, but our issue is not the same as noted in the help file from my understanding.

Anyone experienced the same behaviour?

Simen

  • EA Novice
  • *
  • Posts: 7
  • Karma: +0/-0
    • View Profile
Re: Checked out package overvritten by GetAllLates
« Reply #1 on: March 18, 2010, 07:34:05 pm »
And forgot to mention, we're usinig EA 7.5.850 and CollabNet SVN Client 1.6.6. Also noticed that in the EA 8.0 B2 release notes there's a fix where resynch is updated to handle packages checked out by other users, could this be our problem?

Thanks

lubos

  • EA User
  • **
  • Posts: 101
  • Karma: +0/-0
  • I love YaBB 1G - SP1!
    • View Profile
Re: Checked out package overvritten by GetAllLates
« Reply #2 on: March 18, 2010, 08:07:26 pm »
FYI
I have reported this problem as a bug sime times ago (we use ClearCase)
Sparx accepted it as a defect, but I don't know when they will fix it.

ChrisBD

  • EA User
  • **
  • Posts: 60
  • Karma: +0/-0
    • View Profile
Re: Checked out package overvritten by GetAllLates
« Reply #3 on: March 22, 2010, 11:10:59 pm »
Its because of things like this that I am pushing for people to export their work to a local model and then import back into the shared model when ready to do so.

Another point to be aware of regarding "Get All Latest" if your connection is slow, or something causes the process to hold up or crash, which is possible with very large models, then every model item is left in a locked state until the process completes.

This happened to me, it left people unable to check in or check out work until I'd managed to get the process to complete.

James Chan

  • EA User
  • **
  • Posts: 28
  • Karma: +0/-0
    • View Profile
Re: Checked out package overvritten by GetAllLates
« Reply #4 on: March 27, 2010, 02:09:29 pm »
We also encountered this.
So we want to disable this function.
Pls check as follow:
http://www.sparxsystems.com/cgi-bin/yabb/YaBB.cgi?num=1267757052/0

Simen

  • EA Novice
  • *
  • Posts: 7
  • Karma: +0/-0
    • View Profile
Re: Checked out package overvritten by GetAllLates
« Reply #5 on: March 30, 2010, 12:46:56 am »
Thanks all for your responses. Would like to see any Sparxians comment on this though. And one more thing we discovered. When importing a new version controlled package to a local eap through GetAllLatest, any elements in the given package of type 'Packaging Component' ends up as a standard Package...

RoyC

  • EA Administrator
  • EA Practitioner
  • *****
  • Posts: 1205
  • Karma: +12/-3
  • Read The Help!
    • View Profile
Re: Checked out package overvritten by GetAllLates
« Reply #6 on: March 30, 2010, 10:15:26 am »
@sbe and James Chan - please could you submit this in a formal bug report to Sparx Support, using the Report a bug link in the Support column at the bottom of the page. The Support guys will then investigate it for you.

Thanks.
Best Regards, Roy

dschmid2

  • EA User
  • **
  • Posts: 24
  • Karma: +0/-0
    • View Profile
Re: Checked out package overvritten by GetAllLates
« Reply #7 on: March 30, 2010, 05:34:12 pm »
We are using SVN here and we faced the exact same bug. It's not a matter of SourceControl, its a matter of how EA handles the package import/exports.

When two packages evolve at different paces, and they have associations between its classes, it can happen that when only one of the is updated, associations are just silently REMOVED if the class at the other end of the association is not known, due to the fact that the other package is not yet updated!
And what is really heavy: there is no message notifying the user that there are associations which will be removed. :-?

This is really a heavy issue, i reported it also already via the official bug report forum.
Using EA 9.1.909 on Win7, C++ Code Generation

Simen

  • EA Novice
  • *
  • Posts: 7
  • Karma: +0/-0
    • View Profile
Re: Checked out package overvritten by GetAllLates
« Reply #8 on: March 30, 2010, 06:19:33 pm »
Bug submitted. Thanks for commenting Roy.

dschmid2

  • EA User
  • **
  • Posts: 24
  • Karma: +0/-0
    • View Profile
Re: Checked out package overvritten by GetAllLates
« Reply #9 on: March 30, 2010, 06:23:47 pm »
Instead of waiting for EA to come up with a solution, I started to write an EA-AddIn that replaces the whole VersionControl and GettingLatest Stuff.

- Basically, when opening the EAP-File, the AddIn scans through all controlled packages, compares their version to the one in the repository and displays a nice overview of the whole situation.
- Furthermore it shows the dependencies of the different packages amount each other, so to know that a package needs some classes of another one
- It shows in a Tourtoise-kind of view the list of availabe revisions per package, and a any revision can directly be retrieved from the repository
- the AddIn resolves all dependencies and can perform a healthy GetAllLatest in the correct order to prevent relations beeing removed silently.

This AddIn is just a workaround for us, since EA doesn't seem to care about this issues of XMI handling and resolving relations.
« Last Edit: March 30, 2010, 06:25:07 pm by dschmid2 »
Using EA 9.1.909 on Win7, C++ Code Generation

Simen

  • EA Novice
  • *
  • Posts: 7
  • Karma: +0/-0
    • View Profile
Re: Checked out package overvritten by GetAllLates
« Reply #10 on: March 30, 2010, 07:43:50 pm »
And yet another problem in the same are. I wanted to move a package (with subpackages) from one model root node to another. As drag and drop between model root nodes doesn't work I decided to export the package as a model branch and the import the model branch to the new model root node (in the same repository).

What happened when I tried to import was that EA started a GetAllLatest as part of the import. As you cannot cancel that process I decided to kill it after some time to prevent loss of packages checked out but not checked in.

Now it seems that work in progress for one package (checked out by another user) is lost as that package was retreived before I got to kill the GetAllLatest process. The help text does not mention that GetAllLatest is an implicit part of importing a Model Branch. Really need Sparx to look into this issue.

Simen

  • EA Novice
  • *
  • Posts: 7
  • Karma: +0/-0
    • View Profile
Re: Checked out package overvritten by GetAllLates
« Reply #11 on: March 30, 2010, 11:12:46 pm »
Correction. Turns out that I had to add a view to the model root node, then I could drag and drop the package in question. However the Import Model Branch doing GetAllLatest still apply.

Henrique Narciso

  • EA User
  • **
  • Posts: 86
  • Karma: +0/-0
    • View Profile
Re: Checked out package overvritten by GetAllLates
« Reply #12 on: October 27, 2010, 04:06:33 am »
Have you developed the addin?  Can you make it available?

Thanks in advance!

Quote
Instead of waiting for EA to come up with a solution, I started to write an EA-AddIn that replaces the whole VersionControl and GettingLatest Stuff.

- Basically, when opening the EAP-File, the AddIn scans through all controlled packages, compares their version to the one in the repository and displays a nice overview of the whole situation.
- Furthermore it shows the dependencies of the different packages amount each other, so to know that a package needs some classes of another one
- It shows in a Tourtoise-kind of view the list of availabe revisions per package, and a any revision can directly be retrieved from the repository
- the AddIn resolves all dependencies and can perform a healthy GetAllLatest in the correct order to prevent relations beeing removed silently.

This AddIn is just a workaround for us, since EA doesn't seem to care about this issues of XMI handling and resolving relations.