[vwnc] Diagnosing an image that is repeatedly getting stuck with open database connections to Postgres

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

[vwnc] Diagnosing an image that is repeatedly getting stuck with open database connections to Postgres

Rick Flower
Hi all...

I've got my Seaside+Glorp+VW Web-app that I've turned loose on 1 person to
start entering data.. It's been running for about a week and was working
fine until today.. I tried logging into it this morning and it was really
slow until I tried generating a report (doing some Glorp reads) and it
hung.. I went home at lunch and reset the image and restarted Postgres..
Now, it's been about 4 hours and I just got a call from the one user and
it's hung again holding open a bunch of PSQL connections..

At this point I'm tempted to gen up a new image from scratch using the same
parcel versions I was using -- my current image was a development image if
that matters.  It's still running headed (opposite of headless?) and when
I went home at lunch the GUI was still responding to commands if I recall..

Anyway, I thought I'd ask you VW/ST Guru's if you had an issue like this
what your first plan of attack might be..

On a slightly different note -- when creating a deployable image does
everyone start with a virgin image, load the respective parcels and run
headless?  Is my starting with what was once a development image naughty?

MTIA!!

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] Diagnosing an image that is repeatedly getting stuck with open database connections to Postgres

Rick Flower
Nevermind.. I believe I found a bug in my code that was causing way  
too much
database activity.. I'm not sure why it was croaking though. I  
regenned a new
image from scratch, played around with the runtime packager and am now  
running
a headless image..   We'll see how things go..

-- Rick

On Jan 27, 2009, at 5:26 PM, Rick Flower wrote:

> Hi all...
>
> I've got my Seaside+Glorp+VW Web-app that I've turned loose on 1  
> person to
> start entering data.. It's been running for about a week and was  
> working
> fine until today.. I tried logging into it this morning and it was  
> really
> slow until I tried generating a report (doing some Glorp reads) and it
> hung.. I went home at lunch and reset the image and restarted  
> Postgres..
> Now, it's been about 4 hours and I just got a call from the one user  
> and
> it's hung again holding open a bunch of PSQL connections..
>
> At this point I'm tempted to gen up a new image from scratch using  
> the same
> parcel versions I was using -- my current image was a development  
> image if
> that matters.  It's still running headed (opposite of headless?) and  
> when
> I went home at lunch the GUI was still responding to commands if I  
> recall..
>
> Anyway, I thought I'd ask you VW/ST Guru's if you had an issue like  
> this
> what your first plan of attack might be..
>
> On a slightly different note -- when creating a deployable image does
> everyone start with a virgin image, load the respective parcels and  
> run
> headless?  Is my starting with what was once a development image  
> naughty?
>
> MTIA!!
>
> _______________________________________________
> vwnc mailing list
> [hidden email]
> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
>

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

[vwnc] Deployment builds (Re: Diagnosing an image that is repeatedly getting stuck with open database connections to Postgres)

Reinout Heeck
In reply to this post by Rick Flower

>
> On a slightly different note -- when creating a deployable image does
> everyone start with a virgin image, load the respective parcels and run
> headless?  Is my starting with what was once a development image naughty?

We typically deploy servers headfull and with development tools loaded
(so that errors pop up a window an can be proceeded by the developers as
opposed to taking down the server completely). If we don't maintain the
deployed installation we run the servers headless.
Client apps we typically deploy as stripped images.


What we found to be a life-saver is to forbid deploying hand-built images.
IOW if we deploy something we have a *script* that can recreate the
deployed artifacts from scratch. What language you use for the script is
immaterial (St/Make/Ant/Rake/...), what is important is that you (or
your colleagues) can repeat the process reliably.




R
-

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] Deployment builds (Re: Diagnosing an image that is repeatedly getting stuck with open database connections to Postgres)

Terry Raymond

> -----Original Message-----
> From: [hidden email] [mailto:[hidden email]] On Behalf Of Reinout Heeck
> Sent: Wednesday, January 28, 2009 4:57 AM
> To: VW NC
> Subject: [vwnc] Deployment builds (Re: Diagnosing an image that is repeatedly getting stuck with open
> database connections to Postgres)
>


> What we found to be a life-saver is to forbid deploying hand-built images.
> IOW if we deploy something we have a *script* that can recreate the
> deployed artifacts from scratch. What language you use for the script is
> immaterial (St/Make/Ant/Rake/...),

> what is important is that you (or
> your colleagues) can repeat the process reliably.

This is critical if you want a reliable system!!!!


>
> R
> -
>
> _______________________________________________
> vwnc mailing list
> [hidden email]
> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc


Terry
 
===========================================================
Terry Raymond
Crafted Smalltalk
80 Lazywood Ln.
Tiverton, RI  02878
(401) 624-4517      [hidden email]
<http://www.craftedsmalltalk.com>
===========================================================

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] Deployment builds (Re: Diagnosing an image that is repeatedly getting stuck with open database connections to Postgres)

Rick Flower
Thanks guys!  I actually got something akin to an image recreation
set of scripts from Alan Knight a while back.. I was looking at it last
night but will need to figure out exactly what its doing..

Is it safe to assume that if something is coming from the repository
(any repository) that a local copy of the PCL file ought to be put in
a local directory so the script does not need to even hit the  
repository?

Interestingly enough, I was unable to even load Seaside on my
recently installed Linux version of VW7.6 .. Every permutation
would fail with some sort of error about a method not being
appropriate for some variant of an Array.. Very odd.. I did the
same steps in OSX and it worked like a charm so I moved my
(for now) hand-built image over to Linux and am running that...

Anyway, I'll be keeping a close eye on things over the next few
days... Thanks again..!

-- Rick


On Jan 28, 2009, at 4:21 AM, Terry Raymond wrote:

>
>> -----Original Message-----
>> From: [hidden email] [mailto:[hidden email]] On  
>> Behalf Of Reinout Heeck
>> Sent: Wednesday, January 28, 2009 4:57 AM
>> To: VW NC
>> Subject: [vwnc] Deployment builds (Re: Diagnosing an image that is  
>> repeatedly getting stuck with open
>> database connections to Postgres)
>>
>
>
>> What we found to be a life-saver is to forbid deploying hand-built  
>> images.
>> IOW if we deploy something we have a *script* that can recreate the
>> deployed artifacts from scratch. What language you use for the  
>> script is
>> immaterial (St/Make/Ant/Rake/...),
>
>> what is important is that you (or
>> your colleagues) can repeat the process reliably.
>
> This is critical if you want a reliable system!!!!
>
>
>>
>> R
>> -
>>
>> _______________________________________________
>> vwnc mailing list
>> [hidden email]
>> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
>
>
> Terry
>
> ===========================================================
> Terry Raymond
> Crafted Smalltalk
> 80 Lazywood Ln.
> Tiverton, RI  02878
> (401) 624-4517      [hidden email]
> <http://www.craftedsmalltalk.com>
> ===========================================================
>
> _______________________________________________
> vwnc mailing list
> [hidden email]
> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
>

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] Deployment builds (Re: Diagnosing an image that is repeatedly getting stuck with open database connections to Postgres)

Terry Raymond
> -----Original Message-----
> From: Richard E. Flower [mailto:[hidden email]]
> Sent: Wednesday, January 28, 2009 10:31 AM
> To: Terry Raymond
> Cc: 'VW NC'
> Subject: Re: [vwnc] Deployment builds (Re: Diagnosing an image that is repeatedly getting stuck with
> open database connections to Postgres)
>
> Thanks guys!  I actually got something akin to an image recreation
> set of scripts from Alan Knight a while back.. I was looking at it last
> night but will need to figure out exactly what its doing..
>
> Is it safe to assume that if something is coming from the repository
> (any repository) that a local copy of the PCL file ought to be put in
> a local directory so the script does not need to even hit the
> repository?

Ideally, the repository should be the only source of your code.
If you keep local parcel copies there will come a time when a
parcel is out of sync.

Why do you not want to build an image from the repository?

Keep in mind that loaded source is kept in the changes file,
unless you load binary, which you should only do to avoid
code compilation issues.

> Interestingly enough, I was unable to even load Seaside on my
> recently installed Linux version of VW7.6 .. Every permutation
> would fail with some sort of error about a method not being
> appropriate for some variant of an Array.. Very odd.. I did the
> same steps in OSX and it worked like a charm so I moved my
> (for now) hand-built image over to Linux and am running that...
>
> Anyway, I'll be keeping a close eye on things over the next few
> days... Thanks again..!
>
> -- Rick
>
>
> On Jan 28, 2009, at 4:21 AM, Terry Raymond wrote:
>
> >
> >> -----Original Message-----
> >> From: [hidden email] [mailto:[hidden email]] On
> >> Behalf Of Reinout Heeck
> >> Sent: Wednesday, January 28, 2009 4:57 AM
> >> To: VW NC
> >> Subject: [vwnc] Deployment builds (Re: Diagnosing an image that is
> >> repeatedly getting stuck with open
> >> database connections to Postgres)
> >>
> >
> >
> >> What we found to be a life-saver is to forbid deploying hand-built
> >> images.
> >> IOW if we deploy something we have a *script* that can recreate the
> >> deployed artifacts from scratch. What language you use for the
> >> script is
> >> immaterial (St/Make/Ant/Rake/...),
> >
> >> what is important is that you (or
> >> your colleagues) can repeat the process reliably.
> >
> > This is critical if you want a reliable system!!!!
> >
> >
> >>
> >> R
> >> -
> >>
> >> _______________________________________________
> >> vwnc mailing list
> >> [hidden email]
> >> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
> >
> >
> > Terry
> >
> > ===========================================================
> > Terry Raymond
> > Crafted Smalltalk
> > 80 Lazywood Ln.
> > Tiverton, RI  02878
> > (401) 624-4517      [hidden email]
> > <http://www.craftedsmalltalk.com>
> > ===========================================================
> >
> > _______________________________________________
> > vwnc mailing list
> > [hidden email]
> > http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
> >

Terry
 
===========================================================
Terry Raymond
Crafted Smalltalk
80 Lazywood Ln.
Tiverton, RI  02878
(401) 624-4517      [hidden email]
<http://www.craftedsmalltalk.com>
===========================================================

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] Deployment builds (Re: Diagnosing an image that is repeatedly getting stuck with open database connections to Postgres)

Rick Flower
On Wed, January 28, 2009 8:04 am, Terry Raymond wrote:
> Ideally, the repository should be the only source of your code.
> If you keep local parcel copies there will come a time when a
> parcel is out of sync.

If that's the case, is there some way to tell the loader to load a
particular version of code?  Please keep in mind that this entire argument
is fairly new to me and I'm still trying to feel my way around on some of
these areas..  I realize that almost anyone can write a Smalltalk
application in Seaside but when its time to deploy it, it seems like there
may be some issues that  I hadn't given much thought to..

> Why do you not want to build an image from the repository?

I guess once I create a final image to be used for a deployment and no
'saves' are done then it should never go bad.. I have found that it's not
always a good idea to take the 'latest' version of a set of code as
some things are a bit too much on the bleeding edge or may not be
appropriate to the version of VW you (or I) may be using.. For instance,
I recently found that Glorp has moved into the VW7.7 realm and has stuff
that causes breakage when tried on the older (but still current) VW7.6
family..

-- Rick

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] Deployment builds (Re: Diagnosing an image that is repeatedly getting stuck with open database connections to Postgres)

Terry Raymond
Rick

When building deployment image you should be loading only
from your repository. If you are using code from the public
repository you should obtain the version you are interested
in and publish it to your repository. That will give you
a little more control of which version can be loaded.

There are several ways to manage your image configuration
and control which package version gets loaded. The way I
prefer is to create a configuration package. This package
consists only of a prereq list. The prereqs can either specify
or not specify a particular version. If they do not specify
a version then when you load it, the latest versions will
be loaded from your repository. This is nice for creating
a developer image. When a particular image configuration has
passed Q&A testing you can create "versioned" configuration
where all the prereqs specify the version in the image. This
way you can recreate any specific configuration from the
repository.

Terry
 
===========================================================
Terry Raymond
Crafted Smalltalk
80 Lazywood Ln.
Tiverton, RI  02878
(401) 624-4517      [hidden email]
<http://www.craftedsmalltalk.com>
===========================================================

> -----Original Message-----
> From: Rick Flower [mailto:[hidden email]]
> Sent: Wednesday, January 28, 2009 12:04 PM
> To: Terry Raymond
> Cc: 'VW NC'
> Subject: RE: [vwnc] Deployment builds (Re: Diagnosing an image that is repeatedly getting stuck with
> open database connections to Postgres)
>
> On Wed, January 28, 2009 8:04 am, Terry Raymond wrote:
> > Ideally, the repository should be the only source of your code.
> > If you keep local parcel copies there will come a time when a
> > parcel is out of sync.
>
> If that's the case, is there some way to tell the loader to load a
> particular version of code?  Please keep in mind that this entire argument
> is fairly new to me and I'm still trying to feel my way around on some of
> these areas..  I realize that almost anyone can write a Smalltalk
> application in Seaside but when its time to deploy it, it seems like there
> may be some issues that  I hadn't given much thought to..
>
> > Why do you not want to build an image from the repository?
>
> I guess once I create a final image to be used for a deployment and no
> 'saves' are done then it should never go bad.. I have found that it's not
> always a good idea to take the 'latest' version of a set of code as
> some things are a bit too much on the bleeding edge or may not be
> appropriate to the version of VW you (or I) may be using.. For instance,
> I recently found that Glorp has moved into the VW7.7 realm and has stuff
> that causes breakage when tried on the older (but still current) VW7.6
> family..
>
> -- Rick

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] Deployment builds (Re: Diagnosing an image that is repeatedly getting stuck with open database connections to Postgres)

James Robertson-7
Well, I'm not sure I'd be that universal.  Make sure your process  
involves loading the dev image from a script, and dumping all required  
parcels as part of that script.  You can then do a build up quite  
nicely w/o store, using the base.im image.  I run through an example  
of that here:

http://www.cincomsmalltalk.com/userblogs/cincom/blogView?content=smalltalk_daily_deployment


See part 3 of the scripting a build series

James Robertson
Cincom Smalltalk Product Evangelist
http://www.cincomsmalltalk.com/blog/blogView
Talk Small and Carry a Big Class Library




On Jan 28, 2009, at 12:25 PM, Terry Raymond wrote:

> Rick
>
> When building deployment image you should be loading only
> from your repository. If you are using code from the public
> repository you should obtain the version you are interested
> in and publish it to your repository. That will give you
> a little more control of which version can be loaded.
>
> There are several ways to manage your image configuration
> and control which package version gets loaded. The way I
> prefer is to create a configuration package. This package
> consists only of a prereq list. The prereqs can either specify
> or not specify a particular version. If they do not specify
> a version then when you load it, the latest versions will
> be loaded from your repository. This is nice for creating
> a developer image. When a particular image configuration has
> passed Q&A testing you can create "versioned" configuration
> where all the prereqs specify the version in the image. This
> way you can recreate any specific configuration from the
> repository.
>
> Terry
>
> ===========================================================
> Terry Raymond
> Crafted Smalltalk
> 80 Lazywood Ln.
> Tiverton, RI  02878
> (401) 624-4517      [hidden email]
> <http://www.craftedsmalltalk.com>
> ===========================================================
>
>> -----Original Message-----
>> From: Rick Flower [mailto:[hidden email]]
>> Sent: Wednesday, January 28, 2009 12:04 PM
>> To: Terry Raymond
>> Cc: 'VW NC'
>> Subject: RE: [vwnc] Deployment builds (Re: Diagnosing an image that  
>> is repeatedly getting stuck with
>> open database connections to Postgres)
>>
>> On Wed, January 28, 2009 8:04 am, Terry Raymond wrote:
>>> Ideally, the repository should be the only source of your code.
>>> If you keep local parcel copies there will come a time when a
>>> parcel is out of sync.
>>
>> If that's the case, is there some way to tell the loader to load a
>> particular version of code?  Please keep in mind that this entire  
>> argument
>> is fairly new to me and I'm still trying to feel my way around on  
>> some of
>> these areas..  I realize that almost anyone can write a Smalltalk
>> application in Seaside but when its time to deploy it, it seems  
>> like there
>> may be some issues that  I hadn't given much thought to..
>>
>>> Why do you not want to build an image from the repository?
>>
>> I guess once I create a final image to be used for a deployment and  
>> no
>> 'saves' are done then it should never go bad.. I have found that  
>> it's not
>> always a good idea to take the 'latest' version of a set of code as
>> some things are a bit too much on the bleeding edge or may not be
>> appropriate to the version of VW you (or I) may be using.. For  
>> instance,
>> I recently found that Glorp has moved into the VW7.7 realm and has  
>> stuff
>> that causes breakage when tried on the older (but still current)  
>> VW7.6
>> family..
>>
>> -- Rick
>
> _______________________________________________
> vwnc mailing list
> [hidden email]
> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
>

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc