RE: VM images and working in the VM image
"Ted Neward" <[email protected]> Sat, 12 May 2007 20:03:01 -0700
| Newsgroups | gmane.comp.lang.smalltalk.strongtalk |
|---|---|
| Message-ID | <02bb01c7950b$3876ff10$8014a8c0@XPWork> |
Assume the server crashes for some reason: what happens to those patches? Does "loading the patch" imply that the on-disk image is modified? Ted Neward Java, .NET, XML Services Consulting, Teaching, Speaking, Writing http://www.tedneward.com > -----Original Message----- > From: [email protected] [mailto:strongtalk- > [email protected]] On Behalf Of James Robertson > Sent: Saturday, May 12, 2007 7:52 PM > To: [email protected] > Subject: RE: VM images and working in the VM image > > > I'm talking about Cincom Smalltalk (VisualWorks specifically, but > most of what I said applies to Squeak as well). When I change class > definitions, existing objects change shape as well - even as methods > are running. I've not worried about that, because it's not been an issue. > > As to how I persist those changes, I do things like this: > > 1) Export the changes code from my test server as a Smalltalk file-out > > 2) Export the new versions of all the packages changed > > 3) Upload the patch and the new packages to the server > > 4) Put the new packages into the directory used when the image > starts, and put the patch into the patch directory > > 5) Kick the server (via a web console) to load the patch (and then delete > it) > > I patch in place, and also make sure to have all the most current > startup packages in place in case the server needs a restart. > > I would also argue that most of the "high end" Java app servers you > speak of could be done quite easily in Smalltalk. We have plenty of > customers with complex applications. > > > >(*) No argument on the dynamic nature of the image vs. the static nature > of > >the Java app server (though, in theory, the app server doesn't need to go > >down just to change code, either--all that is handled through > ClassLoaders > >in the JVM, which are far more dynamic than you might expect). This may > be > >more complicated than what we can approach in this email, but... When you > >change the shape of objects in memory, though, how does the ST image > handle > >that? Do existing objects receive the change? And what happens if methods > >are invoked in the middle of the reload? > > > >(BTW, you and I, I think we've had this discussion on the usefulness of > the > >ST image before, over blogs--I'm not arguing against the idea, just > trying > >to understand it better.) > > > >(*) You're referring to your Cincomm Smalltalk flavor, correct? > VisualWorks? > >Not Strongtalk? > > > >(*) How do you persist those changes to the image so that if the machine > >crashes, the image doesn't lose all those changes? Do you periodically > have > >to flush the image to disk? And is that transactional somehow? > > > >(*) Hopefully you'll also allow me to assert that running a blog engine > >isn't exactly the high-scale requirement environment that some of the > Java > >(and .NET) app servers are asked to handle. :-) What I'd *really* love, > >though, in order to move this particular point out of the realm of the > >abstract, is to know *exactly* what the runtime footprint of your "app > >server image" takes up, so as to hopefully compare/contrast it against > the > >runtime footprint of a Java app server stack. (I'd much rather argue > facts > >than assertions, and numbers against "belief".) > > > >Heck, for that matter, I'm not trying to "argue" at all. Just learn. :-) > > > >Ted Neward > >Java, .NET, XML Services > >Consulting, Teaching, Speaking, Writing > >http://www.tedneward.com > > > > > -----Original Message----- > > > From: [email protected] [mailto:strongtalk- > > > [email protected]] On Behalf Of James Robertson > > > Sent: Saturday, May 12, 2007 7:19 PM > > > To: [email protected] > > > Subject: RE: VM images and working in the VM image > > > > > > > > > Oh? My blog: http://www.cincomsmalltalk.com/blog > > > > > > runs on an image, as do all the others hosted there: > > > > > > http://www.cincomsmalltalk.com/userblogs > > > > > > Any arbitrary application server for Java you pick is going to chew > > > resources as well; claiming that the image is some kind of resource > > > hog is just silly. Running a Smalltalk image w/o the GUI is fairly > > > easy to do (at least using the flavor I use) - and having the > > > compiler present allows me to add patches (including ones that change > > > the shape of objects in memory) as the image runs - I don't have to > > > play the "take it down, update, bring it up" game. > > > > > > To build my runtime I start with a base image, and start with a > > > command line like this: > > > > > > visual baseImage.im -filein startupScript.st - nogui > > > > > > Where startupScript.st has Smalltalk code that loads in the > > > components I need to run, and configures the system for runtime. > > > > > > >Case in point: ST's notion of the IDE-in-the-image is pretty lame > when > > > >looking to deploy an image within a "headless" environment. Is there > > > another > > > >approach when trying to build a server? Surely when running Seaside, > for > > > >example, I don't want or need the overhead of the IDE hanging > around.... > > > It > > > >might be useful in certain scenarios, but most of the time, it's just > > > going > > > >to be useless overhead.... > > > > > > > >I recognize that it's probably impossible to summarize the ST > philosophy > > > >down into a single email of reasonable proportions, and of course > it's up > > > to > > > >Richard to go read more about the ST philosophy if he wants to "get" > ST > > > in > > > >any reasonable sense. But it's not too much to ask, I don't think, to > > > answer > > > >in single-sentence form the specific issues being raised--plus, that > way, > > > >it's in the archives for others to discover later when they come to > ST > > > with > > > >their own questions. > > > > > > > >Ted Neward > > > >Java, .NET, XML Services > > > >Consulting, Teaching, Speaking, Writing > > > >http://www.tedneward.com > > > > > > > > > -----Original Message----- > > > > > From: [email protected] [mailto:strongtalk- > > > > > [email protected]] On Behalf Of tim Rowledge > > > > > Sent: Saturday, May 12, 2007 2:50 PM > > > > > To: [email protected] > > > > > Subject: Re: VM images and working in the VM image > > > > > > > > > > > > > > > > > > > > On 12-May-07, at 2:24 PM, Richard wrote: > > > > > > > > > > > > > > > > > Coming from a background of C++, Ruby and Java I'm used the idea > > > that > > > > > > you program in an IDE and then you output a Jar > > > > > That imply isn't the way Smalltalk works Richard. It sounds as if > you > > > > > would gain a lot by reading up on how Smalltalk works and how it > is > > > > > very different to old ways of doing things. > > > > > > > > > > Try Smalltalk Central (http://www.smalltalk-central.com/ > > > > > showDocument.ssp?section=Articles&name=Documentation), http:// > > > > > www.iam.unibe.ch/~ducasse/FreeBooks.html etc. > > > > > > > > > > Basically we just don't do dead code. As one wag put it "source > code > > > > > in files? How quaint." > > > > > > > > > > > > > > > tim > > > > > -- > > > > > tim Rowledge; [email protected]; http://www.rowledge.org/tim > > > > > There can never be a computer language in which you cannot write a > > > > > bad program. > > > > > > > > > > > > > > > > > > > > > > > > > > No virus found in this incoming message. > > > > > Checked by AVG Free Edition. > > > > > Version: 7.5.467 / Virus Database: 269.6.8/800 - Release Date: > > > 5/11/2007 > > > > > 7:34 PM > > > > > > > > > > > > >No virus found in this outgoing message. > > > >Checked by AVG Free Edition. > > > >Version: 7.5.467 / Virus Database: 269.6.8/800 - Release Date: > 5/11/2007 > > > >7:34 PM > > > > > > > > > > > > > > > > > > > <Talk Small and Carry a Big Class Library> > > > James Robertson, Product Manager, Cincom Smalltalk > > > http://www.cincomsmalltalk.com/blog/blogView > > > > > > > > > > > > > No virus found in this incoming message. > > > Checked by AVG Free Edition. > > > Version: 7.5.467 / Virus Database: 269.6.8/800 - Release Date: > 5/11/2007 > > > 7:34 PM > > > > > > >No virus found in this outgoing message. > >Checked by AVG Free Edition. > >Version: 7.5.467 / Virus Database: 269.6.8/800 - Release Date: 5/11/2007 > >7:34 PM > > > > > > > > > <Talk Small and Carry a Big Class Library> > James Robertson, Product Manager, Cincom Smalltalk > http://www.cincomsmalltalk.com/blog/blogView > > > > > No virus found in this incoming message. > Checked by AVG Free Edition. > Version: 7.5.467 / Virus Database: 269.6.8/800 - Release Date: 5/11/2007 > 7:34 PM > No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.8/800 - Release Date: 5/11/2007 7:34 PM --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Strongtalk-general" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/strongtalk-general?hl=en -~----------~----~----~----~------~----~------~--~---