You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by Stephen McConnell <mc...@apache.org> on 2003/01/24 17:12:24 UTC
Re: Excalibur/Cornerstone/James clarification
Serge Knystautas wrote:
> Stephen McConnell wrote:
>
>> There are two scenarios I think you should be considering:
>>
>> 1. a James releasse scenario - this is where you referencing
>> relased jars
>> 2. a James build that is based on the current CVS of Avalon based
>> on Gump
>
>
> I agree with 1, but not with 2.
>
> I don't think it does James any good to treat the Avalon jar
> dependencies any different than we would other libraries. I also
> don't think it does Avalon any good in the long term.
Some clarification:
Scenario (1) is getting James into shape so that it is
built and distributed based on released jar files from
wherever. This is not the case today. James is currently
using an unsupported build of cornerstone. James will
also needs to upgrade at some point to the new thread jar
from excalibur (that includes the fixes concerning pool
sizes). This upgrade impacts Phoenix as well because
James is currently bound to Phoneix at the level of the
code. All of the above is managable stuff that is reflected
in the James repository via addition of released jars in
lib directories, etc. Key actions that both James and
Avalon people need to be concerned about is:
* migration to a release for the cornerstone 1.0 components
* migration to the updated thread 1.1
* migration to a Phoenix release backed with thrread 1.1
Scenario (2) is about collaborating sufficiently so that
release candidates (like the current cornerstone-xxx-1.0 jars
and the excalibur-thread-1.1 jar) can be validated. The best
approach to this is to establish a Gump based build procedure
that is a seperate process that builds James against all of
the current Apache repositories. This has been in place for
ages and has been failing for ages. Things I'm doing are in
part address this disconnect.
Some misconceptions:
Nobody is suggesting that James move from well defined releases
to HEAD depedencies. Gump is an early warning system that will
help to keep the James community aware of changes that may
impact them across the entire Apache community. I am suggesting
that James/Cornerstone dependency get sorted - because the setup
in James today with respect to cornerstone is far from
satisfactory.
Hope that clarifies things.
Something else to keep in mind is that I'm moving close to a point
where I will be introducing James depedencies into code I'm working
on. Having James in Gump (working) provides me with a lot more
assurance about things - if something fails - then I've got info
about the source (where the source could be James or could be a
dependency that James has on some other Apache project).
>
> I know it's not ideal, but for me the big API change that happened in
> the Avalon project (Component -> Service I think it was) is not that
> big of a deal. What made it a big deal is that there was not much of
> a clear release beforehand, I don't think any release (yet) after the
> fact, and I haven't heard of a changelog or HOWTO to help users make
> this change.
>
> Codebases change all the time, and I have to believe the Avalon
> committers did what they felt was a right by moving to a different
> naming/design pattern. But with software engineering, you need
> software development practices to support it.
>
> As an example with another open source project, we use Netsaint for
> monitoring. This was basically disolved, and the authors went and
> refactored the codebase into Nagios. I don't mind that Netsaint isn't
> supported or that my large conf file needs to be completely
> rewritten... because there is explanation of what happened, clear
> releases so I can stay with Netsaint until we have the time to
> migrate, and I've heard rumor there is a conversion tool out there to
> help you migrate your conf file. These practices allow me to handle
> the change, and this is better than having Nagios people who are very
> willing to help because in the end, I know my code/system best and
> need to understand how to apply it.
>
> These software development practices allow the software engineering to
> happen with less restrictions. For the Avalon community, having James
> build against Avalon and have Avalon committers help James with that
> is a misdirection of resources (IMHO). You will get James working on
> it, but at the expense of other activities that can slow adoption of
> the codebase (which ultimately James needs to see happen as well).
I disagree with the "slowing adoption" argument. Getting James in sync
with avalon releases will accellerate adoption.
>
>
> So, I think Avalon should be treated just like other dependencies...
> people can propose updates, the community reviews it, and then if
> approved, the update happens.
>
Sounds good and I agree in principal.
BUT.
1. James needs to dump cornerstone.jar
2. A set of candidate releases of corerstone components have been
prepared that incorporate bug fixes raised here.
3. To move from a unreleased and unmaintained corerstone jar to
the candidate release means tranition from CM to SM (details
on this already supplied).
4. Both Pete and I have done the transition (not a big deal)
5. My testcase is showing problems and I havn't been able to
figure out if this is a James, Cornerstone, Excalibur issue.
6. Apparently there are problems in James HEAD that could be
contributing to this.
7. I would like to validate Cornerstone and Excalibur candidate
released against James BEFORE proposing these packages for
Avalon release.
Cheers, Steve.
--
Stephen J. McConnell
mailto:mcconnell@apache.org
http://www.osm.net
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>