On Feb 16, 2011, at 6:05 PM, Pascal Robert wrote:

> I think what most people do is to install the new version with some kind of 
> identifier, like SomeApp.woa-build36 and they symlink SomeApp.woa to that 
> particular version. But you still need to stop and start the app, or like 
> Chuck said, you will get troubles. On OS X, HFS+ is pretty good at tracking 
> back old resources so you have less troubles if you deploy a new version, but 
> on Linux/ext3, beware.

On OS X, if you have not accessed it, HFS won't track it.  That is why you can 
get the new template / old code problem.


> The best thing would be to add a "Pull new version from Hudson" action in 
> Monitor or wotaskd, and that action would fetch the new version without 
> installing it, put the instances in "refuse new sessions" mode, and when no 
> sessions are active, install the new version and restart the app. 
> 
> You can also try the "bounce" action, which let you start instances on the 
> newer code, but let the other instances on the older version.

You can have "A" and "B" instances configured.  When the A instances are 
running, install under B, start the B instances and set the A ones to refuse 
new sessions.  Reverse the next time you deploy.

> Be aware that it might cause problems if you deploy a new version that do 
> database schema changes. For example, if you change the constraint on a 
> column so that it cannot accept NULL anymore and the older version of your 
> app don't have that change in its model, current sessions in the older 
> version will get an JDBC exception when they try to put NULL in the column 
> where the constraint was changed.

Many other database changes will also cause problems.  If you need to update 
the schema, you pretty much have to schedule a service outage.


Chuck

> 
>> Ouch. Do rolling updates still have to be managed directly through monitor 
>> then or is there a Better Way™? (^_^)
>> 
>> Ramsey
>> 
>> On Feb 16, 2011, at 5:49 PM, Chuck Hill wrote:
>> 
>>> You can run into problems replacing the files.  If there was a code change 
>>> and a template change that relies on that code AND no user has used that 
>>> page/component before the update, they will get the new version (as WO 
>>> loads it into the cache) but it will still run against the original code.
>>> 
>>> Chuck
>>> 
>>> 
>>> On Feb 16, 2011, at 4:33 PM, Ramsey Gurley wrote:
>>> 
>>>> Hi all,
>>>> 
>>>> I am working on a deployment script with hudson and wonder monitor. What 
>>>> is the recommended way to do an application update. Is this as simple as 
>>>> replacing the old app and wsr directories with the new ones and then 
>>>> bounce graceful or bounce shutdown?
>>>> 
>>>> Ramsey
>>> 
>>> 
>>> 
>>> -- 
>>> Chuck Hill             Senior Consultant / VP Development
>>> 
>>> Practical WebObjects - for developers who want to increase their overall 
>>> knowledge of WebObjects or who are trying to solve specific problems.    
>>> http://www.global-village.net/products/practical_webobjects
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>> 
>> _______________________________________________
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-deploy mailing list      ([email protected])
>> Help/Unsubscribe/Update your Subscription:
>> http://lists.apple.com/mailman/options/webobjects-deploy/probert%40macti.ca
>> 
>> This email sent to [email protected]
> 

-- 
Chuck Hill             Senior Consultant / VP Development

Practical WebObjects - for developers who want to increase their overall 
knowledge of WebObjects or who are trying to solve specific problems.    
http://www.global-village.net/products/practical_webobjects







Attachment: smime.p7s
Description: S/MIME cryptographic signature

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-deploy mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-deploy/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to