I agree with you - I would be concerned about adding all the alias
entries for all the modules we have in the Geronimo.

Another approach is to release samples just for v2.1.2.   I kinda like
this so that we keep things simple.   Compatibility is nice but
unexpected behavior can cause users more trouble.

Lin



On Wed, Jul 9, 2008 at 4:28 PM, Joe Bohn <[EMAIL PROTECTED]> wrote:
> Joe Bohn wrote:
>>
>>
>> Thanks for the post Lin.  I was going to start a new thread for this
>> discussion.
>>
>> I mentioned a third possibility in the Geronimo 2.1.2 plans thread ...
>> that is adding the artifact alias entries for 2.1 & 2.1.1 directly into the
>> 2.1.2 server image as part of the release.  I'm not exactly sure how I feel
>> about this.  It would solve the problem and eliminate the need for a user to
>> manually change the entries or install a compatibility plugin.  On the other
>> hand it seems a bit heavy-handed and will expose the user a long list of
>> alias entries if they need to manually change the file themselves.  I also
>> wonder if there are any performance implications as the list gets longer.
>>
>> All in all, the alias approach will work in the short term but I think
>> it's just a band-aid fix.  At some point it is going to cause grief when
>> things are not really compatible but the aliases allow a user to install
>> anyway.  At some point we're going to have to invest in a more complicated
>> and complete plugin solution that address compatibility more completely.
>>
>> Joe
>>
>> Lin Sun wrote:
>>>
>>> Hi Joe/All,
>>>
>>> Finally I was able to deploy the jaxws-calculator car file onto the
>>> server, after adding a bunch of entries in the
>>> artifact-aliases.properties file, which is essentially the same as
>>> what your compatibility plugin does.
>>>
>>> We'll have to quickly decide what to do with the compatability issue
>>> otherwise none of our sample will be installable on 2.1.2 server.
>>>
>>> One approach is to release the compatibility plugin you worked on.
>>> Is this checked in?
>
> oops ... I had intended to answer this on the last response.  No, I did not
> check this in.  I just created a empty plugin containing all of the cars in
> a tomcat server instance mapped from 2.1 (or 2.1.1) to 2.1.2-SNAPSHOT.  If
> we want to pursue that we'll need to add the jetty specific cars (cxf too)
> and address the client_artifact_aliases as well.
>
>>> Pros: we can have this quickly and get ready for the 2.1.2 release.
>>> Cons: it is extra work for the user.
>>>
>>> The other approach is to add the matching entries to the
>>> artifact-aliases.properties and client_artifact-aliases.properties on
>>> the fly.   We'll have to determine how to add them, what to add to
>>> different assemblies (can different assemblies have same entries if
>>> the extra entries don't hurt anything), etc.
>>> Pros: no extra work for the user, assuming the server can add the
>>> common matching entries to different assembly on the fly.
>>> Cons: Could take longer and is this appropriate for 2.1.2 given we'll
>>> release it very soon?
>>
>>
>>
>>
>>>
>>> Thanks, Lin
>>>
>>> On Tue, Jul 8, 2008 at 2:51 PM, Joe Bohn <[EMAIL PROTECTED]> wrote:
>>>>
>>>> Lin Sun wrote:
>>>>>
>>>>> Yes, I am able to move onto the next missing dependency module.
>>>>> Thanks.
>>>>>
>>>>> Is there a reason why we need both?  I thought we just need one and
>>>>> version can be omitted on the left side per
>>>>>
>>>>>
>>>>> http://cwiki.apache.org/GMOxDOC21/how-to-upgrade-jars-and-swap-modules.html
>>>>
>>>> What you need depends on the way the dependency itself is specified.  If
>>>> it
>>>> is specified with the version such as 2.1 then you need the /2.1/ entry.
>>>>  This is the case for the jsp sample.  If it is called out without a
>>>> version
>>>> then you need the // entry.  The doc you referenced calls the former a
>>>> "fixed version".
>>>>
>>>> IIRC the jsp sample had 2.1 in the jasper dependency ... but it also had
>>>> a
>>>> dependency on the tomcat/jetty car.  The tomcat/jetty car has a
>>>> dependency
>>>> on jasper without the version.  You might not need the // entry but in
>>>> general it is usually best to provide both the versioned and
>>>> non-versioned
>>>> entries.
>>>>
>>>> BTW, I was actually using a quick pass at a compatibility plugin I had
>>>> created for that included all of the cars for the tomcat server instance
>>>> ...
>>>> so some other dependencies may have been resolved beyond jasper (such as
>>>> the
>>>> tomcat dependency).
>>>>
>>>> Joe
>>>>
>>>>> Lin
>>>>>
>>>>> On Tue, Jul 8, 2008 at 2:06 PM, Joe Bohn <[EMAIL PROTECTED]>
>>>>> wrote:
>>>>>>
>>>>>> Lin Sun wrote:
>>>>>>>
>>>>>>> Hi Joe,
>>>>>>>
>>>>>>> Is this scenario working for you after your fix?  I updated the
>>>>>>> artifact-aliases.properties file in var/config manually when server
>>>>>>> is
>>>>>>> shutdown -
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> org.apache.geronimo.configs/jasper//car=org.apache.geronimo.configs/jasper/2.1.2-SNAPSHOT/car
>>>>>>
>>>>>> You need one more additional entry  ...
>>>>>>
>>>>>>
>>>>>> org.apache.geronimo.configs/jasper/2.1/car=org.apache.geronimo.configs/jasper/2.1.2-SNAPSHOT/car
>>>>>>
>>>>>> That worked for me.
>>>>>>
>>>>>> Joe
>>>>>>
>>>>>>
>>>>>>> However, I am still getting the "Missing dependency:
>>>>>>> org.apache.geronimo.configs/jasper/2.1/car" error.
>>>>>>>
>>>>>>> What am I missing?  Thanks, Lin
>>>>>>>
>>>>>>> On Thu, Jul 3, 2008 at 4:19 PM, Joe Bohn <[EMAIL PROTECTED]>
>>>>>>> wrote:
>>>>>>>>
>>>>>>>> Joe Bohn wrote:
>>>>>>>> Ok, I confirmed that DefaultArtifactResolver.queryArtifacts() was
>>>>>>>> not
>>>>>>>> including aliases for the query ... hence the problem.  Thanks to a
>>>>>>>> good
>>>>>>>> pointer from David Jencks I was able to easily add this into the
>>>>>>>> query.
>>>>>>>> I
>>>>>>>> created GERONIMO-4182 for this problem and checked in a fix for
>>>>>>>> 2.1.2-SNAPSHOT and 2.2-SNAPSHOT.
>>>>>>>>
>>>>>>>> Unfortunately, that means that we won't be able to use a version
>>>>>>>> compatibility plugin for anything prior to 2.1.2/2.2 ... so we will
>>>>>>>> need
>>>>>>>> to
>>>>>>>> come up with another solution for samples or other plugins created
>>>>>>>> for
>>>>>>>> Geronimo 2.1 that we want to run on Geronimo 2.1.1.
>>>>>>>>
>>>>>>>> Joe
>>>>>>>>
>>>>>>>>
>>>>>>>>> Joe
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> thanks
>>>>>>>>>> david jencks
>>>>>>>>>>
>>>>>>>>>> On Jul 2, 2008, at 8:46 AM, Joe Bohn wrote:
>>>>>>>>>>
>>>>>>>>>>> I attempted to create a version compatibility plugin such that
>>>>>>>>>>> plugins
>>>>>>>>>>> with dependencies on 2.1 artifacts could attempt to be installed
>>>>>>>>>>> in
>>>>>>>>>>> a
>>>>>>>>>>> 2.2-SNAPSHOT server image (mapping 2.1 car artifacts to
>>>>>>>>>>> 2.2-SNAPSHOT
>>>>>>>>>>> car
>>>>>>>>>>> artifacts).  However, thus far I'm not having any success.
>>>>>>>>>>>
>>>>>>>>>>> The plugin is fairly simple.  Just a bunch of entries for
>>>>>>>>>>> artifact
>>>>>>>>>>> aliases and no other content:
>>>>>>>>>>>
>>>>>>>>>>> <plugin-artifact>
>>>>>>>>>>> ...
>>>>>>>>>>> <artifact-alias
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> key="org.apache.geronimo.configs/jasper//car">org.apache.geronimo.configs/jasper/2.2-SNAPSHOT/car</artifact-alias>
>>>>>>>>>>> <artifact-alias
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> key="org.apache.geronimo.configs/jasper/2.1/car">org.apache.geronimo.configs/jasper/2.2-SNAPSHOT/car</artifact-alias>
>>>>>>>>>>> ...
>>>>>>>>>>>
>>>>>>>>>>> I also verified that after installing the compatibility plugin
>>>>>>>>>>> that
>>>>>>>>>>> the
>>>>>>>>>>> entries are added to the artifact-aliases.properties file in
>>>>>>>>>>> var/config:
>>>>>>>>>>>
>>>>>>>>>>> ...
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> org.apache.geronimo.configs/jasper//car=org.apache.geronimo.configs/jasper/2.2-SNAPSHOT/car
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> org.apache.geronimo.configs/jasper/2.1/car=org.apache.geronimo.configs/jasper/2.2-SNAPSHOT/car
>>>>>>>>>>> ...
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Yet, even with these entries, I still get essentially the same
>>>>>>>>>>> error
>>>>>>>>>>> attempting to install samples created for 2.1 in a 2.2-SNAPSHOT
>>>>>>>>>>> server
>>>>>>>>>>> as I
>>>>>>>>>>> had without the artifact-alias entries.  I showed the jasper
>>>>>>>>>>> entries
>>>>>>>>>>> above
>>>>>>>>>>> because that is the missing dependency when I attempt to install
>>>>>>>>>>> the
>>>>>>>>>>> Tomcat
>>>>>>>>>>> JSP example plugin created for 2.1 on 2.2-SNAPSHOT (see error
>>>>>>>>>>> below).
>>>>>>>>>>>  I had
>>>>>>>>>>> similar results on a 2.1.1 server when I attempted to use a
>>>>>>>>>>> another
>>>>>>>>>>> compatibility plugin mapping 2.1 cars to 2.1.1.  Am I missing
>>>>>>>>>>> something
>>>>>>>>>>> obvious?
>>>>>>>>>>>
>>>>>>>>>>> 11:22:45,918 ERROR [PluginInstallerGBean] Unable to install
>>>>>>>>>>> plugin
>>>>>>>>>>> org.apache.geronimo.kernel.repository.MissingDependencyException:
>>>>>>>>>>> Plugin
>>>>>>>>>>> is not installable on Geronimo 2.2-SNAPSHOT
>>>>>>>>>>> Missing dependency: org.apache.geronimo.configs/jasper/2.1/car
>>>>>>>>>>>  at
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> org.apache.geronimo.system.plugin.PluginInstallerGBean.validatePlugin(PluginInstallerGBean.java:920)
>>>>>>>>>>>  at
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> org.apache.geronimo.system.plugin.PluginInstallerGBean.downloadArtifact(PluginInstallerGBean.java:1081)
>>>>>>>>>>> ...
>>>>>>>>>>>
>>>>>>>>>>> Joe
>>>>
>>>
>>
>>
>
>

Reply via email to