The following has now happened to me twice while using 7.5 & store.
Commit a package to store, then read the package in a new image. When I read the package in the new image it now has methods from a class from a different package. The other package was not in my original image, but was of course in my Store repository. I can not repeat this. It has happened on two different Store repositories on different machines running two different versions of PostgresSQL. 1. Does any one know how to avoid this? 2. Is it time for me to revert to 7.4.1? (Is this a 7.5 issue or have I just been lucky up to now?) 3. Is there an easy way to remove these methods from my package? That is how do I remove methods from my image when their class is not defined in the image? (Currently I start with a new image, define the class in question, then load the corrupted package and then I can remove the methods from the package. As far as I can tell I have not lost any methods from my original package, but I am very nervous about using Store at the moment. ---- Roger Whitney Department of Computer Science [hidden email] San Diego State University http://www.eli.sdsu.edu/ San Diego, CA 92182-7720 (619) 583-1978 (619) 594-3535 (office) (619) 594-6746 (fax) |
This seems very odd, and I haven't heard of it happening
before.
When you talk about using two different databases, are you commonly using different databases from the same machine? I ask that because the symptom you're seeing suggests the possibility of corruption where it's using keys from one database in a different one. I haven't seen that either, and I use multiple databases quite frequently, but it's at least a hint. Having them show up as additional methods seems very bizarre. I would expect that in most circumstances where you got an error like that it would be mis-interpreting data and loading it in place of something else. If you re-reconcile the package with the one in the database, does it still show itself as having the methods? If it doesn't, then that's an obvious way to get rid of them. If you browse the packages in the database, do they show up as having the additional methods? If you look at the original image they were published from, are the methods in there? That seems like the likeliest thing to me, if they're showing up as additions. One thing that's known to possibly cause this is if you're using the debugger on Store loads. Store has a global current package, and when loading code, sets that temporarily while filing in the code. So if you're debugging a load and make changes, they may suddenly appear in the package you're loading. But debugging loads that way is an unusual activity. At 06:42 PM 7/9/2007, Roger Whitney wrote: The following has now happened to me twice while using 7.5 & store. --
Alan Knight [|], Cincom Smalltalk Development
|
Any [replacement] overrides involved for those methods?
Perhaps an unintended override from code movement? Overrides get screwed
up easily (in 7.3.1 at least). Changes can become associated with the wrong
package from earlier override load mistakes. Override oddities have been
discussed at length and some are supposed to be fixed in 7.5; no need to
revisit again. I've seen methods become associated with the wrong package
this way. What works for some of our code is to reload specific packages a
couple times until changes are gone. The wrong code is loaded but it
shows as a clean load and publishes OK next time.
Paul Baumann
IntercontinentalExchange | ICE From: Alan Knight [mailto:[hidden email]] Sent: Monday, July 16, 2007 11:19 AM To: Roger Whitney; VW NC Subject: Re: [7.5] Packages corrupted in Store When you talk about using two different databases, are you commonly using different databases from the same machine? I ask that because the symptom you're seeing suggests the possibility of corruption where it's using keys from one database in a different one. I haven't seen that either, and I use multiple databases quite frequently, but it's at least a hint. Having them show up as additional methods seems very bizarre. I would expect that in most circumstances where you got an error like that it would be mis-interpreting data and loading it in place of something else. If you re-reconcile the package with the one in the database, does it still show itself as having the methods? If it doesn't, then that's an obvious way to get rid of them. If you browse the packages in the database, do they show up as having the additional methods? If you look at the original image they were published from, are the methods in there? That seems like the likeliest thing to me, if they're showing up as additions. One thing that's known to possibly cause this is if you're using the debugger on Store loads. Store has a global current package, and when loading code, sets that temporarily while filing in the code. So if you're debugging a load and make changes, they may suddenly appear in the package you're loading. But debugging loads that way is an unusual activity. At 06:42 PM 7/9/2007, Roger Whitney wrote: The following has now happened to me twice while using 7.5 & store. --
Alan Knight [|], Cincom Smalltalk Development
This message may contain confidential information and is intended for specific recipients unless explicitly noted otherwise. If you have reason to believe you are not an intended recipient of this message, please delete it and notify the sender. This message may not represent the opinion of IntercontinentalExchange, Inc. (ICE), its subsidiaries or affiliates, and does not constitute a contract or guarantee. Unencrypted electronic mail is not secure and the recipient of this message is expected to provide safeguards from viruses and pursue alternate means of communication where privacy or a binding message is desired. |
In reply to this post by Roger Whitney
I took this offline with Roger, and it appears that the
problem was in using the same database identifier for two different
databases, and having the same image connect to both. Store uses this
identifier to know which database its talking to, and in some
circumstances will remember database information like primary keys from
the database. This can cause lots of problems if it's publishing to what
it thinks is the same database, but in fact is a different one with
entirely different keys.
At 06:42 PM 7/9/2007, Roger Whitney wrote: The following has now happened to me twice while using 7.5 & store. --
Alan Knight [|], Cincom Smalltalk Development
|
Free forum by Nabble | Edit this page |