Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-18 Thread Rodent of Unusual Size
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Jacek Laskowski wrote:
> 
> Am I reading it correctly that in CTR when a committer vetoed a
> commit, it *ought to* be backed out *as soon as it's happened* and
> discussed afterwards before being committed again?

No, the rules for handling a veto don't really change.  The
person who made the commit is generally given a chance to
back it out hirself first.  Someone else reverting it quickly
should only happen if it's egregiously broken and keeping
multiple aspects of development from moving forward.
- --
#kenP-)}

Ken Coar, Sanagendamgagwedweinini  http://Ken.Coar.Org/
Author, developer, opinionist  http://Apache-Server.Com/

"Millennium hand and shrimp!"
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.4 (MingW32)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iQCVAwUBQ85c3prNPMCpn3XdAQIgSAQArMo3zqBGf1HpUGmriSw4GTf+C7EpvOu8
Kel6u8SivOlRz4eFlynbK6TZHRNp+XYCdC/RvO/eP33BXpfly9Q3U/CTtJ0mZP8G
woNvx+6vd25RLD+09lo+hxathvOUp7sJMIhYY4FKTk0PcwHT5nIVuW2PHoPYMTcN
Vzv/kmS+iqI=
=Tu3I
-END PGP SIGNATURE-


Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-17 Thread Jules Gosnell

Jacek Laskowski wrote:


2006/1/16, Rodent of Unusual Size <[EMAIL PROTECTED]>:

 


Under CTR, any change can get committed at any time, although
major ones are supposed to follow the RTC model.  Committers
need to ask themselves whether the commit will spark controversy;
if so, they should follow RTC and get support first.
   


...
 


The advantage of CTR is prototyping speed.  Its disadvantages
are less-assured quality and community divisiveness.  Its
enemy is ego.  Since criticism occurs after code has been
committed, personal investment is greater and defensiveness
higher.  Developers are typically less aware of each others'
work.

I believe it is safe to say that Geronimo has been operating
in CTR mode, but I think the specifics and ground rules may
not have been spelt out, or need to be again.  Is this the
way in which the majority wants to continue to proceed?
   



Hi Ken,

Am I reading it correctly that in CTR when a committer vetoed a
commit, it *ought to* be backed out *as soon as it's happened* and
discussed afterwards before being committed again?

I think we're operating this way and dispate the recent issue it works well.

 


Jacek,

I think that this strategy is in place for seriously disasterous 
checkins. If after backing out someone else's change, you can clearly 
demonstrate that it introduced a show-stopping bug and that your only 
reasonable option was to back it out immediately, before it prevented 
everyone else from getting on with their work, then I think you would be 
justified.


If on the other hand, after the event, it is clear that the change was 
to a rarely used area of the code, that would only impact the developers 
working directly upon it, that it did not introduce any show-stopper and 
that, when invited to, you failed to demonstrate that the change broke 
anything, then I think you would have a very hard time justifying your 
actions. In this case, I think the sensible course of action is to 
explain to the owner of the code, what your issues with it are, discuss 
them in an open forum with your peers, reach consensus and then make 
further changes on top of the original to take you to the place where 
you have all decided to go.


So, I don't think it is so much whether you adhere to a particular 
methodology, but that you apply it sensibly.



Jules


#kenP-)}
   



--
Jacek Laskowski
http://www.laskowski.org.pl
 




--
"Open Source is a self-assembling organism. You dangle a piece of
string into a super-saturated solution and a whole operating-system
crystallises out around it."

/**
* Jules Gosnell
* Partner
* Core Developers Network (Europe)
*
*www.coredevelopers.net
*
* Open Source Training & Support.
**/



Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-17 Thread Jacek Laskowski
2006/1/16, Rodent of Unusual Size <[EMAIL PROTECTED]>:

> Under CTR, any change can get committed at any time, although
> major ones are supposed to follow the RTC model.  Committers
> need to ask themselves whether the commit will spark controversy;
> if so, they should follow RTC and get support first.
...
> The advantage of CTR is prototyping speed.  Its disadvantages
> are less-assured quality and community divisiveness.  Its
> enemy is ego.  Since criticism occurs after code has been
> committed, personal investment is greater and defensiveness
> higher.  Developers are typically less aware of each others'
> work.
>
> I believe it is safe to say that Geronimo has been operating
> in CTR mode, but I think the specifics and ground rules may
> not have been spelt out, or need to be again.  Is this the
> way in which the majority wants to continue to proceed?

Hi Ken,

Am I reading it correctly that in CTR when a committer vetoed a
commit, it *ought to* be backed out *as soon as it's happened* and
discussed afterwards before being committed again?

I think we're operating this way and dispate the recent issue it works well.

> #kenP-)}

--
Jacek Laskowski
http://www.laskowski.org.pl


Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-16 Thread Jules Gosnell

Alan D. Cabrera wrote:

I am of the strong opinion of releasing new features in a patch 
release is a bad idea.  This should go in 1.1.0.  I think that we 
should feature freeze 1.1.0 at the end of this month.


I agree with you, Alan, but the change did not add a new feature. WADI 
was integrated in 1.0, but there were issues with this integration that 
were not fixed. My change resolved these issues and at the same time 
unified the way that Jetty and Tomcat integrated with WADI.



Jules



Regards,
Alan

Jules Gosnell wrote, On 1/16/2006 3:01 AM:


Here is my penniesworth :

Users want clustering - I get mails everyday
Users do not expect that a 1.0 release will contain a complete 
clustering solution - they have realistic expectations.


We have a chance with the 1.0, now 1.0.1 release, to mark certain 
areas as 'technology preview' and use these to demonstrate emerging 
Geronimo technologies to our user-base. This is one of the ways that 
Open Source projects traditionally generate interest and reach out to 
new potential developers. All aspects of clustering in Geronimo are 
going to require considerable work, and this is our chance to show 
our users that we are involved in at least some of these areas and 
invite them to contribute.


I crafted my last change to make as few alterations to 1.0 as 
possible. It was called 'unacceptable', as far as I can tell, because 
it did not go far enough. Now we are saying that we only want minimal 
change between 1.0 and 1.0.1 - so what is it to be ?


A clearly defined subset of WADI fnality will 'work' by the time 
1.0.1 is released. If we work towards the necessary integration now, 
then we will have a while to discuss it and get it in, if we don't, 
then it will again be termed too precipitous, we will miss 1.0.1 and 
the current fragmented approach to web clustering will persist in 
Geronimo, impacting on a growing number of users.




Jules


Jan Bartel wrote:


David,

To paraphrase what you said (if I understand correctly), the choices 
are to either back clustering out of geronimo for the 1.0.1 release 
and work on it for a future release, or to make minimal changes to 
it to make it work

in geronimo as is.

I think it's unlikely that there will be a significant rush to 
production with a 1.0 release of geronimo, so there is probably a 
bit of latitude for less-than-optimal functioning in terms of 2nd 
order functionality such as clustering if it were to be left in. It 
would be good to get Jules' input on the state of WADI on this point.


However, if we leave clustering in the way it is implemented at the 
moment, then the disadvantages are:

1. clustering is enabled differently for tomcat and jetty and a basic
  tenet of geronimo is to make the webcontainers interchangeable
2. clustering is enabled in the webapp descriptors instead of the 
container

3. users that use the 1.0.1 clustering will have to change each webapp
  to use it on future releases.
If we roll forward again to the most recent clustering changes:
1. clustering interface is uniform for both tomcat and jetty
2. clustering is enabled in the container 3. no geronimo webapp 
descriptor changes necessary


Of course, the most recent changes are not the final clustering
solution, so there would be changes to the container plans
in the future (eg in 1.1). But changes to the plans could probably 
be expected for any geronimo services between releases, no?


I don't like the option of leaving the clustering with per-webapp
geronimo descriptor configuration because it's just simply the
wrong way to do it and will be a pain in the neck for users when
we change to a better way in future releases. I think it would be 
better to take clustering out than to release 1.0.1 with it like it is.


So, the two options I see for 1.0.1 are:

1. take the clustering out and release in 1.1 after more discussion
2. leave clustering in, roll forward again and fix any issues

I really don't have a preference either way - I think both are 
meritworthy.


regards
Jan





I think that it would be better to work on clustering in head and 
not  try to hurry to get something that we know will change and has 
not  been well tested into 1.0.1.  I have no experience with 
actual  clustering.  Will people who want to use it expect 
something well  tested and stable?  Will they be willing to work 
off snapshot builds  to pick up the latest fixes?  What would the 
reaction be to something  that only sort of works in an official 
release?


thanks
david jencks


On Jan 14, 2006, at 3:46 AM, Jules Gosnell wrote:


OK, Folks - here is how I see it -

Everyone knows that they are right and the other guy is wrong.

Result - DEADLOCK - everyone loses.

Solution - release locks, back off, coordinate, retry.

Releasing locks involves us all making concessions :

I suggest -

Jan, Greg and I conceded that Jeff could have been more involved 
in  discussion before this change went in.
Jeff concedes that Jan, Greg and I should

Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-16 Thread David Blevins

On Jan 16, 2006, at 12:38 PM, Geir Magnusson Jr wrote:




Rodent of Unusual Size wrote:


I believe it is safe to say that Geronimo has been operating
in CTR mode, but I think the specifics and ground rules may
not have been spelt out, or need to be again.  Is this the
way in which the majority wants to continue to proceed?


I believe that most Apache projects are fundamentally CTR.  I can  
only think of one, httpd, that is RTC.  Is that right?




And Derby, IIRC.

-David


Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-16 Thread Rodent of Unusual Size
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Geir Magnusson Jr wrote:
> 
> I believe that most Apache projects are fundamentally CTR.  I can only 
> think of one, httpd, that is RTC.  Is that right?

httpd operated in RTC for a number of years, before opening up to
CTR in 1997 (I think, maybe 1998).  AFAIK, it runs CTR only
on the main lines now.
- --
#kenP-)}

Ken Coar, Sanagendamgagwedweinini  http://Ken.Coar.Org/
Author, developer, opinionist  http://Apache-Server.Com/

"Millennium hand and shrimp!"
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.4 (MingW32)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iQCVAwUBQ8wMkprNPMCpn3XdAQJU7AP+LCYAEVljxVtINw4ZcQs05nEYItDTc5N7
KufEmQRLUQ0glYPClcIuAbxA3K4d7yho0StJ612mDMtWPHIbkZ8Nmqpiw9Lxa7+9
VLr0PD2oXpqw4dUnzvbOhwQZUt73j4S/aig43I7Ywi9YtgHhI+JsoC+dy0NNDdzT
BHBZl/4ZHA0=
=oK2r
-END PGP SIGNATURE-


Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-16 Thread Geir Magnusson Jr



Rodent of Unusual Size wrote:


I believe it is safe to say that Geronimo has been operating
in CTR mode, but I think the specifics and ground rules may
not have been spelt out, or need to be again.  Is this the
way in which the majority wants to continue to proceed?


I believe that most Apache projects are fundamentally CTR.  I can only 
think of one, httpd, that is RTC.  Is that right?


geir



Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-16 Thread Rodent of Unusual Size
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

David Jencks wrote:
> I agree with Jeff that this change is unsatisfactory but I'm not as  
> sure as he is that backing it out is necessary, perhaps we can move  
> forward to an acceptable solution instead.

It is permissible for HEAD to be broken.  This is development,
after all; committing only perfect code is an unreasonable
goal.

> I also am not so sure that this magnitude of change needs prior  
> discussion on the list.  I've frequently made larger changes without  
> discussion of my specific code.  I've also broken lots of stuff at  
> various times.

Let's all come into agreement on the development model, then.

Apache historically has use two distinct models, called Review
Then Commit (RTC) and Commit Then Review (CTR).

Under the RTC model, all changes -- except to docco or minor
bug fixes -- need to be reviewed and garner at least three +1
votes before being committed.  Giving a +1 means you've applied
the patch and tested it yourself.  If a patch doesn't get the
requisite number of positive votes, it doesn't get committed.

Under CTR, any change can get committed at any time, although
major ones are supposed to follow the RTC model.  Committers
need to ask themselves whether the commit will spark controversy;
if so, they should follow RTC and get support first.

The advantages of RTC are code quality and team building.  Nothing
goes in that hasn't been tested by at least three people.  The
primary disadvantage is that its conservative approach tends to
slow down development.  Its enemies are self-interest and apathy;
supporters need to lobby for their work to be tested, and all
developers need to remember that they're dependent upon one
another.

The advantage of CTR is prototyping speed.  Its disadvantages
are less-assured quality and community divisiveness.  Its
enemy is ego.  Since criticism occurs after code has been
committed, personal investment is greater and defensiveness
higher.  Developers are typically less aware of each others'
work.

I believe it is safe to say that Geronimo has been operating
in CTR mode, but I think the specifics and ground rules may
not have been spelt out, or need to be again.  Is this the
way in which the majority wants to continue to proceed?
- --
#kenP-)}

Ken Coar, Sanagendamgagwedweinini  http://Ken.Coar.Org/
Author, developer, opinionist  http://Apache-Server.Com/

"Millennium hand and shrimp!"
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.4 (MingW32)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iQCVAwUBQ8vmHJrNPMCpn3XdAQKGGwQA2dI23/BqrrzV0pBrUVJLsp00gOKIFMst
3ad2Dek5+pQW5cBn1bjLE8eDL8fk4nGRXKp+BZWYQkhEFmEHnCVSPZLvh8Ij31aj
70drBEGY1fS49cUuEDyhs4xLm3IE+DJ5tq1PA6kGsC3rSn/DF9+VTc+kiEq/evLu
1TLm3gWtEYM=
=x+HN
-END PGP SIGNATURE-


Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-16 Thread Alan D. Cabrera
I am of the strong opinion of releasing new features in a patch release 
is a bad idea.  This should go in 1.1.0.  I think that we should feature 
freeze 1.1.0 at the end of this month.



Regards,
Alan

Jules Gosnell wrote, On 1/16/2006 3:01 AM:

Here is my penniesworth :

Users want clustering - I get mails everyday
Users do not expect that a 1.0 release will contain a complete 
clustering solution - they have realistic expectations.


We have a chance with the 1.0, now 1.0.1 release, to mark certain areas 
as 'technology preview' and use these to demonstrate emerging Geronimo 
technologies to our user-base. This is one of the ways that Open Source 
projects traditionally generate interest and reach out to new potential 
developers. All aspects of clustering in Geronimo are going to require 
considerable work, and this is our chance to show our users that we are 
involved in at least some of these areas and invite them to contribute.


I crafted my last change to make as few alterations to 1.0 as possible. 
It was called 'unacceptable', as far as I can tell, because it did not 
go far enough. Now we are saying that we only want minimal change 
between 1.0 and 1.0.1 - so what is it to be ?


A clearly defined subset of WADI fnality will 'work' by the time 1.0.1 
is released. If we work towards the necessary integration now, then we 
will have a while to discuss it and get it in, if we don't, then it will 
again be termed too precipitous, we will miss 1.0.1 and the current 
fragmented approach to web clustering will persist in Geronimo, 
impacting on a growing number of users.




Jules


Jan Bartel wrote:


David,

To paraphrase what you said (if I understand correctly), the choices 
are to either back clustering out of geronimo for the 1.0.1 release 
and work on it for a future release, or to make minimal changes to it 
to make it work

in geronimo as is.

I think it's unlikely that there will be a significant rush to 
production with a 1.0 release of geronimo, so there is probably a bit 
of latitude for less-than-optimal functioning in terms of 2nd order 
functionality such as clustering if it were to be left in. It would be 
good to get Jules' input on the state of WADI on this point.


However, if we leave clustering in the way it is implemented at the 
moment, then the disadvantages are:

1. clustering is enabled differently for tomcat and jetty and a basic
  tenet of geronimo is to make the webcontainers interchangeable
2. clustering is enabled in the webapp descriptors instead of the 
container

3. users that use the 1.0.1 clustering will have to change each webapp
  to use it on future releases.
If we roll forward again to the most recent clustering changes:
1. clustering interface is uniform for both tomcat and jetty
2. clustering is enabled in the container 3. no geronimo webapp 
descriptor changes necessary


Of course, the most recent changes are not the final clustering
solution, so there would be changes to the container plans
in the future (eg in 1.1). But changes to the plans could probably be 
expected for any geronimo services between releases, no?


I don't like the option of leaving the clustering with per-webapp
geronimo descriptor configuration because it's just simply the
wrong way to do it and will be a pain in the neck for users when
we change to a better way in future releases. I think it would be 
better to take clustering out than to release 1.0.1 with it like it is.


So, the two options I see for 1.0.1 are:

1. take the clustering out and release in 1.1 after more discussion
2. leave clustering in, roll forward again and fix any issues

I really don't have a preference either way - I think both are 
meritworthy.


regards
Jan





I think that it would be better to work on clustering in head and 
not  try to hurry to get something that we know will change and has 
not  been well tested into 1.0.1.  I have no experience with actual  
clustering.  Will people who want to use it expect something well  
tested and stable?  Will they be willing to work off snapshot builds  
to pick up the latest fixes?  What would the reaction be to 
something  that only sort of works in an official release?


thanks
david jencks


On Jan 14, 2006, at 3:46 AM, Jules Gosnell wrote:


OK, Folks - here is how I see it -

Everyone knows that they are right and the other guy is wrong.

Result - DEADLOCK - everyone loses.

Solution - release locks, back off, coordinate, retry.

Releasing locks involves us all making concessions :

I suggest -

Jan, Greg and I conceded that Jeff could have been more involved in  
discussion before this change went in.
Jeff concedes that Jan, Greg and I should have been involved in  
discussion before he backed the change out.

We all agree to overlook all current technical differences.
We all agree to put aside whatever bad feelings may have arisen  
from this incident.


OK - locks released, backing-off complete.

Now, coordination :

WADI side :

I will downgrade t

Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-16 Thread Rodent of Unusual Size
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Jeff Genender wrote:
> 
> I have backed out the change you made.

If a change has been vetoed, but the veto's validity is under
challenge, it's not a good thing for the vetoer to go ahead
and revert the change anyway after the challenge has been made.
It's not wicked bad, but it's not good.
- --
#kenP-)}

Ken Coar, Sanagendamgagwedweinini  http://Ken.Coar.Org/
Author, developer, opinionist  http://Apache-Server.Com/

"Millennium hand and shrimp!"
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.4 (MingW32)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iQCVAwUBQ8vCVJrNPMCpn3XdAQJeeQP/WuSTXysb4z8V0YLgAO6XhaKQse0MOzLY
PnKf4mghWl1n09vqYCj8RhCeBuGclB7pigI63UJO5O7IMBmqQq1JE+ey94ciuHJt
61T8JOHJiS3YVghy/evY6tN3s7CZSarR5xQ98YLX9gHDkTgrfpP/tyghpwa1ppua
Jd7EaTAARmw=
=OX8Q
-END PGP SIGNATURE-


Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-16 Thread Jules Gosnell

Jacek Laskowski wrote:


2006/1/16, Jules Gosnell <[EMAIL PROTECTED]>:

 


I crafted my last change to make as few alterations to 1.0 as possible.
It was called 'unacceptable', as far as I can tell, because it did not
go far enough. Now we are saying that we only want minimal change
between 1.0 and 1.0.1 - so what is it to be ?

A clearly defined subset of WADI fnality will 'work' by the time 1.0.1
is released. If we work towards the necessary integration now, then we
will have a while to discuss it and get it in, if we don't, then it will
again be termed too precipitous, we will miss 1.0.1 and the current
fragmented approach to web clustering will persist in Geronimo,
impacting on a growing number of users.
   



Hi Jules,

I'm a complete newbie in the area of clustering, but the discussion
has kept me thinking about its merit and influence on the current
codebase. Would you please point out the revision number where I could
look at and judge yourself how much impact it could incur? Is r368344
the revision to look at?
 


Yes.

You will see very little in the change itself. I just integrates some 
other code (WADI - wadi.codehaus.org), an HttpSession (in this case) 
clustering solution.
The change should have no impact unless the  flag is set 
in a webapp's WEB-INF/web.xml, in which case it endeavours to set up a 
parameterisable SessionManager within the webcontainer (Jetty or Tomcat).


Jules


Jacek

--
Jacek Laskowski
http://www.laskowski.org.pl
 




--
"Open Source is a self-assembling organism. You dangle a piece of
string into a super-saturated solution and a whole operating-system
crystallises out around it."

/**
* Jules Gosnell
* Partner
* Core Developers Network (Europe)
*
*www.coredevelopers.net
*
* Open Source Training & Support.
**/



Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-16 Thread Jacek Laskowski
2006/1/16, Jules Gosnell <[EMAIL PROTECTED]>:

> I crafted my last change to make as few alterations to 1.0 as possible.
> It was called 'unacceptable', as far as I can tell, because it did not
> go far enough. Now we are saying that we only want minimal change
> between 1.0 and 1.0.1 - so what is it to be ?
>
> A clearly defined subset of WADI fnality will 'work' by the time 1.0.1
> is released. If we work towards the necessary integration now, then we
> will have a while to discuss it and get it in, if we don't, then it will
> again be termed too precipitous, we will miss 1.0.1 and the current
> fragmented approach to web clustering will persist in Geronimo,
> impacting on a growing number of users.

Hi Jules,

I'm a complete newbie in the area of clustering, but the discussion
has kept me thinking about its merit and influence on the current
codebase. Would you please point out the revision number where I could
look at and judge yourself how much impact it could incur? Is r368344
the revision to look at?

Jacek

--
Jacek Laskowski
http://www.laskowski.org.pl


Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-16 Thread Jules Gosnell

Here is my penniesworth :

Users want clustering - I get mails everyday
Users do not expect that a 1.0 release will contain a complete 
clustering solution - they have realistic expectations.


We have a chance with the 1.0, now 1.0.1 release, to mark certain areas 
as 'technology preview' and use these to demonstrate emerging Geronimo 
technologies to our user-base. This is one of the ways that Open Source 
projects traditionally generate interest and reach out to new potential 
developers. All aspects of clustering in Geronimo are going to require 
considerable work, and this is our chance to show our users that we are 
involved in at least some of these areas and invite them to contribute.


I crafted my last change to make as few alterations to 1.0 as possible. 
It was called 'unacceptable', as far as I can tell, because it did not 
go far enough. Now we are saying that we only want minimal change 
between 1.0 and 1.0.1 - so what is it to be ?


A clearly defined subset of WADI fnality will 'work' by the time 1.0.1 
is released. If we work towards the necessary integration now, then we 
will have a while to discuss it and get it in, if we don't, then it will 
again be termed too precipitous, we will miss 1.0.1 and the current 
fragmented approach to web clustering will persist in Geronimo, 
impacting on a growing number of users.




Jules


Jan Bartel wrote:


David,

To paraphrase what you said (if I understand correctly), the choices 
are to either back clustering out of geronimo for the 1.0.1 release 
and work on it for a future release, or to make minimal changes to it 
to make it work

in geronimo as is.

I think it's unlikely that there will be a significant rush to 
production with a 1.0 release of geronimo, so there is probably a bit 
of latitude for less-than-optimal functioning in terms of 2nd order 
functionality such as clustering if it were to be left in. It would be 
good to get Jules' input on the state of WADI on this point.


However, if we leave clustering in the way it is implemented at the 
moment, then the disadvantages are:

1. clustering is enabled differently for tomcat and jetty and a basic
  tenet of geronimo is to make the webcontainers interchangeable
2. clustering is enabled in the webapp descriptors instead of the 
container

3. users that use the 1.0.1 clustering will have to change each webapp
  to use it on future releases.
If we roll forward again to the most recent clustering changes:
1. clustering interface is uniform for both tomcat and jetty
2. clustering is enabled in the container 3. no geronimo webapp 
descriptor changes necessary


Of course, the most recent changes are not the final clustering
solution, so there would be changes to the container plans
in the future (eg in 1.1). But changes to the plans could probably be 
expected for any geronimo services between releases, no?


I don't like the option of leaving the clustering with per-webapp
geronimo descriptor configuration because it's just simply the
wrong way to do it and will be a pain in the neck for users when
we change to a better way in future releases. I think it would be 
better to take clustering out than to release 1.0.1 with it like it is.


So, the two options I see for 1.0.1 are:

1. take the clustering out and release in 1.1 after more discussion
2. leave clustering in, roll forward again and fix any issues

I really don't have a preference either way - I think both are 
meritworthy.


regards
Jan





I think that it would be better to work on clustering in head and 
not  try to hurry to get something that we know will change and has 
not  been well tested into 1.0.1.  I have no experience with actual  
clustering.  Will people who want to use it expect something well  
tested and stable?  Will they be willing to work off snapshot builds  
to pick up the latest fixes?  What would the reaction be to 
something  that only sort of works in an official release?


thanks
david jencks


On Jan 14, 2006, at 3:46 AM, Jules Gosnell wrote:


OK, Folks - here is how I see it -

Everyone knows that they are right and the other guy is wrong.

Result - DEADLOCK - everyone loses.

Solution - release locks, back off, coordinate, retry.

Releasing locks involves us all making concessions :

I suggest -

Jan, Greg and I conceded that Jeff could have been more involved in  
discussion before this change went in.
Jeff concedes that Jan, Greg and I should have been involved in  
discussion before he backed the change out.

We all agree to overlook all current technical differences.
We all agree to put aside whatever bad feelings may have arisen  
from this incident.


OK - locks released, backing-off complete.

Now, coordination :

WADI side :

I will downgrade the log.info to a log.debug
I will remove the axion dependency.
I will resubmit the change as a patch to Jan and Jeff.

Jetty/Tomcat side :
Jan and Jeff will take this patch, and all relevant input.
If they feel that they need further discussion, t

Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-15 Thread Jeff Genender
Lets make something clear here...

There are two facets of clustering in Geronimo right now. WADI and
Tomcat clustering.  The Tomcat clustering uses the Tomcat clustering
objects and GBeans and they work and have been tested including a full
howto in Confluence:

http://opensource2.atlassian.com/confluence/oss/display/GERONIMO/Geronimo+Clustering+Example

I am completely open to making WADI available in 1.0.1, and will be
happy to go along with it being a 1.1 release if that is consensus.  I
support it in its entirety and where needed.

But I do not believe the Tomcat objects should be removed and should be
categorized differently, as these have been confirmed as working and
ready for use.  So when we talk about clustering, I think we need to be
more succinct in stating which clustering we are talking about.

Jeff

Jan Bartel wrote:
> David,
> 
> To paraphrase what you said (if I understand correctly), the choices are
> to either back clustering out of geronimo for the 1.0.1 release and work
> on it for a future release, or to make minimal changes to it to make it
> work
> in geronimo as is.
> 
> I think it's unlikely that there will be a significant rush to
> production with a 1.0 release of geronimo, so there is probably a bit of
> latitude for less-than-optimal functioning in terms of 2nd order
> functionality such as clustering if it were to be left in. It would be
> good to get Jules' input on the state of WADI on this point.
> 
> However, if we leave clustering in the way it is implemented at the
> moment, then the disadvantages are:
> 1. clustering is enabled differently for tomcat and jetty and a basic
>   tenet of geronimo is to make the webcontainers interchangeable
> 2. clustering is enabled in the webapp descriptors instead of the container
> 3. users that use the 1.0.1 clustering will have to change each webapp
>   to use it on future releases.
> If we roll forward again to the most recent clustering changes:
> 1. clustering interface is uniform for both tomcat and jetty
> 2. clustering is enabled in the container 3. no geronimo webapp
> descriptor changes necessary
> 
> Of course, the most recent changes are not the final clustering
> solution, so there would be changes to the container plans
> in the future (eg in 1.1). But changes to the plans could probably be
> expected for any geronimo services between releases, no?
> 
> I don't like the option of leaving the clustering with per-webapp
> geronimo descriptor configuration because it's just simply the
> wrong way to do it and will be a pain in the neck for users when
> we change to a better way in future releases. I think it would be better
> to take clustering out than to release 1.0.1 with it like it is.
> 
> So, the two options I see for 1.0.1 are:
> 
> 1. take the clustering out and release in 1.1 after more discussion
> 2. leave clustering in, roll forward again and fix any issues
> 
> I really don't have a preference either way - I think both are meritworthy.
> 
> regards
> Jan
> 
> 
> 
> 
> 
>> I think that it would be better to work on clustering in head and not 
>> try to hurry to get something that we know will change and has not 
>> been well tested into 1.0.1.  I have no experience with actual 
>> clustering.  Will people who want to use it expect something well 
>> tested and stable?  Will they be willing to work off snapshot builds 
>> to pick up the latest fixes?  What would the reaction be to something 
>> that only sort of works in an official release?
>>
>> thanks
>> david jencks
>>
>>
>> On Jan 14, 2006, at 3:46 AM, Jules Gosnell wrote:
>>
>>> OK, Folks - here is how I see it -
>>>
>>> Everyone knows that they are right and the other guy is wrong.
>>>
>>> Result - DEADLOCK - everyone loses.
>>>
>>> Solution - release locks, back off, coordinate, retry.
>>>
>>> Releasing locks involves us all making concessions :
>>>
>>> I suggest -
>>>
>>> Jan, Greg and I conceded that Jeff could have been more involved in 
>>> discussion before this change went in.
>>> Jeff concedes that Jan, Greg and I should have been involved in 
>>> discussion before he backed the change out.
>>> We all agree to overlook all current technical differences.
>>> We all agree to put aside whatever bad feelings may have arisen  from
>>> this incident.
>>>
>>> OK - locks released, backing-off complete.
>>>
>>> Now, coordination :
>>>
>>> WADI side :
>>>
>>> I will downgrade the log.info to a log.debug
>>> I will remove the axion dependency.
>>> I will resubmit the change as a patch to Jan and Jeff.
>>>
>>> Jetty/Tomcat side :
>>> Jan and Jeff will take this patch, and all relevant input.
>>> If they feel that they need further discussion, they will have it.
>>> They will implement a simple, unified solution to the issue for all 
>>> existing cases and get it in to Geronimo 1.0.1
>>>
>>>
>>> I simply want a speedy, painless resolution so we can continue  forward.
>>>
>>> If everyone else is happy with these terms, then here is my '+1'
>>>
>>>
>>> Jules
>>>

Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-15 Thread Jan Bartel

David,

To paraphrase what you said (if I understand correctly), the choices are 
to either back clustering out of geronimo for the 1.0.1 release and work on it 
for a future release, or to make minimal changes to it to make it work

in geronimo as is.

I think it's unlikely that there will be a significant rush to production 
with a 1.0 release of geronimo, so there is probably a bit of latitude 
for less-than-optimal functioning in terms of 2nd order functionality 
such as clustering if it were to be left in. It would be good to get 
Jules' input on the state of WADI on this point.


However, if we leave clustering in the way it is implemented at the moment, 
then the disadvantages are:

1. clustering is enabled differently for tomcat and jetty and a basic
  tenet of geronimo is to make the webcontainers interchangeable
2. clustering is enabled in the webapp descriptors instead of the container
3. users that use the 1.0.1 clustering will have to change each webapp
  to use it on future releases. 


If we roll forward again to the most recent clustering changes:
1. clustering interface is uniform for both tomcat and jetty
2. clustering is enabled in the container 
3. no geronimo webapp descriptor changes necessary


Of course, the most recent changes are not the final clustering
solution, so there would be changes to the container plans
in the future (eg in 1.1). But changes to the plans could probably 
be expected for any geronimo services between releases, no?


I don't like the option of leaving the clustering with per-webapp
geronimo descriptor configuration because it's just simply the
wrong way to do it and will be a pain in the neck for users when
we change to a better way in future releases. I think it would be 
better to take clustering out than to release 1.0.1 with it like it is.


So, the two options I see for 1.0.1 are:

1. take the clustering out and release in 1.1 after more discussion
2. leave clustering in, roll forward again and fix any issues

I really don't have a preference either way - I think both are 
meritworthy.


regards
Jan





I think that it would be better to work on clustering in head and not  
try to hurry to get something that we know will change and has not  been 
well tested into 1.0.1.  I have no experience with actual  clustering.  
Will people who want to use it expect something well  tested and 
stable?  Will they be willing to work off snapshot builds  to pick up 
the latest fixes?  What would the reaction be to something  that only 
sort of works in an official release?


thanks
david jencks


On Jan 14, 2006, at 3:46 AM, Jules Gosnell wrote:


OK, Folks - here is how I see it -

Everyone knows that they are right and the other guy is wrong.

Result - DEADLOCK - everyone loses.

Solution - release locks, back off, coordinate, retry.

Releasing locks involves us all making concessions :

I suggest -

Jan, Greg and I conceded that Jeff could have been more involved in  
discussion before this change went in.
Jeff concedes that Jan, Greg and I should have been involved in  
discussion before he backed the change out.

We all agree to overlook all current technical differences.
We all agree to put aside whatever bad feelings may have arisen  from 
this incident.


OK - locks released, backing-off complete.

Now, coordination :

WADI side :

I will downgrade the log.info to a log.debug
I will remove the axion dependency.
I will resubmit the change as a patch to Jan and Jeff.

Jetty/Tomcat side :
Jan and Jeff will take this patch, and all relevant input.
If they feel that they need further discussion, they will have it.
They will implement a simple, unified solution to the issue for all  
existing cases and get it in to Geronimo 1.0.1



I simply want a speedy, painless resolution so we can continue  forward.

If everyone else is happy with these terms, then here is my '+1'


Jules


Jeff Genender wrote:


Hi Jules.

A few comments.  First, you made changes without discussing them  on the
dev lists.

As per the discussions in the past, both Aaron and David Jencks,  as 
well

as I threw in our .02 on how to integrate the clustering.  I would
appreciate you discuss code ideas and changes that have such a  drastic
impact on the Geronimo code base.  Here are the issues with your  
check in:


1) I explained before for Jetty, and obviously now I need to do it  for
Tomcat, a -1 on Axion as a dependency.  There should not be any web
application dependencies injected at the container level.  This means
there is a severe architectural issue with WADI when we are injecting
these dependencies into the container.

2) You hard coded in org.codehaus.wadi.tomcat55.TomcatManager as the
distributablesession manager in the TomcatContainer.  Hardcoding a
pluggable session engine is very bad, and defeats the pluggability  of a
configuration that we requested.

3) You placed log.info() in the code, and Aaron worked pretty hard to
clean those up.

4) Your integration of setting the manager

Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-14 Thread lichtner


On Sat, 14 Jan 2006, David Jencks wrote:

> What would the reaction be to something
> that only sort of works in an official release?

IMHO all features all features in a production release should be usable.
It's not a problem if the functionality is limited, as long as it works.


Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-14 Thread David Jencks

I think this is a major step towards resolving this issue, thanks Jules.

I would like however to start a discussion about whether these  
changes should go into 1.0.1.  I will freely admit that I thought  
that clustering features were crammed into 1.0 at the last minute  
without adequate testing and discussion and that the results have  
been unsatisfactory and we would be better off without them in 1.0.   
I apologize for not objecting at the time.


Here are some factors that I think must be weighed in a decision  
about whether to include changes to clustering in 1.0.1 or 1.1:


- when will 1.1 come out.  The longer off it is, the more pressure to  
get something available sooner.

- the purpose of 1.0.1: essential bugfix or development free for all
- whether the immediate changes proposed for 1.0.1 will change any  
interfaces or deployment descriptors used in 1.0
- whether the proposed interfaces for 1.0.1 are expected to be stable  
or will change again for 1.1
- if the clustering changes go into 1.0.1, will they actually be  
production ready or at least as stable/usable as the rest of 1.0.1


Here is what I think about these factors:
- I want 1.1 to come out fairly soon, in about 3 months after 1.0.   
That should mean a feature freeze in perhaps 6 weeks.
- I want 1.0.1 to only fix severe problems in 1.0 and avoid changing  
any interfaces/ deployment descriptors
- AFAICT the proposals for clustering involve changing how it is set  
up in 1.0, both interfaces and plans.
- Based on the work so far I don't think we will have an acceptable  
stable solution for the interfaces and plans for 1.0.1
- I have no idea how stable clustering functionality might be.  AFAIK  
it has not been tested much if at all yet.


I think that it would be better to work on clustering in head and not  
try to hurry to get something that we know will change and has not  
been well tested into 1.0.1.  I have no experience with actual  
clustering.  Will people who want to use it expect something well  
tested and stable?  Will they be willing to work off snapshot builds  
to pick up the latest fixes?  What would the reaction be to something  
that only sort of works in an official release?


thanks
david jencks


On Jan 14, 2006, at 3:46 AM, Jules Gosnell wrote:


OK, Folks - here is how I see it -

Everyone knows that they are right and the other guy is wrong.

Result - DEADLOCK - everyone loses.

Solution - release locks, back off, coordinate, retry.

Releasing locks involves us all making concessions :

I suggest -

Jan, Greg and I conceded that Jeff could have been more involved in  
discussion before this change went in.
Jeff concedes that Jan, Greg and I should have been involved in  
discussion before he backed the change out.

We all agree to overlook all current technical differences.
We all agree to put aside whatever bad feelings may have arisen  
from this incident.


OK - locks released, backing-off complete.

Now, coordination :

WADI side :

I will downgrade the log.info to a log.debug
I will remove the axion dependency.
I will resubmit the change as a patch to Jan and Jeff.

Jetty/Tomcat side :
Jan and Jeff will take this patch, and all relevant input.
If they feel that they need further discussion, they will have it.
They will implement a simple, unified solution to the issue for all  
existing cases and get it in to Geronimo 1.0.1



I simply want a speedy, painless resolution so we can continue  
forward.


If everyone else is happy with these terms, then here is my '+1'


Jules


Jeff Genender wrote:


Hi Jules.

A few comments.  First, you made changes without discussing them  
on the

dev lists.

As per the discussions in the past, both Aaron and David Jencks,  
as well

as I threw in our .02 on how to integrate the clustering.  I would
appreciate you discuss code ideas and changes that have such a  
drastic
impact on the Geronimo code base.  Here are the issues with your  
check in:


1) I explained before for Jetty, and obviously now I need to do it  
for

Tomcat, a -1 on Axion as a dependency.  There should not be any web
application dependencies injected at the container level.  This means
there is a severe architectural issue with WADI when we are injecting
these dependencies into the container.

2) You hard coded in org.codehaus.wadi.tomcat55.TomcatManager as the
distributablesession manager in the TomcatContainer.  Hardcoding a
pluggable session engine is very bad, and defeats the pluggability  
of a

configuration that we requested.

3) You placed log.info() in the code, and Aaron worked pretty hard to
clean those up.

4) Your integration of setting the manager (no matter what) is a  
direct

clash with the

Jules, I am giving a complete -1 of checkin of 368344.  These are all
for technical reasons.  Please back out these changes, and bring this
discussion to the Geronimo lists as this needs some significant
discussion for implementation.  I would appreciate that you please
involve the Apach

Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-14 Thread Matt Hogstrom

My comments inline...

Greg Wilkins wrote:

Jules Gosnell wrote:


I suggest -
Jan, Greg and I conceded that Jeff could have been more involved in
discussion before this change went in.



+1



We all agree to overlook all current technical differences.



I don't think "overlook" is the right word.  Continue discussing
would be better. See below.



Continue discussing is better.  Life is iteration.




We all agree to put aside whatever bad feelings may have arisen from
this incident.



I am deeply dissappointed that the conversation degenerated
as it did.  More so that neither the participants nor the
community were able to publicly or privately disarm the thread.
As I'm no stranger to such threads - I'd really appreciate
if third parties could point out publicly or private where 
I went wrong and why my words were seen as attacks?


But yes +1 lets move on.

Since you asked for feedback.  Personally, I probably contacted Jeff offline 
first to see what was up and try to ensure that I understood his issues.  At 
that point I think documenting and moving on with the list would have worked.  I 
know we want to work in the public but it seemed based on Jeff's response that 
perhaps a quick "offline" chat could have avoided the public debate.  Anyway, 
hindsight is 20-20.




WADI side :
...
I will resubmit the change as a patch to Jan and Jeff.

Jetty/Tomcat side :
Jan and Jeff will take this patch, and all relevant input.
If they feel that they need further discussion, they will have it.
They will implement a simple, unified solution to the issue for all
existing cases and get it in to Geronimo 1.0.1



Actually, before trying the patch again,  I think we need to back off a 
little bit more and get the requirements straight.   ie what is it that

we are trying to achieve for 1.0.1

My understanding was that there were two goals:

 1) make clustering work in the release.
+1 to this.  What "work" means to me is that any outstanding issues related to 
clustering not working are addressed.  Improved documentation would be useful 
for the users too.


 2) Unified clustering configuration that allows an unmodified web app 
to be deployed on g-jetty and g-tomcat.


I think this is more of a 1.1 issue.  I think the items that would need to be 
surfaced for 1.0.1 is how large are the changes and how close to complete are 
they.  Many people have expressed that 1.0.1 should go out "in a few weeks" so I 
expect that this is more fit and finish rather than significant new function.


  
Hopefully we all agree that 1) is a requirement and i think Jules should

open a JIRA to capture that some things were broken in 1.0 and need to
be fixed for 1.0.1

However, I'm not so sure we agree on the need for 2) in 1.0.1 and I
think that has been the cause of much of the disagreement.   It appears
that to achieve  2)  may require either some compromises (eg clustering
configs in container plans) or significant work (create share stand alone 
clustering plan).

I think that removing differences between Jetty and tomcat is a high priority 
and that we can accept some compromises to unify things for 1.0.1, as that

will halve any breakage needed for 1.1 etc.  Thus I do think that
2) is a requirement - but others may disagree


I think 2 is important but not required.  The only holdback here from my 
perspective is how will this affect users going from 1.0.1 to 1.1 and on.  If 
there is going to be a large disruption if we don't do this in 1.0.1 and a fix 
is available and simply needs to be tested then I think we can consider for 
1.0.1.  My gut tells me to wait but I don't have enough info.





regards



Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-14 Thread James Goodwill

+1

On Jan 14, 2006, at 4:46 AM, Jules Gosnell wrote:


OK, Folks - here is how I see it -

Everyone knows that they are right and the other guy is wrong.

Result - DEADLOCK - everyone loses.

Solution - release locks, back off, coordinate, retry.

Releasing locks involves us all making concessions :

I suggest -

Jan, Greg and I conceded that Jeff could have been more involved in  
discussion before this change went in.
Jeff concedes that Jan, Greg and I should have been involved in  
discussion before he backed the change out.

We all agree to overlook all current technical differences.
We all agree to put aside whatever bad feelings may have arisen  
from this incident.


OK - locks released, backing-off complete.

Now, coordination :

WADI side :

I will downgrade the log.info to a log.debug
I will remove the axion dependency.
I will resubmit the change as a patch to Jan and Jeff.

Jetty/Tomcat side :
Jan and Jeff will take this patch, and all relevant input.
If they feel that they need further discussion, they will have it.
They will implement a simple, unified solution to the issue for all  
existing cases and get it in to Geronimo 1.0.1



I simply want a speedy, painless resolution so we can continue  
forward.


If everyone else is happy with these terms, then here is my '+1'


Jules


Jeff Genender wrote:


Hi Jules.

A few comments.  First, you made changes without discussing them  
on the

dev lists.

As per the discussions in the past, both Aaron and David Jencks,  
as well

as I threw in our .02 on how to integrate the clustering.  I would
appreciate you discuss code ideas and changes that have such a  
drastic
impact on the Geronimo code base.  Here are the issues with your  
check in:


1) I explained before for Jetty, and obviously now I need to do it  
for

Tomcat, a -1 on Axion as a dependency.  There should not be any web
application dependencies injected at the container level.  This means
there is a severe architectural issue with WADI when we are injecting
these dependencies into the container.

2) You hard coded in org.codehaus.wadi.tomcat55.TomcatManager as the
distributablesession manager in the TomcatContainer.  Hardcoding a
pluggable session engine is very bad, and defeats the pluggability  
of a

configuration that we requested.

3) You placed log.info() in the code, and Aaron worked pretty hard to
clean those up.

4) Your integration of setting the manager (no matter what) is a  
direct

clash with the

Jules, I am giving a complete -1 of checkin of 368344.  These are all
for technical reasons.  Please back out these changes, and bring this
discussion to the Geronimo lists as this needs some significant
discussion for implementation.  I would appreciate that you please
involve the Apache way and open discussions on the lists before doing
this sort of thing in the future.

Again, I will CC the G lists to make this clear, that I would like  
this

change backed out.

Jeff


Jules Gosnell wrote:


Here is a list of outstanding issues associated with this work:

- ActiveMQ's shutdown hook seems to trigger when Geronimo is  
shutdown,

removing AMQ before WADI - WADI doesn't like this. I have added a
property to the node.sh script which suppresses this behaviour. I  
will

document it in the Getting Started doc.

- There 'may' be issues with nodes finding each other, when a  
Geronimo

node is introduced into a WADI cluster - investigating.

- Jeff - you should look over the changes and make sure that they  
do not

impact on any other TC fn-ality. They were done with Emacs, so the
formatting may be offensive. Please feel free to make them your  
own and
bring any issues back to the list. The WADIGBean, is no longer  
used, so

you may want to remove this from the repo.

- Jan and Jeff - since this config is now done on the container  
bean and
not in the geronimo-web.xml, you may no longer need to implement  
your
own geronimo-web.xml schemas (I haven't looked very closely at  
TC). You

may want to consider this and perhaps lose them.

- In order to get the same webapp to work in all containers
(tomcat5[05], jetty[56], geronimo-[tomcat/jetty], jboss-tomcat),  
I had

to move deps back to Geronimo container-level. These include Axion,
which I know will upset Jeff. As I have stated before, WADI's  
dependence
on Axion is easily removed. If Jeff or anyone wants to look at  
replacing
it with Derby, it is fine with me, as long as they do some  
testing and
confirm that having created a session on a single node and  
restarted it,

the session survives (if the DB is still running). This needs to be
tested on all supported containers. Axion was used because it is an
in-VM DB (so imposes no further integration dependencies on the  
Getting
Started stuff and is useful for unit-testing) and was in use by  
Geronimo
at the time. So I suggest that any replacement needs to also be  
able to
run in-vm aswell. As we go further and move WADI's actual  
configuration

from the app to the contai

Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-14 Thread Bruce Snyder
Here are a couple of simple suggestions for moving this discussion forward:

1) Please make sure to have as many discussions as possible in public
on the dev@ mailing list and make sure to summarize offline
discussions as soon as possible after they have occurred.

2) Please create JIRA issues identifying any and all issues. Use these
issues as the place to document ongoing work and attach patches for
review before committing to SVN.

Bruce
--
perl -e 'print unpack("u30","D0G)[EMAIL 
PROTECTED]&5R\"F)R=6-E+G-N>61Ehttp://geronimo.apache.org/)

Castor (http://castor.org/)


Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-14 Thread Jeff Genender
+1.  This is really great stuff.

Jeff

Jules Gosnell wrote:
> OK, Folks - here is how I see it -
> 
> Everyone knows that they are right and the other guy is wrong.
> 
> Result - DEADLOCK - everyone loses.
> 
> Solution - release locks, back off, coordinate, retry.
> 
> Releasing locks involves us all making concessions :
> 
> I suggest -
> 
> Jan, Greg and I conceded that Jeff could have been more involved in
> discussion before this change went in.
> Jeff concedes that Jan, Greg and I should have been involved in
> discussion before he backed the change out.
> We all agree to overlook all current technical differences.
> We all agree to put aside whatever bad feelings may have arisen from
> this incident.
> 
> OK - locks released, backing-off complete.
> 
> Now, coordination :
> 
> WADI side :
> 
> I will downgrade the log.info to a log.debug
> I will remove the axion dependency.
> I will resubmit the change as a patch to Jan and Jeff.
> 
> Jetty/Tomcat side :
> Jan and Jeff will take this patch, and all relevant input.
> If they feel that they need further discussion, they will have it.
> They will implement a simple, unified solution to the issue for all
> existing cases and get it in to Geronimo 1.0.1
> 
> 
> I simply want a speedy, painless resolution so we can continue forward.
> 
> If everyone else is happy with these terms, then here is my '+1'
> 
> 
> Jules
> 
> 
> Jeff Genender wrote:
> 
>> Hi Jules.
>>
>> A few comments.  First, you made changes without discussing them on the
>> dev lists.
>>
>> As per the discussions in the past, both Aaron and David Jencks, as well
>> as I threw in our .02 on how to integrate the clustering.  I would
>> appreciate you discuss code ideas and changes that have such a drastic
>> impact on the Geronimo code base.  Here are the issues with your check
>> in:
>>
>> 1) I explained before for Jetty, and obviously now I need to do it for
>> Tomcat, a -1 on Axion as a dependency.  There should not be any web
>> application dependencies injected at the container level.  This means
>> there is a severe architectural issue with WADI when we are injecting
>> these dependencies into the container.
>>
>> 2) You hard coded in org.codehaus.wadi.tomcat55.TomcatManager as the
>> distributablesession manager in the TomcatContainer.  Hardcoding a
>> pluggable session engine is very bad, and defeats the pluggability of a
>> configuration that we requested.
>>
>> 3) You placed log.info() in the code, and Aaron worked pretty hard to
>> clean those up.
>>
>> 4) Your integration of setting the manager (no matter what) is a direct
>> clash with the
>>
>> Jules, I am giving a complete -1 of checkin of 368344.  These are all
>> for technical reasons.  Please back out these changes, and bring this
>> discussion to the Geronimo lists as this needs some significant
>> discussion for implementation.  I would appreciate that you please
>> involve the Apache way and open discussions on the lists before doing
>> this sort of thing in the future.
>>
>> Again, I will CC the G lists to make this clear, that I would like this
>> change backed out.
>>
>> Jeff
>>
>>
>> Jules Gosnell wrote:
>>  
>>
>>> Here is a list of outstanding issues associated with this work:
>>>
>>> - ActiveMQ's shutdown hook seems to trigger when Geronimo is shutdown,
>>> removing AMQ before WADI - WADI doesn't like this. I have added a
>>> property to the node.sh script which suppresses this behaviour. I will
>>> document it in the Getting Started doc.
>>>
>>> - There 'may' be issues with nodes finding each other, when a Geronimo
>>> node is introduced into a WADI cluster - investigating.
>>>
>>> - Jeff - you should look over the changes and make sure that they do not
>>> impact on any other TC fn-ality. They were done with Emacs, so the
>>> formatting may be offensive. Please feel free to make them your own and
>>> bring any issues back to the list. The WADIGBean, is no longer used, so
>>> you may want to remove this from the repo.
>>>
>>> - Jan and Jeff - since this config is now done on the container bean and
>>> not in the geronimo-web.xml, you may no longer need to implement your
>>> own geronimo-web.xml schemas (I haven't looked very closely at TC). You
>>> may want to consider this and perhaps lose them.
>>>
>>> - In order to get the same webapp to work in all containers
>>> (tomcat5[05], jetty[56], geronimo-[tomcat/jetty], jboss-tomcat), I had
>>> to move deps back to Geronimo container-level. These include Axion,
>>> which I know will upset Jeff. As I have stated before, WADI's dependence
>>> on Axion is easily removed. If Jeff or anyone wants to look at replacing
>>> it with Derby, it is fine with me, as long as they do some testing and
>>> confirm that having created a session on a single node and restarted it,
>>> the session survives (if the DB is still running). This needs to be
>>> tested on all supported containers. Axion was used because it is an
>>> in-VM DB (so imposes no further integration dependencies on 

Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-14 Thread Greg Wilkins
Jules Gosnell wrote:
> I suggest -
> Jan, Greg and I conceded that Jeff could have been more involved in
> discussion before this change went in.

+1

> We all agree to overlook all current technical differences.

I don't think "overlook" is the right word.  Continue discussing
would be better. See below.

> We all agree to put aside whatever bad feelings may have arisen from
> this incident.

I am deeply dissappointed that the conversation degenerated
as it did.  More so that neither the participants nor the
community were able to publicly or privately disarm the thread.
As I'm no stranger to such threads - I'd really appreciate
if third parties could point out publicly or private where 
I went wrong and why my words were seen as attacks?

But yes +1 lets move on.


> WADI side :
>...
> I will resubmit the change as a patch to Jan and Jeff.
> 
> Jetty/Tomcat side :
> Jan and Jeff will take this patch, and all relevant input.
> If they feel that they need further discussion, they will have it.
> They will implement a simple, unified solution to the issue for all
> existing cases and get it in to Geronimo 1.0.1

Actually, before trying the patch again,  I think we need to back off a 
little bit more and get the requirements straight.   ie what is it that
we are trying to achieve for 1.0.1

My understanding was that there were two goals:

 1) make clustering work in the release.  
 2) Unified clustering configuration that allows an unmodified web app 
to be deployed on g-jetty and g-tomcat.
  
Hopefully we all agree that 1) is a requirement and i think Jules should
open a JIRA to capture that some things were broken in 1.0 and need to
be fixed for 1.0.1

However, I'm not so sure we agree on the need for 2) in 1.0.1 and I
think that has been the cause of much of the disagreement.   It appears
that to achieve  2)  may require either some compromises (eg clustering
configs in container plans) or significant work (create share stand alone 
clustering plan).

I think that removing differences between Jetty and tomcat is a high priority 
and that we can accept some compromises to unify things for 1.0.1, as that
will halve any breakage needed for 1.1 etc.  Thus I do think that
2) is a requirement - but others may disagree


regards















Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-14 Thread Jules Gosnell

OK, Folks - here is how I see it -

Everyone knows that they are right and the other guy is wrong.

Result - DEADLOCK - everyone loses.

Solution - release locks, back off, coordinate, retry.

Releasing locks involves us all making concessions :

I suggest -

Jan, Greg and I conceded that Jeff could have been more involved in 
discussion before this change went in.
Jeff concedes that Jan, Greg and I should have been involved in 
discussion before he backed the change out.

We all agree to overlook all current technical differences.
We all agree to put aside whatever bad feelings may have arisen from 
this incident.


OK - locks released, backing-off complete.

Now, coordination :

WADI side :

I will downgrade the log.info to a log.debug
I will remove the axion dependency.
I will resubmit the change as a patch to Jan and Jeff.

Jetty/Tomcat side :
Jan and Jeff will take this patch, and all relevant input.
If they feel that they need further discussion, they will have it.
They will implement a simple, unified solution to the issue for all 
existing cases and get it in to Geronimo 1.0.1



I simply want a speedy, painless resolution so we can continue forward.

If everyone else is happy with these terms, then here is my '+1'


Jules


Jeff Genender wrote:


Hi Jules.

A few comments.  First, you made changes without discussing them on the
dev lists.

As per the discussions in the past, both Aaron and David Jencks, as well
as I threw in our .02 on how to integrate the clustering.  I would
appreciate you discuss code ideas and changes that have such a drastic
impact on the Geronimo code base.  Here are the issues with your check in:

1) I explained before for Jetty, and obviously now I need to do it for
Tomcat, a -1 on Axion as a dependency.  There should not be any web
application dependencies injected at the container level.  This means
there is a severe architectural issue with WADI when we are injecting
these dependencies into the container.

2) You hard coded in org.codehaus.wadi.tomcat55.TomcatManager as the
distributablesession manager in the TomcatContainer.  Hardcoding a
pluggable session engine is very bad, and defeats the pluggability of a
configuration that we requested.

3) You placed log.info() in the code, and Aaron worked pretty hard to
clean those up.

4) Your integration of setting the manager (no matter what) is a direct
clash with the

Jules, I am giving a complete -1 of checkin of 368344.  These are all
for technical reasons.  Please back out these changes, and bring this
discussion to the Geronimo lists as this needs some significant
discussion for implementation.  I would appreciate that you please
involve the Apache way and open discussions on the lists before doing
this sort of thing in the future.

Again, I will CC the G lists to make this clear, that I would like this
change backed out.

Jeff


Jules Gosnell wrote:
 


Here is a list of outstanding issues associated with this work:

- ActiveMQ's shutdown hook seems to trigger when Geronimo is shutdown,
removing AMQ before WADI - WADI doesn't like this. I have added a
property to the node.sh script which suppresses this behaviour. I will
document it in the Getting Started doc.

- There 'may' be issues with nodes finding each other, when a Geronimo
node is introduced into a WADI cluster - investigating.

- Jeff - you should look over the changes and make sure that they do not
impact on any other TC fn-ality. They were done with Emacs, so the
formatting may be offensive. Please feel free to make them your own and
bring any issues back to the list. The WADIGBean, is no longer used, so
you may want to remove this from the repo.

- Jan and Jeff - since this config is now done on the container bean and
not in the geronimo-web.xml, you may no longer need to implement your
own geronimo-web.xml schemas (I haven't looked very closely at TC). You
may want to consider this and perhaps lose them.

- In order to get the same webapp to work in all containers
(tomcat5[05], jetty[56], geronimo-[tomcat/jetty], jboss-tomcat), I had
to move deps back to Geronimo container-level. These include Axion,
which I know will upset Jeff. As I have stated before, WADI's dependence
on Axion is easily removed. If Jeff or anyone wants to look at replacing
it with Derby, it is fine with me, as long as they do some testing and
confirm that having created a session on a single node and restarted it,
the session survives (if the DB is still running). This needs to be
tested on all supported containers. Axion was used because it is an
in-VM DB (so imposes no further integration dependencies on the Getting
Started stuff and is useful for unit-testing) and was in use by Geronimo
at the time. So I suggest that any replacement needs to also be able to
run in-vm aswell. As we go further and move WADI's actual configuration
from the app to the container-level, these issues will disappear and
WADI will be able to be hooked to whatever persistance mechanism is
shipped in Geronim

Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-13 Thread Jan Bartel

Jeff,

I really can't understand your -1, let alone the backing out of
the changes, nor all of the hullabaloo.

It is quite straightforward:  in 1.0 WADI did not work in Tomcat
nor Jetty. Unfortunate and disappointing, but true. Period.

We have made minimal changes to make it work in the 1.0.1 bug-fix release, 
and started to move us toward a container-based configuration solution 
(which all of us agree on) instead of a per-webapp configuration solution

(which all of us agree is not desirable). So we are actually all in
agreement!

There is much more work to be done on the architecture as we all
know, but that is something for a 1.1 release, not another rushed
solution for the 1.0.1 bugfix release (and rushing is what caused 
us both to miss the 1.0 deadline).


I really feel you have attacked me inappropriately and quite wrongly
over this Axion jar issue. You said:


Greg, based on the fact that I -1'd Jan's inclusion of Axion on 1/5, and
it was never tended too, am I to believe the same would have occurred
here?  If you think I should have waited a few days, then perhaps I
could have.  But based on past history with you guys and handling -1s, I
don't think it was unreasonable for me to think that you weren't going
to remove it.  Its now a full week (1/5-1/12) after the -1, and it has
not been removed.  How long is a reasonable time to wait for you to back
out -1s?


If you check the SVN log you will find this:

r366693 | janb | 2006-01-07 09:19:14 +0100 (Sat, 07 Jan 2006) | 2 lines
removing axion and special activemq wadi versions and therefore jgenenders' 
codehaus repository from repo list

I did this shortly after I replied to your email of 6th January. Here is what I
said to you:

  Jeff,

  Thanks for that, I will remove the unnecessary ones. I wasn't
  sure whether the activemq WADI version was needed or not, so 
  thanks for clarifying that.  I will fix up Geronimo tomorrow.


  cheers
  Jan

And I did exactly just that - removed Axion (and the WADI-3.2 of activemq).

So can we just leave the accusations aside, put the code back in place,
and get on with working together to ensure the code works and addresses
all immediate concerns, or otherwise we will miss the 1.0.1 deadline too.

sincerely,
Jan 







I sat in the room with Jules and Jan for three days while they worked on this.  
They certainly were discussing all the threads about this and they tried 
several times for a more minimal solution (name spaces etc.) but 
nothing else proved workable.



That, in and of itself is the problem Greg.  Lets bring this out on the
lists, not in a room with Jules, Jan, and yourself. Jules said, "Jan and
Greg are staying with me for a few days, starting monday. We will go
through the integration together and keep the list up to date with any
issues that we find."

He never brought the discussion as he stated, and then followed it up
today (1/12) with: "Jan and I have just refactored the Geronimo Jetty
and Tomcat integrations to take the same approach to the installation of
a 3rd party session manager, to ease the integration of WADI. This is
now checked in on Geronimo's trunk."

Where was the list up to date on discussion of what you have found,
relative to the requests we made previously on the lists about what we
want to see in the integration?  Am I missing something here?


So they moved one aspect of the config out of the WEB-INF  and as a result 
they were able to get a webapp deployed on a mixed cluster of geronimo-jetty 
and geronimo-tomcat - HOORAY!



Great...lets chat about it...I am all for open discussion on this! Lets
see what they came up with...and work with the ideas into something that
is a good solution for the team and community!  But I wouldn't say the
change  (one aspect) was that simple from an impact perspective, Greg.



They deserve thanks for a good achievement and some peer review to
help them improve it.   The certainly don't deserve unilateral action
to erase their work and send every body back to square -1.



Peer review?  And where did that occur?  See the above comments about
Jules working with you on this, then checking it all in.  I saw no peer
review.  Remember, this is an Apache project (Geronimo)...you should be
sharing info with the community.

Nobody said it wasn't a valiant attempt, nor that the intentions weren't
good.  Based on the Axion issues, one of my -1s has nothing to do with
intentions, it has to do with putting the database hard coded dependency
in the container.  That is a serious architectural flaw.  I -1'd that on
the Jetty side as well.

If you needed to try things out...and get a review afterwards, why
didn't you just cut a quick branch and show off your changes?  Nobody
would have -1d that.


I agree with David that the session manager configuration should be moved 
again to  a clustering GBean, but that does not mean that we should move it back 
to WEB-INF while we wait for a better solution. This was a minimal solution

that can be put in pla

Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-13 Thread Greg Wilkins

Jeff,

Can you please calm down?   I'm trying to discuss your concerns, but 
you appear to be taking offence that I'm doing so?  

These are not my changes - I'm just an interested observer on this one
trying to interpret the arguments that have been put forward!


> Greg, based on the fact that I -1'd Jan's inclusion of Axion on 1/5, and
> it was never tended too,

Your concern was address.  Jan removed the dependency and put the jar back
into the webapp.   But that was for a per webapp clustering solution.
It has generally been discussed an agreed to move towards a
per container clustering configuration.


> As for Axion being used to persist the session and is a container
> dependency, I disagree...lets look at where axion is being used in WADI:

As far as I understand it, axion is used to persist the session.   There
has been plenty of discussion about this and if it is appropriate or not.
At the very least WADI should probably be changed to use derby which is
now used by geronimo.  But as of today, axion is a dependency of WADI
and we want WADI to be a container rather than a webapp service.

If what you say is true - that it is not a dependency, then just remove
the dependency 9rather than everything) and it should work!  I think
you will find that wadi does not work without it.


> The hard code of the wadi manager...

It is not hard coded.  It is just a reasonable default value and it
is loosely coupled as it is just a class name.The commit removed
a real hard dependency on WADIGBean so the change is less coupled to 
wadi!


> the Axion dependency, 

Discussed to death.   You initial -1 was address when we went back 
to a per-app config.   It is a container dependency and so it has been
moved.   Now you may argue that WADI could use persistence services
in a better way - but that is an issue for WADI not geronimo.


> lack of pluggable configuration, 

The configuration is pluggable.  Only the default is hard coded.


> lack of ability to set Clustering options (properties) at the clustering 
> component level.

Yes we all agree that a clustering GBean is needed for configuration.
It will be the place to have lots of clustering options configured.
If you think you can get this done by 1.0.1 - then great! you can
then take the session managers config out of the container plans.


> I think we have been through this.  Lets stop this nonsense and move
> forward on an open discussion with David Jencks' thread.  I think if we
> can concentrate on the positive aspects, we can get this properly going.

I don't understand.  David commented in this thread?   The issues and
suggestions he raised are being discussed?   


> Lets move on guys...we all should be moving forward here and stop
> dwelling on this.

I'm sorry Jeff, but just because you have -1'd a commit does not
mean that the discussion is over and that these changes will never
go in.   Unless it is understood why you did your -1, then how
is anybody going to proceed.   

Alternately, you could post some proposals or code of your own as 
to how to fix the change or how to achieve the results some other
way?

And finally again - I just don't understand your tone and why you
are so worked up - its just configuration for -sake?  






Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-13 Thread Jules Gosnell

Jeff Genender wrote:


First off...lets get over this...DJ has a great thread open.  I really
don't want to continue this discussion as its wasting all of our time.
Comments in line...and this is it for responding to this nonsense...time
to move on...ok?
 



Jeff,

you cannot, on the one hand, accuse people of not discussing things with 
you and, on the other, dismiss their comments as "nonsense".


Jules


Greg Wilkins wrote:
 


Jeff Genender wrote:
   


I am sorry Jules, I am -1 on the change and I stand firm on that.
 


Jeff,

I don't understand your total -1, nor the fact that you actually backed 
out the change before anybody could reply to your email.
   



Greg, based on the fact that I -1'd Jan's inclusion of Axion on 1/5, and
it was never tended too, am I to believe the same would have occurred
here?  If you think I should have waited a few days, then perhaps I
could have.  But based on past history with you guys and handling -1s, I
don't think it was unreasonable for me to think that you weren't going
to remove it.  Its now a full week (1/5-1/12) after the -1, and it has
not been removed.  How long is a reasonable time to wait for you to back
out -1s?

 

I sat in the room with Jules and Jan for three days while they worked on this.  
They certainly were discussing all the threads about this and they tried 
several times for a more minimal solution (name spaces etc.) but 
nothing else proved workable.
   



That, in and of itself is the problem Greg.  Lets bring this out on the
lists, not in a room with Jules, Jan, and yourself. Jules said, "Jan and
Greg are staying with me for a few days, starting monday. We will go
through the integration together and keep the list up to date with any
issues that we find."

He never brought the discussion as he stated, and then followed it up
today (1/12) with: "Jan and I have just refactored the Geronimo Jetty
and Tomcat integrations to take the same approach to the installation of
a 3rd party session manager, to ease the integration of WADI. This is
now checked in on Geronimo's trunk."

Where was the list up to date on discussion of what you have found,
relative to the requests we made previously on the lists about what we
want to see in the integration?  Am I missing something here?

 

So they moved one aspect of the config out of the WEB-INF  and as a result 
they were able to get a webapp deployed on a mixed cluster of geronimo-jetty 
and geronimo-tomcat - HOORAY!
   



Great...lets chat about it...I am all for open discussion on this! Lets
see what they came up with...and work with the ideas into something that
is a good solution for the team and community!  But I wouldn't say the
change  (one aspect) was that simple from an impact perspective, Greg.

 


They deserve thanks for a good achievement and some peer review to
help them improve it.   The certainly don't deserve unilateral action
to erase their work and send every body back to square -1.
   



Peer review?  And where did that occur?  See the above comments about
Jules working with you on this, then checking it all in.  I saw no peer
review.  Remember, this is an Apache project (Geronimo)...you should be
sharing info with the community.

Nobody said it wasn't a valiant attempt, nor that the intentions weren't
good.  Based on the Axion issues, one of my -1s has nothing to do with
intentions, it has to do with putting the database hard coded dependency
in the container.  That is a serious architectural flaw.  I -1'd that on
the Jetty side as well.

If you needed to try things out...and get a review afterwards, why
didn't you just cut a quick branch and show off your changes?  Nobody
would have -1d that.

 

I agree with David that the session manager configuration should be moved 
again to  a clustering GBean, but that does not mean that we should move it back 
to WEB-INF while we wait for a better solution. This was a minimal solution

that can be put in place in time for 1.0.1. We don't have time to create
a clustering module before then. 
   



Greg, I think the point here is we all need to discuss this before doing
this.  The Apache way, remember?  If you all discussed this openly,
perhaps the config could be built by now, yes?

 


As for the axion dependancy, I do believe this is a container dependancy.
Axion is being used to persist the session - which is a web container
function, not a webapp function.   We had discussed this and I thought you had 
agreed with me on this point - that we should not have to put WADI dependancies 
into WEB-INF/lib of the apps so they can be clustered.
   



Greg, that is a complete fabrication of the truth.  I am sorry Greg, I
never agreed with Axion being in the container.  I did agree with the
ability to inject the clustering as a pluggable configuration at the
container or context level.  That is as far as I agreed.  If we need a
connector (READ: RAR) to be used for the database, then this is
fine...its a pluggable component.  But as a hard 

Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-13 Thread Jules Gosnell

OK,

I am back.

David Jencks wrote:

I agree with Jeff that this change is unsatisfactory but I'm not as  
sure as he is that backing it out is necessary, perhaps we can move  
forward to an acceptable solution instead.


I have to ask - on what grounds is it unsatisfactory ?
If backing out is unecessary, how do you propose moving forwards, now 
that this has been done ?




I also am not so sure that this magnitude of change needs prior  
discussion on the list.  I've frequently made larger changes without  
discussion of my specific code.  I've also broken lots of stuff at  
various times.


Jeff has still to demostrate that something has been broken.

Having two competing configuration mechanisms instead of three does not 
constitute 'breakage', but iteration towards one single mechanism.


It may be that I have broken something. If this is the case, I would 
apologise and endevour to fix it immediately.




One thing I insist on is that it be possible to run geronimo with no  
clustering support whatsoever, including no clustering classes  
anywhere in the geronimo system.  I believe this means that each  
clustering system has to be installed as a configuration.  Doing this  
right now as the first step will I think help focus the rest of the  
componentization.


This involves splitting the Jetty and TC configs into local and 
clustered and associated refactoring. Ultimately this is where I would 
like to be aswell, but I think it unlikely to happen in time for 1.0.1.


All I am trying to do is to get a Geronimo/Jetty/Tomcat/WADI solution, 
that has as little impact as possible, in place before 1.0.1.



I don't understand the requirements very well, I hope for some answers:

- do we need to support running more than one clustering system with  
a particular web container instance (e.g. JettyContainerImpl gbean  
instance)?  I'm hoping "no"


If we pursue the direction that has been discussed, then per-app and 
per-container configs will be possible.


Per-container config will allow the container to specify a single 
default clustering solution, but apps would be free to override this 
with their own specific solution.




IIUC we are installing clustering as a session manager.  Perhaps I  
don't understand the code but it looks to me as if the jetty code at  
least is creating a new instance for each web app.   I can't believe  
this is an acceptable strategy for all clustering implementations.   
For instance, I would think if you have a bunch of web apps doing  
cross-context dispatch you would want them all to share a session  
manager.  I think we want the possibility of installing a single  
container wide session manager or per-app session managers.


I believe that I also mentioned this in one of the discussion threads., 
but this requirement did not make it onto my mental roadmap for 1.0.1.




Is it really plausible to rely on the distributable tag in the spec  
dd to turn on clustering? 


Presence of the  tag in the web.xml indicates the apps 
requirement to the container to be clustered.



I would think a further tag in our plan  should be needed.


If the app did not override (via some future extension) the container's 
choice of clustering solution, then the container's default solution 
would be implemented.




Here's what I propose:

We define a SessionManagerFactory interface, and for each clustering  
technology provide an implementation as a gbean.You can get a  
local and a distributed session manager from this interface.  The  
runtime configuration for the clustering includes this gbean.  Each  
web app context gets a reference to this gbean and  gets the  
appropriate session manager when it starts.  The web app context  
knows if it is supposed to be local or distributed so it can ask for  
the right session manager.


We have a deploy time configuration for each clustering technology  
also.  This at least supplies the gbean reference to the runtime  
gbean, and can also install a runtime gbean in the configuration  
under construction.  In this way the clustering technology can decide  
on whether one session manager is shared, a factory that always  
returns unconfigured new instances is needed, or if each web app  
needs a specially configured session manager.




If this isn't clear, I'll be happy to try to clarify.


No, it is quite clear - it is pretty close to a long-term suggestion 
which I made in conclusion to my 'geronimo-web.xml' thread:


"...Perhaps a SessionManagerFactoryGBean could be used on a per-server 
basis to create individual SessionManagers (for each app) that can then 
share further server-wide resources ?"


I was simply trying to come up with a short-term solution to tide us 
over 1.0.1 before we sat down and went for the whole enchillada.





Jules




thanks
david jencks


On Jan 12, 2006, at 7:54 AM, Jeff Genender wrote:


I didn't finish #4..sorry...

4) Your integration of setting the manager (no matter what) is a  direct
clash with 

Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-12 Thread Jeff Genender

First off...lets get over this...DJ has a great thread open.  I really
don't want to continue this discussion as its wasting all of our time.
Comments in line...and this is it for responding to this nonsense...time
to move on...ok?

Greg Wilkins wrote:
> Jeff Genender wrote:
>> I am sorry Jules, I am -1 on the change and I stand firm on that.
> 
> Jeff,
> 
> I don't understand your total -1, nor the fact that you actually backed 
> out the change before anybody could reply to your email.

Greg, based on the fact that I -1'd Jan's inclusion of Axion on 1/5, and
it was never tended too, am I to believe the same would have occurred
here?  If you think I should have waited a few days, then perhaps I
could have.  But based on past history with you guys and handling -1s, I
don't think it was unreasonable for me to think that you weren't going
to remove it.  Its now a full week (1/5-1/12) after the -1, and it has
not been removed.  How long is a reasonable time to wait for you to back
out -1s?

> 
> I sat in the room with Jules and Jan for three days while they worked on 
> this.  
> They certainly were discussing all the threads about this and they tried 
> several times for a more minimal solution (name spaces etc.) but 
> nothing else proved workable.

That, in and of itself is the problem Greg.  Lets bring this out on the
lists, not in a room with Jules, Jan, and yourself. Jules said, "Jan and
Greg are staying with me for a few days, starting monday. We will go
through the integration together and keep the list up to date with any
issues that we find."

He never brought the discussion as he stated, and then followed it up
today (1/12) with: "Jan and I have just refactored the Geronimo Jetty
and Tomcat integrations to take the same approach to the installation of
a 3rd party session manager, to ease the integration of WADI. This is
now checked in on Geronimo's trunk."

Where was the list up to date on discussion of what you have found,
relative to the requests we made previously on the lists about what we
want to see in the integration?  Am I missing something here?

> 
> So they moved one aspect of the config out of the WEB-INF  and as a result 
> they were able to get a webapp deployed on a mixed cluster of geronimo-jetty 
> and geronimo-tomcat - HOORAY!

Great...lets chat about it...I am all for open discussion on this! Lets
see what they came up with...and work with the ideas into something that
is a good solution for the team and community!  But I wouldn't say the
change  (one aspect) was that simple from an impact perspective, Greg.

> 
> They deserve thanks for a good achievement and some peer review to
> help them improve it.   The certainly don't deserve unilateral action
> to erase their work and send every body back to square -1.

Peer review?  And where did that occur?  See the above comments about
Jules working with you on this, then checking it all in.  I saw no peer
review.  Remember, this is an Apache project (Geronimo)...you should be
sharing info with the community.

Nobody said it wasn't a valiant attempt, nor that the intentions weren't
good.  Based on the Axion issues, one of my -1s has nothing to do with
intentions, it has to do with putting the database hard coded dependency
in the container.  That is a serious architectural flaw.  I -1'd that on
the Jetty side as well.

If you needed to try things out...and get a review afterwards, why
didn't you just cut a quick branch and show off your changes?  Nobody
would have -1d that.

> 
> I agree with David that the session manager configuration should be moved 
> again to  a clustering GBean, but that does not mean that we should move it 
> back 
> to WEB-INF while we wait for a better solution. This was a minimal solution
> that can be put in place in time for 1.0.1. We don't have time to create
> a clustering module before then. 

Greg, I think the point here is we all need to discuss this before doing
this.  The Apache way, remember?  If you all discussed this openly,
perhaps the config could be built by now, yes?

> 
> As for the axion dependancy, I do believe this is a container dependancy.
> Axion is being used to persist the session - which is a web container
> function, not a webapp function.   We had discussed this and I thought you 
> had 
> agreed with me on this point - that we should not have to put WADI 
> dependancies 
> into WEB-INF/lib of the apps so they can be clustered.

Greg, that is a complete fabrication of the truth.  I am sorry Greg, I
never agreed with Axion being in the container.  I did agree with the
ability to inject the clustering as a pluggable configuration at the
container or context level.  That is as far as I agreed.  If we need a
connector (READ: RAR) to be used for the database, then this is
fine...its a pluggable component.  But as a hard code, its simply wrong.

As for Axion being used to persist the session and is a container
dependency, I disagree...lets look at where axion is being used in WADI:

./m

Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-12 Thread Greg Wilkins
Jeff Genender wrote:
> I am sorry Jules, I am -1 on the change and I stand firm on that.

Jeff,

I don't understand your total -1, nor the fact that you actually backed 
out the change before anybody could reply to your email.

I sat in the room with Jules and Jan for three days while they worked on this.  
They certainly were discussing all the threads about this and they tried 
several times for a more minimal solution (name spaces etc.) but 
nothing else proved workable.

So they moved one aspect of the config out of the WEB-INF  and as a result 
they were able to get a webapp deployed on a mixed cluster of geronimo-jetty 
and geronimo-tomcat - HOORAY!

They deserve thanks for a good achievement and some peer review to
help them improve it.   The certainly don't deserve unilateral action
to erase their work and send every body back to square -1.

I agree with David that the session manager configuration should be moved 
again to  a clustering GBean, but that does not mean that we should move it 
back 
to WEB-INF while we wait for a better solution. This was a minimal solution
that can be put in place in time for 1.0.1. We don't have time to create
a clustering module before then. 

As for the axion dependancy, I do believe this is a container dependancy.
Axion is being used to persist the session - which is a web container
function, not a webapp function.   We had discussed this and I thought you had 
agreed with me on this point - that we should not have to put WADI dependancies 
into WEB-INF/lib of the apps so they can be clustered.


Of you 4 points, which is the one that is driving your -1?  Ie, if point
4) is address (not clashing with tomcat clustering), is that sufficient?
I do think that 1,2 and 3 have been addressed and none seam worth a -1 in
any case.

regards




Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-12 Thread Jeff Genender
DJ,

Thanks for beginning this thread...I think this is a great forum to
discuss it.

My discomfort with the changes is I think it placed it in a worse state
than we had it. Again, its my discomfort and wish to stand by my -1 on
it.  I cannot equate this to your checkins David, because you typically
do have a fair amount of open discussion into what you are doing before
making the change.  History will attest to that ;-)

With that said, lets use this thread to move forward this discussion..so
I am glad its here.

So lets start with the big question...

How do we want to see a clustering component integrated?  Do we want
this from a configuration/assembly level that allows for an import of
this at a plan level?  Whats the best way to allow injection at the
container level, the host level, and the context level?  How do we
support multiple clustering components taht have many configuration options?

Thanks,

Jeff

David Jencks wrote:
> I agree with Jeff that this change is unsatisfactory but I'm not as sure
> as he is that backing it out is necessary, perhaps we can move forward
> to an acceptable solution instead.
> 
> I also am not so sure that this magnitude of change needs prior
> discussion on the list.  I've frequently made larger changes without
> discussion of my specific code.  I've also broken lots of stuff at
> various times.
> 
> One thing I insist on is that it be possible to run geronimo with no
> clustering support whatsoever, including no clustering classes anywhere
> in the geronimo system.  I believe this means that each clustering
> system has to be installed as a configuration.  Doing this right now as
> the first step will I think help focus the rest of the componentization.
> 
> I don't understand the requirements very well, I hope for some answers:
> 
> - do we need to support running more than one clustering system with a
> particular web container instance (e.g. JettyContainerImpl gbean
> instance)?  I'm hoping "no"
> 
> IIUC we are installing clustering as a session manager.  Perhaps I don't
> understand the code but it looks to me as if the jetty code at least is
> creating a new instance for each web app.   I can't believe this is an
> acceptable strategy for all clustering implementations.  For instance, I
> would think if you have a bunch of web apps doing cross-context dispatch
> you would want them all to share a session manager.  I think we want the
> possibility of installing a single container wide session manager or
> per-app session managers.
> 
> Is it really plausible to rely on the distributable tag in the spec dd
> to turn on clustering? I would think a further tag in our plan should be
> needed.
> 
> Here's what I propose:
> 
> We define a SessionManagerFactory interface, and for each clustering
> technology provide an implementation as a gbean.You can get a local
> and a distributed session manager from this interface.  The runtime
> configuration for the clustering includes this gbean.  Each web app
> context gets a reference to this gbean and  gets the appropriate session
> manager when it starts.  The web app context knows if it is supposed to
> be local or distributed so it can ask for the right session manager.
> 
> We have a deploy time configuration for each clustering technology
> also.  This at least supplies the gbean reference to the runtime gbean,
> and can also install a runtime gbean in the configuration under
> construction.  In this way the clustering technology can decide on
> whether one session manager is shared, a factory that always returns
> unconfigured new instances is needed, or if each web app needs a
> specially configured session manager.
> 
> 
> 
> If this isn't clear, I'll be happy to try to clarify.
> 
> thanks
> david jencks
> 
> 
> On Jan 12, 2006, at 7:54 AM, Jeff Genender wrote:
> 
>> I didn't finish #4..sorry...
>>
>> 4) Your integration of setting the manager (no matter what) is a direct
>> clash with the Tomcat clustering components (GBeans).  We need a more
>> unified approach to selecting a clustering component.
>>
>> Jeff Genender wrote:
>>> Hi Jules.
>>>
>>> A few comments.  First, you made changes without discussing them on the
>>> dev lists.
>>>
>>> As per the discussions in the past, both Aaron and David Jencks, as well
>>> as I threw in our .02 on how to integrate the clustering.  I would
>>> appreciate you discuss code ideas and changes that have such a drastic
>>> impact on the Geronimo code base.  Here are the issues with your
>>> check in:
>>>
>>> 1) I explained before for Jetty, and obviously now I need to do it for
>>> Tomcat, a -1 on Axion as a dependency.  There should not be any web
>>> application dependencies injected at the container level.  This means
>>> there is a severe architectural issue with WADI when we are injecting
>>> these dependencies into the container.
>>>
>>> 2) You hard coded in org.codehaus.wadi.tomcat55.TomcatManager as the
>>> distributablesession manager in the TomcatContainer.  Hard

Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-12 Thread Jules Gosnell

David Jencks wrote:

I agree with Jeff that this change is unsatisfactory but I'm not as  
sure as he is that backing it out is necessary, perhaps we can move  
forward to an acceptable solution instead.



thank-you, David.

I also am not so sure that this magnitude of change needs prior  
discussion on the list.  I've frequently made larger changes without  
discussion of my specific code.  I've also broken lots of stuff at  
various times.


Thank-you again.



One thing I insist on is that it be possible to run geronimo with no  
clustering support whatsoever, including no clustering classes  
anywhere in the geronimo system.  I believe this means that each  
clustering system has to be installed as a configuration.  Doing this  
right now as the first step will I think help focus the rest of the  
componentization.


I agree. I think that clustered and non-clustered servers should be 
available.


The servers which were patched were already cluster-enable, we simply 
extended this fn-ality.


I would +1 a move to separate clustered from non-clustered configurations.



I don't understand the requirements very well, I hope for some answers:

- do we need to support running more than one clustering system with  
a particular web container instance (e.g. JettyContainerImpl gbean  
instance)?  I'm hoping "no"


I would have to say yes, because we need to be able to plug in WADI or 
the alternative TC approach. I don't expect to need to be able to run 
different approaches concurrently, but I would expect that some clusters 
might run one and some the other.




IIUC we are installing clustering as a session manager.  Perhaps I  
don't understand the code but it looks to me as if the jetty code at  
least is creating a new instance for each web app.   I can't believe  
this is an acceptable strategy for all clustering implementations.   
For instance, I would think if you have a bunch of web apps doing  
cross-context dispatch you would want them all to share a session  
manager.  I think we want the possibility of installing a single  
container wide session manager or per-app session managers.


I did mention this in one of the discussion threads. I think I said that 
my 'jury was still out' :-). If/when it comes in, I will happily 
refactor to accomodate my findings. The change in question is not an 
attempt to resolve all the worlds problems, but to get working WADI 
integrations into Geronimo-1.0.1 as simply as possible.




Is it really plausible to rely on the distributable tag in the spec  
dd to turn on clustering? I would think a further tag in our plan  
should be needed.


This is exactly what the spec mandates. Once clustering is turned on, 
you have the opportunity to configure it to you hearts delight, but the 
choice of whether or not the app is distributable rests with the app.




Here's what I propose:

We define a SessionManagerFactory interface, and for each clustering  
technology provide an implementation as a gbean.You can get a  
local and a distributed session manager from this interface.  The  
runtime configuration for the clustering includes this gbean.  Each  
web app context gets a reference to this gbean and  gets the  
appropriate session manager when it starts.  The web app context  
knows if it is supposed to be local or distributed so it can ask for  
the right session manager.



I have to go out right now.

I will look at your suggestion first thing tomorrow morning and come 
back with comments,


Jules

We have a deploy time configuration for each clustering technology  
also.  This at least supplies the gbean reference to the runtime  
gbean, and can also install a runtime gbean in the configuration  
under construction.  In this way the clustering technology can decide  
on whether one session manager is shared, a factory that always  
returns unconfigured new instances is needed, or if each web app  
needs a specially configured session manager.




If this isn't clear, I'll be happy to try to clarify.

thanks
david jencks


On Jan 12, 2006, at 7:54 AM, Jeff Genender wrote:


I didn't finish #4..sorry...

4) Your integration of setting the manager (no matter what) is a  direct
clash with the Tomcat clustering components (GBeans).  We need a more
unified approach to selecting a clustering component.

Jeff Genender wrote:


Hi Jules.

A few comments.  First, you made changes without discussing them  on 
the

dev lists.

As per the discussions in the past, both Aaron and David Jencks,  as 
well

as I threw in our .02 on how to integrate the clustering.  I would
appreciate you discuss code ideas and changes that have such a  drastic
impact on the Geronimo code base.  Here are the issues with your  
check in:


1) I explained before for Jetty, and obviously now I need to do it  for
Tomcat, a -1 on Axion as a dependency.  There should not be any web
application dependencies injected at the container level.  This means
there is a severe architectural issue with WADI 

Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-12 Thread Jules Gosnell

Jeff Genender wrote:


I am sorry Jules, I am -1 on the change and I stand firm on that.

My comments below...however, we need open discussion on the G lists as
well as consensus agreement to what you are trying to do in Geronimo.
Lets try to open up the discussion for everyone to view and discuss.

Jules Gosnell wrote:
 


Jeff Genender wrote:

   


Hi Jules.

A few comments.  First, you made changes without discussing them on the
dev lists.



 


There has been lots of discussion over the past week or two on both
geronimo-dev and wadi-dev - I took this, along with my own findings when
I looked at the code, and further offline discussion with Jan and Greg
as we were making the changes, into account.

As I have clearly stated, if you don't like the way it has been done, it
is only an iteration towards a final solution and you are welcome to
contribute codewise. It is a major step forwards as it unifies the way
that this is done between both containers, and further allows the use of
clustering solutions other than WADI.
   



I am sorry, but I don't agree.
 

I don't see how you can. The threads are clearly available to anyone who 
wants to browse the archives:


geronimo-dev/wadi-dev - "Re: geronimo-web.xml, container-config, 
container-specific namespaces"

wadi-dev: "geronimo integrations...", "WADI configuration..."

I think the area that I was working on was pretty well broadcast and 
that you could have mentioned that this was an opportune moment to unify 
not only the two disparate approaches to WADI, but also the alternative 
Tomcat clustering components.


 


As per the discussions in the past, both Aaron and David Jencks, as well
as I threw in our .02 on how to integrate the clustering.  I would
appreciate you discuss code ideas and changes

 


I was involved in the recent threads (I started them and stoked them)
and did discuss these issues. Please check the archive. To say that I
was not open to discussion is not a tenable position.

   


that have such a drastic
impact on the Geronimo code base.
 


Drastic ? It extends Geronimo to be able to run the WADI demo webapp,
with no impact whatsoever on any non-distributable webapp.
   



With web app dependencies ion the container.  Yes, that is drastic.
 

I repeat. WADI configuration is moving along a discussed and agreed 
course towards per-container as opposed to per-app configuration. WADI 
currently requires this dep (although it should not be hard to remove it 
and replace it with another DB as I have clearly indicated). The fact 
that it is a container-dep should put this point to bed.


 


Here are the issues with your check in:

1) I explained before for Jetty, and obviously now I need to do it for
Tomcat, a -1 on Axion as a dependency.  There should not be any web
application dependencies injected at the container level.  This means
there is a severe architectural issue with WADI when we are injecting
these dependencies into the container.


 


It is no longer an app dep - it is a container dep. The decision to use
WADI is now made by the container, and as stated in my mail to the list,
the config which determines this will soon move from the app to the
container.

   



Then why is Axion necessary?  Its only use is at the web application
level by my perusal of the WADI code...and testing classes at core.

 


see my previous comments about per-app vs per-container config/deps.

 


I have also invited you to work on removing this dep from WADI.

   



When we have fully moved to incubator, I would be glad to work on this code.
 

why not just fix it at codehaus - you have commit - or send me a patch 
and I will do it.


 


2) You hard coded in org.codehaus.wadi.tomcat55.TomcatManager as the
distributablesession manager in the TomcatContainer.  Hardcoding a
pluggable session engine is very bad, and defeats the pluggability of a
configuration that we requested.


 


Jeff, please take the time to read, run and understand the code before
judging it.
   



Jules, I did.  I looked at the code and was not happy with how you
integrated it and it completely defied the input you got from 3 other
Geronimo committers.  Lets start over and open up the discussion on the
Geronimo lists so the G folks can get their input.  I would be more than
happy to start this discussion.
 

No, you didn't Jeff - otherwise you would have understood that this was 
only a default value and could be trivially overriden in the container's 
plan. Behaviour for non-distributable webapps has NOT been changed. 
Behaviour for distributable webapps has been usefully defaulted. Please 
see the code extracts below.


 


As stated in my mail, a sensible default distributable session manager
is hardcoded. This is overridable in the tomcat or jetty plan. This is a
pretty standard way of doing things and means that any session manager,
not just WADI may now be selected. This is a great step forward over the
previous version where an important metho

Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-12 Thread David Jencks
I agree with Jeff that this change is unsatisfactory but I'm not as  
sure as he is that backing it out is necessary, perhaps we can move  
forward to an acceptable solution instead.


I also am not so sure that this magnitude of change needs prior  
discussion on the list.  I've frequently made larger changes without  
discussion of my specific code.  I've also broken lots of stuff at  
various times.


One thing I insist on is that it be possible to run geronimo with no  
clustering support whatsoever, including no clustering classes  
anywhere in the geronimo system.  I believe this means that each  
clustering system has to be installed as a configuration.  Doing this  
right now as the first step will I think help focus the rest of the  
componentization.


I don't understand the requirements very well, I hope for some answers:

- do we need to support running more than one clustering system with  
a particular web container instance (e.g. JettyContainerImpl gbean  
instance)?  I'm hoping "no"


IIUC we are installing clustering as a session manager.  Perhaps I  
don't understand the code but it looks to me as if the jetty code at  
least is creating a new instance for each web app.   I can't believe  
this is an acceptable strategy for all clustering implementations.   
For instance, I would think if you have a bunch of web apps doing  
cross-context dispatch you would want them all to share a session  
manager.  I think we want the possibility of installing a single  
container wide session manager or per-app session managers.


Is it really plausible to rely on the distributable tag in the spec  
dd to turn on clustering? I would think a further tag in our plan  
should be needed.


Here's what I propose:

We define a SessionManagerFactory interface, and for each clustering  
technology provide an implementation as a gbean.You can get a  
local and a distributed session manager from this interface.  The  
runtime configuration for the clustering includes this gbean.  Each  
web app context gets a reference to this gbean and  gets the  
appropriate session manager when it starts.  The web app context  
knows if it is supposed to be local or distributed so it can ask for  
the right session manager.


We have a deploy time configuration for each clustering technology  
also.  This at least supplies the gbean reference to the runtime  
gbean, and can also install a runtime gbean in the configuration  
under construction.  In this way the clustering technology can decide  
on whether one session manager is shared, a factory that always  
returns unconfigured new instances is needed, or if each web app  
needs a specially configured session manager.




If this isn't clear, I'll be happy to try to clarify.

thanks
david jencks


On Jan 12, 2006, at 7:54 AM, Jeff Genender wrote:


I didn't finish #4..sorry...

4) Your integration of setting the manager (no matter what) is a  
direct

clash with the Tomcat clustering components (GBeans).  We need a more
unified approach to selecting a clustering component.

Jeff Genender wrote:

Hi Jules.

A few comments.  First, you made changes without discussing them  
on the

dev lists.

As per the discussions in the past, both Aaron and David Jencks,  
as well

as I threw in our .02 on how to integrate the clustering.  I would
appreciate you discuss code ideas and changes that have such a  
drastic
impact on the Geronimo code base.  Here are the issues with your  
check in:


1) I explained before for Jetty, and obviously now I need to do it  
for

Tomcat, a -1 on Axion as a dependency.  There should not be any web
application dependencies injected at the container level.  This means
there is a severe architectural issue with WADI when we are injecting
these dependencies into the container.

2) You hard coded in org.codehaus.wadi.tomcat55.TomcatManager as the
distributablesession manager in the TomcatContainer.  Hardcoding a
pluggable session engine is very bad, and defeats the pluggability  
of a

configuration that we requested.

3) You placed log.info() in the code, and Aaron worked pretty hard to
clean those up.

4) Your integration of setting the manager (no matter what) is a  
direct

clash with the

Jules, I am giving a complete -1 of checkin of 368344.  These are all
for technical reasons.  Please back out these changes, and bring this
discussion to the Geronimo lists as this needs some significant
discussion for implementation.  I would appreciate that you please
involve the Apache way and open discussions on the lists before doing
this sort of thing in the future.

Again, I will CC the G lists to make this clear, that I would like  
this

change backed out.

Jeff


Jules Gosnell wrote:

Here is a list of outstanding issues associated with this work:

- ActiveMQ's shutdown hook seems to trigger when Geronimo is  
shutdown,

removing AMQ before WADI - WADI doesn't like this. I have added a
property to the node.sh script which suppresses this behaviour. I 

Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-12 Thread Jeff Genender
I am sorry Jules, I am -1 on the change and I stand firm on that.

My comments below...however, we need open discussion on the G lists as
well as consensus agreement to what you are trying to do in Geronimo.
Lets try to open up the discussion for everyone to view and discuss.

Jules Gosnell wrote:
> Jeff Genender wrote:
> 
>> Hi Jules.
>>
>> A few comments.  First, you made changes without discussing them on the
>> dev lists.
>>
>>  
>>
> There has been lots of discussion over the past week or two on both
> geronimo-dev and wadi-dev - I took this, along with my own findings when
> I looked at the code, and further offline discussion with Jan and Greg
> as we were making the changes, into account.
> 
> As I have clearly stated, if you don't like the way it has been done, it
> is only an iteration towards a final solution and you are welcome to
> contribute codewise. It is a major step forwards as it unifies the way
> that this is done between both containers, and further allows the use of
> clustering solutions other than WADI.

I am sorry, but I don't agree.

> 
>> As per the discussions in the past, both Aaron and David Jencks, as well
>> as I threw in our .02 on how to integrate the clustering.  I would
>> appreciate you discuss code ideas and changes
>>
> I was involved in the recent threads (I started them and stoked them)
> and did discuss these issues. Please check the archive. To say that I
> was not open to discussion is not a tenable position.
> 
>> that have such a drastic
>> impact on the Geronimo code base.
> Drastic ? It extends Geronimo to be able to run the WADI demo webapp,
> with no impact whatsoever on any non-distributable webapp.

With web app dependencies ion the container.  Yes, that is drastic.

> 
>> Here are the issues with your check in:
>>
>> 1) I explained before for Jetty, and obviously now I need to do it for
>> Tomcat, a -1 on Axion as a dependency.  There should not be any web
>> application dependencies injected at the container level.  This means
>> there is a severe architectural issue with WADI when we are injecting
>> these dependencies into the container.
>>  
>>
> It is no longer an app dep - it is a container dep. The decision to use
> WADI is now made by the container, and as stated in my mail to the list,
> the config which determines this will soon move from the app to the
> container.
> 

Then why is Axion necessary?  Its only use is at the web application
level by my perusal of the WADI code...and testing classes at core.


> I have also invited you to work on removing this dep from WADI.
> 

When we have fully moved to incubator, I would be glad to work on this code.

>> 2) You hard coded in org.codehaus.wadi.tomcat55.TomcatManager as the
>> distributablesession manager in the TomcatContainer.  Hardcoding a
>> pluggable session engine is very bad, and defeats the pluggability of a
>> configuration that we requested.
>>  
>>
> Jeff, please take the time to read, run and understand the code before
> judging it.

Jules, I did.  I looked at the code and was not happy with how you
integrated it and it completely defied the input you got from 3 other
Geronimo committers.  Lets start over and open up the discussion on the
Geronimo lists so the G folks can get their input.  I would be more than
happy to start this discussion.

> 
> As stated in my mail, a sensible default distributable session manager
> is hardcoded. This is overridable in the tomcat or jetty plan. This is a
> pretty standard way of doing things and means that any session manager,
> not just WADI may now be selected. This is a great step forward over the
> previous version where an important method signature included the
> WADIGBean type, which restricted distributable webapps to WADI and not
> other possible alternatives.

I don't agree.  There should be no hard coding at all.  I also don't
like the

> 
>> 3) You placed log.info() in the code, and Aaron worked pretty hard to
>> clean those up.
>>  
>>
> I shall downgrade the level - apologies to Aaron - as I stated, this
> code is only an iteration towards a finished product.
> 
>> 4) Your integration of setting the manager (no matter what) is a direct
>> clash with the
>>  
>>
> with the. what ?

With the Manager.

> 
>> Jules, I am giving a complete -1 of checkin of 368344.  These are all
>> for technical reasons.  Please back out these changes, and bring this
>> discussion to the Geronimo lists as this needs some significant
>> discussion for implementation.  I would appreciate that you please
>> involve the Apache way and open discussions on the lists before doing
>> this sort of thing in the future.
>>  
>>
> Of the three reasons that you have given 2 are completely mistaken and
> one is trivial - in my book, insufficient technical argument for the
> rejection of a significant enhancement.

I am sorry , I don't agree.

> 
>> Again, I will CC the G lists to make this clear, that I would like this
>> change backed out.
>>  
>>
> In conclusion m

Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-12 Thread Jules Gosnell

see inline - I ommitted one further technical benefit of my approach:

Jules Gosnell wrote:


Jeff Genender wrote:


Hi Jules.

A few comments.  First, you made changes without discussing them on the
dev lists.

 

There has been lots of discussion over the past week or two on both 
geronimo-dev and wadi-dev - I took this, along with my own findings 
when I looked at the code, and further offline discussion with Jan and 
Greg as we were making the changes, into account.


As I have clearly stated, if you don't like the way it has been done, 
it is only an iteration towards a final solution and you are welcome 
to contribute codewise. It is a major step forwards as it unifies the 
way that this is done between both containers, and further allows the 
use of clustering solutions other than WADI.



As per the discussions in the past, both Aaron and David Jencks, as well
as I threw in our .02 on how to integrate the clustering.  I would
appreciate you discuss code ideas and changes

I was involved in the recent threads (I started them and stoked them) 
and did discuss these issues. Please check the archive. To say that I 
was not open to discussion is not a tenable position.



that have such a drastic
impact on the Geronimo code base.


Drastic ? It extends Geronimo to be able to run the WADI demo webapp, 
with no impact whatsoever on any non-distributable webapp.



Here are the issues with your check in:

1) I explained before for Jetty, and obviously now I need to do it for
Tomcat, a -1 on Axion as a dependency.  There should not be any web
application dependencies injected at the container level.  This means
there is a severe architectural issue with WADI when we are injecting
these dependencies into the container.
 

It is no longer an app dep - it is a container dep. The decision to 
use WADI is now made by the container, and as stated in my mail to the 
list, the config which determines this will soon move from the app to 
the container.


I have also invited you to work on removing this dep from WADI.


2) You hard coded in org.codehaus.wadi.tomcat55.TomcatManager as the
distributablesession manager in the TomcatContainer.  Hardcoding a
pluggable session engine is very bad, and defeats the pluggability of a
configuration that we requested.
 

Jeff, please take the time to read, run and understand the code before 
judging it.


As stated in my mail, a sensible default distributable session manager 
is hardcoded. This is overridable in the tomcat or jetty plan. This is 
a pretty standard way of doing things and means that any session 
manager, not just WADI may now be selected. This is a great step 
forward over the previous version where an important method signature 
included the WADIGBean type, which restricted distributable webapps to 
WADI and not other possible alternatives.



3) You placed log.info() in the code, and Aaron worked pretty hard to
clean those up.
 

I shall downgrade the level - apologies to Aaron - as I stated, this 
code is only an iteration towards a finished product.



4) Your integration of setting the manager (no matter what) is a direct
clash with the
 


with the. what ?


Jules, I am giving a complete -1 of checkin of 368344.  These are all
for technical reasons.  Please back out these changes, and bring this
discussion to the Geronimo lists as this needs some significant
discussion for implementation.  I would appreciate that you please
involve the Apache way and open discussions on the lists before doing
this sort of thing in the future.
 

Of the three reasons that you have given 2 are completely mistaken and 
one is trivial - in my book, insufficient technical argument for the 
rejection of a significant enhancement.



Again, I will CC the G lists to make this clear, that I would like this
change backed out.
 

In conclusion my change should remain for the following technical 
reasons.


- it fixes something that was broken
- it unifies two separate approaches into a single, more manageable 
approach, without sacrifice.
- it moves us in an agreed direction (from per-app to per-container 
based configuration)
- it is simpler than what it replaces - it frees us from requirements 
for an extra GBean and divergent Jetty and Tomcat geronimo-web.xml 
schemas.
- it is more flexible than the code that it replaces - it allows 
selection of ANY session manager, NOT JUST WADI, as was previously the 
case.

- it is small.


- it coordinates the use of the  tag in the web.xml with 
the selection of a clustered, as opposed to non-clustered session 
manager - a further useful enhancement.


Jules



On the non-technical side of things:

- preceding this change, possible solutions were discussed on relevant 
dev lists at length.
- 3 Geronimo/WADI committers were involved in and agreed on the final 
minutiae of the change.
- by fixing, simplifying and unifying the WADI/Geronimo integration, 
this changes brings significant benefit to Geronimo.


If there are aspects of the chan

Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-12 Thread Jules Gosnell

Jeff Genender wrote:


I didn't finish #4..sorry...

4) Your integration of setting the manager (no matter what) is a direct
clash with the Tomcat clustering components (GBeans).  We need a more
unified approach to selecting a clustering component.

 


OK - this is finally a useful point.

Questions :

- does my change prevent the use of alternative Tomcat clustering 
components ?

- if so, how - I will fix it ?

Jules


Jeff Genender wrote:
 


Hi Jules.

A few comments.  First, you made changes without discussing them on the
dev lists.

As per the discussions in the past, both Aaron and David Jencks, as well
as I threw in our .02 on how to integrate the clustering.  I would
appreciate you discuss code ideas and changes that have such a drastic
impact on the Geronimo code base.  Here are the issues with your check in:

1) I explained before for Jetty, and obviously now I need to do it for
Tomcat, a -1 on Axion as a dependency.  There should not be any web
application dependencies injected at the container level.  This means
there is a severe architectural issue with WADI when we are injecting
these dependencies into the container.

2) You hard coded in org.codehaus.wadi.tomcat55.TomcatManager as the
distributablesession manager in the TomcatContainer.  Hardcoding a
pluggable session engine is very bad, and defeats the pluggability of a
configuration that we requested.

3) You placed log.info() in the code, and Aaron worked pretty hard to
clean those up.

4) Your integration of setting the manager (no matter what) is a direct
clash with the

Jules, I am giving a complete -1 of checkin of 368344.  These are all
for technical reasons.  Please back out these changes, and bring this
discussion to the Geronimo lists as this needs some significant
discussion for implementation.  I would appreciate that you please
involve the Apache way and open discussions on the lists before doing
this sort of thing in the future.

Again, I will CC the G lists to make this clear, that I would like this
change backed out.

Jeff


Jules Gosnell wrote:
   


Here is a list of outstanding issues associated with this work:

- ActiveMQ's shutdown hook seems to trigger when Geronimo is shutdown,
removing AMQ before WADI - WADI doesn't like this. I have added a
property to the node.sh script which suppresses this behaviour. I will
document it in the Getting Started doc.

- There 'may' be issues with nodes finding each other, when a Geronimo
node is introduced into a WADI cluster - investigating.

- Jeff - you should look over the changes and make sure that they do not
impact on any other TC fn-ality. They were done with Emacs, so the
formatting may be offensive. Please feel free to make them your own and
bring any issues back to the list. The WADIGBean, is no longer used, so
you may want to remove this from the repo.

- Jan and Jeff - since this config is now done on the container bean and
not in the geronimo-web.xml, you may no longer need to implement your
own geronimo-web.xml schemas (I haven't looked very closely at TC). You
may want to consider this and perhaps lose them.

- In order to get the same webapp to work in all containers
(tomcat5[05], jetty[56], geronimo-[tomcat/jetty], jboss-tomcat), I had
to move deps back to Geronimo container-level. These include Axion,
which I know will upset Jeff. As I have stated before, WADI's dependence
on Axion is easily removed. If Jeff or anyone wants to look at replacing
it with Derby, it is fine with me, as long as they do some testing and
confirm that having created a session on a single node and restarted it,
the session survives (if the DB is still running). This needs to be
tested on all supported containers. Axion was used because it is an
in-VM DB (so imposes no further integration dependencies on the Getting
Started stuff and is useful for unit-testing) and was in use by Geronimo
at the time. So I suggest that any replacement needs to also be able to
run in-vm aswell. As we go further and move WADI's actual configuration
from the app to the container-level, these issues will disappear and
WADI will be able to be hooked to whatever persistance mechanism is
shipped in Geronimo by default.

- Jan & Jeff , you may want to consider pushing some of this session
manager selection code up into a shared GeronimoWebContainer abstraction
so that you don't both end up maintaining similar but diverging code...

- I may have overlooked a couple of issues. If I come across them, I
shall post them.

Further work on Geronimo integration :

- more testing
- make a new WADI release and update geronimo-trunk to use it
- look at applying diffs to a G1.0 tree and producing a binary patch for
1.0 distros.
- update website and release it


Jules



Jules Gosnell wrote:

 


Guys,

Jan and I have just refactored the Geronimo Jetty and Tomcat
integrations to take the same approach to the installation of a 3rd
party session manager, to ease the integration of WADI. This is now
checked in on Geronimo's t

Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-12 Thread Jules Gosnell

Jeff Genender wrote:


Hi Jules.

A few comments.  First, you made changes without discussing them on the
dev lists.

 

There has been lots of discussion over the past week or two on both 
geronimo-dev and wadi-dev - I took this, along with my own findings when 
I looked at the code, and further offline discussion with Jan and Greg 
as we were making the changes, into account.


As I have clearly stated, if you don't like the way it has been done, it 
is only an iteration towards a final solution and you are welcome to 
contribute codewise. It is a major step forwards as it unifies the way 
that this is done between both containers, and further allows the use of 
clustering solutions other than WADI.



As per the discussions in the past, both Aaron and David Jencks, as well
as I threw in our .02 on how to integrate the clustering.  I would
appreciate you discuss code ideas and changes

I was involved in the recent threads (I started them and stoked them) 
and did discuss these issues. Please check the archive. To say that I 
was not open to discussion is not a tenable position.



that have such a drastic
impact on the Geronimo code base. 

Drastic ? It extends Geronimo to be able to run the WADI demo webapp, 
with no impact whatsoever on any non-distributable webapp.



Here are the issues with your check in:

1) I explained before for Jetty, and obviously now I need to do it for
Tomcat, a -1 on Axion as a dependency.  There should not be any web
application dependencies injected at the container level.  This means
there is a severe architectural issue with WADI when we are injecting
these dependencies into the container.
 

It is no longer an app dep - it is a container dep. The decision to use 
WADI is now made by the container, and as stated in my mail to the list, 
the config which determines this will soon move from the app to the 
container.


I have also invited you to work on removing this dep from WADI.


2) You hard coded in org.codehaus.wadi.tomcat55.TomcatManager as the
distributablesession manager in the TomcatContainer.  Hardcoding a
pluggable session engine is very bad, and defeats the pluggability of a
configuration that we requested.
 

Jeff, please take the time to read, run and understand the code before 
judging it.


As stated in my mail, a sensible default distributable session manager 
is hardcoded. This is overridable in the tomcat or jetty plan. This is a 
pretty standard way of doing things and means that any session manager, 
not just WADI may now be selected. This is a great step forward over the 
previous version where an important method signature included the 
WADIGBean type, which restricted distributable webapps to WADI and not 
other possible alternatives.



3) You placed log.info() in the code, and Aaron worked pretty hard to
clean those up.
 

I shall downgrade the level - apologies to Aaron - as I stated, this 
code is only an iteration towards a finished product.



4) Your integration of setting the manager (no matter what) is a direct
clash with the
 


with the. what ?


Jules, I am giving a complete -1 of checkin of 368344.  These are all
for technical reasons.  Please back out these changes, and bring this
discussion to the Geronimo lists as this needs some significant
discussion for implementation.  I would appreciate that you please
involve the Apache way and open discussions on the lists before doing
this sort of thing in the future.
 

Of the three reasons that you have given 2 are completely mistaken and 
one is trivial - in my book, insufficient technical argument for the 
rejection of a significant enhancement.



Again, I will CC the G lists to make this clear, that I would like this
change backed out.
 


In conclusion my change should remain for the following technical reasons.

- it fixes something that was broken
- it unifies two separate approaches into a single, more manageable 
approach, without sacrifice.
- it moves us in an agreed direction (from per-app to per-container 
based configuration)
- it is simpler than what it replaces - it frees us from requirements 
for an extra GBean and divergent Jetty and Tomcat geronimo-web.xml schemas.
- it is more flexible than the code that it replaces - it allows 
selection of ANY session manager, NOT JUST WADI, as was previously the case.

- it is small.

On the non-technical side of things:

- preceding this change, possible solutions were discussed on relevant 
dev lists at length.
- 3 Geronimo/WADI committers were involved in and agreed on the final 
minutiae of the change.
- by fixing, simplifying and unifying the WADI/Geronimo integration, 
this changes brings significant benefit to Geronimo.


If there are aspects of the change that you do not like, then we should 
simply work together, on top of the change, to resolve these issues.


By backing out the change, you break something that is fixed and remove 
all the beneficial code that you did not have issues with. If there are 
small issues, su

Re: -1 on checkin of 368344 was Re: [wadi-dev] Clustering: WADI/Geronimo integrations.

2006-01-12 Thread Jeff Genender
I didn't finish #4..sorry...

4) Your integration of setting the manager (no matter what) is a direct
clash with the Tomcat clustering components (GBeans).  We need a more
unified approach to selecting a clustering component.

Jeff Genender wrote:
> Hi Jules.
> 
> A few comments.  First, you made changes without discussing them on the
> dev lists.
> 
> As per the discussions in the past, both Aaron and David Jencks, as well
> as I threw in our .02 on how to integrate the clustering.  I would
> appreciate you discuss code ideas and changes that have such a drastic
> impact on the Geronimo code base.  Here are the issues with your check in:
> 
> 1) I explained before for Jetty, and obviously now I need to do it for
> Tomcat, a -1 on Axion as a dependency.  There should not be any web
> application dependencies injected at the container level.  This means
> there is a severe architectural issue with WADI when we are injecting
> these dependencies into the container.
> 
> 2) You hard coded in org.codehaus.wadi.tomcat55.TomcatManager as the
> distributablesession manager in the TomcatContainer.  Hardcoding a
> pluggable session engine is very bad, and defeats the pluggability of a
> configuration that we requested.
> 
> 3) You placed log.info() in the code, and Aaron worked pretty hard to
> clean those up.
> 
> 4) Your integration of setting the manager (no matter what) is a direct
> clash with the
> 
> Jules, I am giving a complete -1 of checkin of 368344.  These are all
> for technical reasons.  Please back out these changes, and bring this
> discussion to the Geronimo lists as this needs some significant
> discussion for implementation.  I would appreciate that you please
> involve the Apache way and open discussions on the lists before doing
> this sort of thing in the future.
> 
> Again, I will CC the G lists to make this clear, that I would like this
> change backed out.
> 
> Jeff
> 
> 
> Jules Gosnell wrote:
>> Here is a list of outstanding issues associated with this work:
>>
>> - ActiveMQ's shutdown hook seems to trigger when Geronimo is shutdown,
>> removing AMQ before WADI - WADI doesn't like this. I have added a
>> property to the node.sh script which suppresses this behaviour. I will
>> document it in the Getting Started doc.
>>
>> - There 'may' be issues with nodes finding each other, when a Geronimo
>> node is introduced into a WADI cluster - investigating.
>>
>> - Jeff - you should look over the changes and make sure that they do not
>> impact on any other TC fn-ality. They were done with Emacs, so the
>> formatting may be offensive. Please feel free to make them your own and
>> bring any issues back to the list. The WADIGBean, is no longer used, so
>> you may want to remove this from the repo.
>>
>> - Jan and Jeff - since this config is now done on the container bean and
>> not in the geronimo-web.xml, you may no longer need to implement your
>> own geronimo-web.xml schemas (I haven't looked very closely at TC). You
>> may want to consider this and perhaps lose them.
>>
>> - In order to get the same webapp to work in all containers
>> (tomcat5[05], jetty[56], geronimo-[tomcat/jetty], jboss-tomcat), I had
>> to move deps back to Geronimo container-level. These include Axion,
>> which I know will upset Jeff. As I have stated before, WADI's dependence
>> on Axion is easily removed. If Jeff or anyone wants to look at replacing
>> it with Derby, it is fine with me, as long as they do some testing and
>> confirm that having created a session on a single node and restarted it,
>> the session survives (if the DB is still running). This needs to be
>> tested on all supported containers. Axion was used because it is an
>> in-VM DB (so imposes no further integration dependencies on the Getting
>> Started stuff and is useful for unit-testing) and was in use by Geronimo
>> at the time. So I suggest that any replacement needs to also be able to
>> run in-vm aswell. As we go further and move WADI's actual configuration
>> from the app to the container-level, these issues will disappear and
>> WADI will be able to be hooked to whatever persistance mechanism is
>> shipped in Geronimo by default.
>>
>> - Jan & Jeff , you may want to consider pushing some of this session
>> manager selection code up into a shared GeronimoWebContainer abstraction
>> so that you don't both end up maintaining similar but diverging code...
>>
>> - I may have overlooked a couple of issues. If I come across them, I
>> shall post them.
>>
>> Further work on Geronimo integration :
>>
>> - more testing
>> - make a new WADI release and update geronimo-trunk to use it
>> - look at applying diffs to a G1.0 tree and producing a binary patch for
>> 1.0 distros.
>> - update website and release it
>>
>>
>> Jules
>>
>>
>>
>> Jules Gosnell wrote:
>>
>>> Guys,
>>>
>>> Jan and I have just refactored the Geronimo Jetty and Tomcat
>>> integrations to take the same approach to the installation of a 3rd
>>> party session manager, to ease the integration