Right, the archives need to behave as before. We already verify the integrity of the zip
before deploying to catch the case of a partial copy.
We originally had the marker inside the exploded dir but feedback from max and a few other
users was that it was nicer having it outside next to the status markers so it was
consistent.
Sent from my iPhone
On Jul 8, 2011, at 5:39 PM, Bill Burke <bburke(a)redhat.com> wrote:
Why not put the .deployed file within an exploded archive and a
zipped
archive just do what we used to do? Or maybe that's what you've been
discussing.
On 7/8/11 4:12 PM, Jason T. Greene wrote:
> Yes this is the issue that Bill referred to that we are going to fix.
>
> On 7/8/11 3:10 PM, Jim Crossley wrote:
>> Thanks Brian/Jason,
>>
>> I'm tickled pink to hear you guys say it should work exactly like I
>> expect.
>>
>> Unfortunately, it doesn't yet, so per your request:
>>
https://issues.jboss.org/browse/AS7-1237
>>
>> Let me know if the steps to reproduce are unclear. I used a bone-stupid
>> war file to test. I'll attach it if need be.
>>
>> Thanks again,
>> Jim
>>
>>
>> Brian Stansberry<brian.stansberry(a)redhat.com> writes:
>>
>>> On 7/8/11 2:12 PM, Brian Stansberry wrote:
>>>> On 7/8/11 2:07 PM, Brian Stansberry wrote:
>>>>> On 7/8/11 1:52 PM, Jim Crossley wrote:
>>>>>> Jason,
>>>>>>
>>>>>> I appreciate all the history, discussion and thought that went
into it.
>>>>>> I'm too lazy to read back through all that. If you'd
like to summarize,
>>>>>> great. Otherwise, I trust you.
>>>>>>
>>>>>> Just to be clear, though: unless I totally misunderstand things,
it does
>>>>>> not still "essentially work" the way I (and I'm
sure many others) would
>>>>>> prefer. I want to copy an archive to a dir to deploy it, touch
it to
>>>>>> redeploy it, and remove it to undeploy it. Period.
>>>>>>
>>>>>
>>>>> If you are talking about an actual zipped archive and not an
exploded
>>>>> deployment, and the things you described do not work, please file a
>>>>> JIRA. They should all work by default. They should actually work
better
>>>>> than AS 6, since we work hard to deal with the sitation where a zip
is
>>>>> only partially copied when the scanner runs.
>>>>
>>>> I misspoke; to undeploy you have to delete the .deployed marker.
I'll
>>>> think about whether that requirement can be eliminated.
>>>>
>>>
>>> Looks like it can be.
>>>
>>> The rationale for requiring deleting the .deployed marker to trigger
>>> undeploy was because of the exploded deployment case.
>>>
>>> Zipped deployments, we copy off to a tmp directory and serve the app
>>> from that copy. So you can delete the original version in deployments/
>>> and cause no harm. But, we server exploded deployments directly from the
>>> deployments/ dir. This allows things to work like swapping in a new
>>> version of a .html file and having it be picked up without redeploying
>>> the whole app.
>>>
>>> Deleting an exploded deployment to undeploy it is the wrong thing to do,
>>> because the deployment content has disappeared out from under the
>>> appserver before it has any chance to do a proper undeploy. So we said
>>> "don't do that, and to encourage you to do it right, the rule is
you
>>> have to delete the .deployed marker to undeploy."
>>>
>>> Well, now that rule effects zipped archives as well, for no good reason.
>>> And for exploded content there's no reason we can't try and undeploy
if
>>> you delete the content. Deleting the .deployed marker first *is the
>>> right thing to do*. But if people mess up and delete the content first,
>>> as soon as they do that they've broken their app so we might as well go
>>> ahead and undeploy.
>>>
>>>>>
>>>>> The behavior difference between AS 7 and AS 6 lies in how we treat
>>>>> exploded deployments. We don't try and detect changes to
deployment
>>>>> descriptors as a trigger for deployment, since an EE 6 app may not
even
>>>>> have a deployment descriptor. So you have to use the marker files to
>>>>> tell the scanner what your intent is.
>>>>>
>>>>>> I do not wish to rename marker files -- I simply won't
remember those
>>>>>> suffixes and the implied state machine described in that README.
>>>>>>
>>>>>> To repeat, I don't mind the marker files being around.
It's a handy way
>>>>>> to know whether a deployment failed intead of looking at the log.
I
>>>>>> just don't want to have to mess with the markers, only my
archives.
>>>>>>
>>>>>> Granted, I find the synchronous deployment and immediate
success/failure
>>>>>> offered through the CLI to be keen and swell because I, like you,
am an
>>>>>> old UNIX guy.
>>>>>>
>>>>>> But sometimes I just want to shuffle archives around. :)
>>>>>>
>>>>>> Thanks,
>>>>>> Jim
>>>>>>
>>>>>>
>>>>>> "Jason T. Greene"<jason.greene(a)redhat.com>
writes:
>>>>>>
>>>>>>> On 7/8/11 9:21 AM, Jim Crossley wrote:
>>>>>>>> I may be too old school as well, but I miss the old
file-system
>>>>>>>> deployment. The new marker system is error-prone and
confusing. The
>>>>>>>> README in the deployments dir, while helpful,
shouldn't be necessary.
>>>>>>>> Apparently, there were some edge conditions that made hot
deployment
>>>>>>>> hard -- I remember having to disable the scanner before
copying lots of
>>>>>>>> files and then reenable after -- so rather than spend the
effort to
>>>>>>>> address those issues, instead we expose the complexity to
the user?
>>>>>>>
>>>>>>> We did spend the effort to fix the issues, that's why the
markers even
>>>>>>> exist. The big issue is just that the file system is a very
poor
>>>>>>> interface for executing deployment. If you back read the
forum
>>>>>>> discussion and emails we spent an enormous amount of time
debating the
>>>>>>> fine points, so please review them before proposing any
alternative design.
>>>>>>>
>>>>>>> One of these days I'll probably throw together something
that summarizes
>>>>>>> all of that into something quicker to read.
>>>>>>>>
>>>>>>>> Copying an archive to a directory to deploy it and
removing it to
>>>>>>>> undeploy it is simple and beautiful. That mechanism
distinguishes JBoss
>>>>>>>> among the other point-and-drool app server alternatives.
Personally, I
>>>>>>>> think it's worth making that work.
>>>>>>>
>>>>>>> That's essentially how it works. Exploded directories
require an
>>>>>>> additional step due to an unsolvable issue in Java, but there
is a flag
>>>>>>> you can set to resurrect the Russian roulette approach.
>>>>>>>
>>>>>>>>
>>>>>>>> Maintaining your deployment state on the filesystem is
awesome, allowing
>>>>>>>> clever sysadmins to do some amazing things with rsync,
git, and other
>>>>>>>> filesystem-based tools. Expecting users to sacrifice
those tools in
>>>>>>>> order to use a shiny web interface or fancy CLI is a
mistake, imho. I
>>>>>>>> think the marker stuff will piss them off, tbh.
>>>>>>>
>>>>>>> All of those things you named use markers too. Not to mention
they are
>>>>>>> command oriented (like the CLI). Imagine if you had to do cp
file.java
>>>>>>> commit-dir/ vs the rich tool interface.
>>>>>>>
>>>>>>>>
>>>>>>>> I say let the deployment tools (eclipse, maven, etc) use
the CLI/API and
>>>>>>>> bring back the old deployments dir.
>>>>>>>
>>>>>>> That's what we have. The difference is that we fixed some
really hairy
>>>>>>> problems that plagued the server before, and now we tell you
if it was
>>>>>>> successful or not and why it failed.
>>>>>>>
>>>>>>> There are certainly improvements that could be made.
Bill's suggestion
>>>>>>> is right on. I noticed the same thing happens when we have an
undeployed
>>>>>>> application.
>>>>>>>
>>>>>>> Honestly I think the CLI is much better to work with because
it's
>>>>>>> synchronous, it tells you what is going on, it lets you tab
complete,
>>>>>>> etc. Although I am a UNIX guy so I like my command line.
>>>>>> _______________________________________________
>>>>>> jboss-as7-dev mailing list
>>>>>> jboss-as7-dev(a)lists.jboss.org
>>>>>>
https://lists.jboss.org/mailman/listinfo/jboss-as7-dev
>>>>>
>>>>>
>>>>
>>>>
>> _______________________________________________
>> jboss-as7-dev mailing list
>> jboss-as7-dev(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/jboss-as7-dev
>
>
--
Bill Burke
JBoss, a division of Red Hat
http://bill.burkecentral.com
_______________________________________________
jboss-as7-dev mailing list
jboss-as7-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-as7-dev