You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by Thomas Whitmore <th...@connectorsystems.co.nz> on 2006/05/03 08:41:36 UTC

prediction; context problems

Hi people, Sriram, Remy, Costin,


Thanks Sriram for the +1 on this!   As you guys have read, I think something is up in the the area of Context information; specifiers, parsing, and storage of current deployment state. 

I've previously been talking about determinism as one of the problems, but I don't find much indication that people get what I'm pointing out or are thinking about this at the 'concept' level.

I'm going to some effort here to clarify this, and communicate these areas.

I would therefore expect competent people to discuss Issues, not "issues". And please Costin, before you write too much about 'can't parse rant', perhaps try finding the Enter key on your own keyboard.  :-)

-----------


My understanding of the new Context/ Deployment design, is that deployed Context Specifiers are located in /conf/[engine]/[host].  My further understanding is,  that either Tomcat or the User can create these;  tomcat from a variety of original sources.

Based on this I'd like to make a couple of predictions;   re:  erroneous behaviours.

1)  Tomcat will be unable to know reliably when a Source context-specifier has been deleted, in order to delete the resultant Deployed context record.

2)  Tomcat does not have enough information to know whether a given Deployed context-specifier is owned by Tomcat or the User.

Apparently there may already be reports of #1.

Number #2 is likely to lead to to Tomcat auto-scrubbing deployed apps in the /webapps folder when a context specifier is manually edited, whether these are owned by tomcat or not.

----------

Now, for a recommended solution.

1)  never mix Ownership of anything.
2)  store the list of  Deployed Context specifiers, away from the user /conf directory;
        - storage in  /working  would be suitable.
        - keep ownership of this entirely to TC; then we will always know what is going on.
3)  sub-folder and named files structure for deployed Master Contexts is unnecessary.
        - it's complex & unnecessary, toss it entirely.
        - store as XML file instead.
        - all Context elements flat within the head; no need to structure/ nest or context path.

4)  bring back Context.ContextPath attribute, currently non-functional
        - current implementation disregards in most cases (!)
        - determine simple identification of Context Path from deployed/ context sources
            - aka.  use the Context Path if it's spec'd
            - otherwise,  use the default

5)  fix recognition of Contexts by DocBase,  currently broken
        - this will fix Contexts explicitly specified in  'server.xml', from also being deployed as
        duplicates under default settings.


-------

Anyway, hopefully this a good explanation of the issues, and helpful to the Tomcat developers and contributors in identifying what's wrong here.

I'm aware there are some Clustering issues, driving the current design, but don't know exactly what these are. My proposed solution delivers Determinism, and from a replication perspective, providing solid reliability for Context info would certainly simplify clustering this information.

Obviously, I've already put 8 - 10 hours of thought into this. But, more importantly, I've seen such 'unreliable' designs before, know what a reliable one is, and can tell the symptoms & difference pretty much instantly.

As always, the proof is in the pudding;  everything I'm raising & reporting is there, the Context stuff can exhibit ranges of undesirable behaviour (due to lack of determinism), the Context Path stuff is almost completely broken, etc. If this *wasn't* the case I'd be full of shit, but it is, so let's look at moving forward;  will those Clustering requirements interact well with the proposed solution, what other future goals are desirable, etc.

Let me know what you think,


Cheers,
Thomas
Connector Systems Ltd

thomasw   'at'   connectorsystems   'dot'    co    'dot'   nz