The tomcat regression is probably introduced here:
https://github.com/apache/tomcat/commit/08431bc0b895aa80e78e993a006cabb73aaa6490

As it only affects windows and when there are a lot of files (and those
files are constantly refreshed) it's not probably reported by anyone.



On Sat, Oct 28, 2023 at 8:24 AM Vicente Rossello <cocorosse...@gmail.com>
wrote:

> Sorry, that was not correct.
>
> The allowLinking is at the resources level. So, in the
> META-INF/context.xml file:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <Context allowCasualMultipartParsing="true" reloadable="false" 
> containerSciFilter="org.apache.tomcat.websocket.server.WsSci|org.apache.jasper.servlet.JasperInitializer"
>          parallelAnnotationScanning="true"
>          clearReferencesThreadLocals="false" 
> skipMemoryLeakChecksOnJvmShutdown="true">
>     <Manager pathname=""/>
>
>     <Resources archiveIndexStrategy="bloom" allowLinking="true"/>
> </Context>
>
>
> BTW, the slowness is something between checking the canonicalPath too many 
> times and jdk12 that removed those canonCache by default. See 
> https://bugs.openjdk.org/browse/JDK-8258036
>
>
> On Sat, Oct 28, 2023 at 8:07 AM Vicente Rossello <cocorosse...@gmail.com>
> wrote:
>
>> Hi,
>>
>> It is a tomcat problem. The real problem is in DirResourcesSet. It is
>> calling a lot of times File.getCanonicalPath(). This method is very slow in
>> windows.
>>
>> What I did is extending the DirResourcesSet to skip processing the
>> getCanonicalPath method so many times, but I really didn't understand the
>> problem.
>>
>> A simpler and better solution is to set  allowLinking="true" in the
>> context.xml file. So tomcat does not validate the canonicalPath every
>> single time, which is just too much.
>>
>> Best regards,
>> Vicente
>>
>> On Fri, Oct 27, 2023 at 5:51 PM Jens Zurawski <j...@diegurus.de> wrote:
>>
>>> My client is the last Windows System in my little universe. Due to some
>>> constraints with my customers I have to deal with it for the time being.
>>>
>>> The switches, Vicente has provided, solved the problem for me so far.
>>> But my "inner monk" is still not satisfied, because practical no one
>>> knows of these switches, and after all, TomEE should do a good job on
>>> Windows, too. And because 8.0.6 does a good job, and 8.0.8 breaks it to
>>> some degree, we should at least try to figure out, what exactly causes
>>> this break. Maybe there is an easy way to fix it, then it should be
>>> fixed IMHO.
>>>
>>> So, I will go through the bisect session anyway, as it seems the best
>>> possibility to get a grip on it. But I don't want to make these builds
>>> on Windows. I'll build them on Linux and will try to ease my life a bit
>>> with some scripting.
>>>
>>> cu
>>> Jens
>>>
>>>
>>> Am 27.10.2023 um 17:11 schrieb Richard Zowalla:
>>> > Great news! (though I am not a Windows user anymore).
>>> >
>>> > You should be able to build TomEE on Windows, too. If that does not
>>> > work out-of-the-box, you could try to build within a docker container
>>> > or via git-bash in Windows
>>> >
>>> > (I am not 100% sure a Windows build will work out of the box)
>>> >
>>> > I agree, that it might complicate things for testing purpose as it
>>> > increases the amount of cycles needed, but that are already very good
>>> > insights!
>>> >
>>> > Gruß
>>> > Richard
>>> >
>>> >
>>> > Am Freitag, dem 27.10.2023 um 16:55 +0200 schrieb Jens Zurawski:
>>> >> I have a first result on this issue:
>>> >>
>>> >> The problem does not occur if TomEE is running on Linux. I've tested
>>> >> my
>>> >> own built 8.0.8, a freshly extracted 8.0.8 and 8.0.15 from the
>>> >> releases,
>>> >> and none of them showed the dev mode performance problem.
>>> >>
>>> >> Using TomEE 8.0.8 on Windows does show the dev mode performance
>>> >> problem.
>>> >> All of the tested ones, means the released 8.0.8 and my own built
>>> >> 8.0.8
>>> >> (the one I've built on Linux).
>>> >>
>>> >> My development environment is Windows 10 (Netbeans and therefore also
>>> >> the TomEE for easy deployment and debugging). The problem does occur
>>> >> on
>>> >> stand alone started TomEE and also if started out of Netbeans, so
>>> >> Netbeans can be sorted out as the root of the problem. Java Versions
>>> >> 11,
>>> >> 13, 15 and 17 tested, all the same, so Java should also not be the
>>> >> problem. BTW: It is very unlikely a problem of my individual Windows
>>> >> installation, because this problem also shows up on the Windows
>>> >> system
>>> >> of my colleague, which btw. was the root cause why I'm started to dig
>>> >> deeper into this problem now and why I subscribed to this mailing
>>> >> list ;-)
>>> >>
>>> >> I'm afraid, this will complicate my git bisect session a little bit
>>> >> :-(
>>> >>
>>> >> However, I'll keep you posted.
>>> >>
>>> >> cu
>>> >> Jens
>>> >>
>>> >>
>>> >> Am 27.10.2023 um 13:12 schrieb Jens Zurawski:
>>> >>> Thanks Richard (and Vicente),
>>> >>>
>>> >>> I've changed to JDK 8 and now the builds are successful (both 8.0.6
>>> >>> and 8.0.8).
>>> >>>
>>> >>> I'll script me some test scripts to ease the build, run and test
>>> >>> for
>>> >>> every bisect step.
>>> >>> A build needs around 3 to 4 minutes. Running a test with my
>>> >>> application will need some manual interaction and checks, I guess
>>> >>> also
>>> >>> something around 4 minutes. This sums up to roughly 8 minutes per
>>> >>> step.
>>> >>>
>>> >>> I've started a bisect and it told me:
>>> >>> git bisect good 20441eb
>>> >>> git bisect bad 4c8a616
>>> >>> Bisecting: 136 revisions left to test after this (roughly 7 steps)
>>> >>>
>>> >>> That means, if everything works fine, I should be able to identify
>>> >>> the
>>> >>> commit after about an hour? (That's cool.... why nobody has told me
>>> >>> about git bisect before? ;-) )
>>> >>>
>>> >>> Anyway, I will have to find some time for this, maybe I need a
>>> >>> couple
>>> >>> of days to find some.
>>> >>> I will let you know about the outcome.
>>> >>>
>>> >>> cu
>>> >>> Jens
>>> >>>
>>> >>>
>>> >>> Am 27.10.2023 um 11:50 schrieb Richard Zowalla:
>>> >>>> Hi,
>>> >>>>
>>> >>>> you need Java/JDK 8 to build TomEE 8.
>>> >>>>
>>> >>>> The Maven command is
>>> >>>>
>>> >>>> mvn --fail-at-end clean install -pl tomee/apache-tomee -am -
>>> >>>> Dfile.encoding=UTF-8 -DskipTests=true
>>> >>>>
>>> >>>> You will find the tar.gz/zip in ./tomee/apache-tomee/target
>>> >>>>
>>> >>>> Gruß
>>> >>>> Richard
>>> >>>>
>>> >>>> P.S. 8.0.7 is here:
>>> >>>> https://archive.apache.org/dist/tomee/tomee-8.0.7/
>>> >>>>
>>> >>>> Am Freitag, dem 27.10.2023 um 10:50 +0200 schrieb Jens Zurawski:
>>> >>>>> Hi Richard,
>>> >>>>>
>>> >>>>> to identify the "bad" version was easy. I didn't find a 8.0.7
>>> >>>>> release
>>> >>>>> on
>>> >>>>> the download page, so I started with 8.0.8. And this version
>>> >>>>> already
>>> >>>>> has
>>> >>>>> the slow dev mode. So for my problem I can say:
>>> >>>>> good: 8.0.6
>>> >>>>> bad: 8.0.8
>>> >>>>>
>>> >>>>> Now, I think, I need a little help from you. I tried to build a
>>> >>>>> TomEE
>>> >>>>> out of git (I've cloned the github repository
>>> >>>>> https://github.com/apache/tomee.git). I've tried these two
>>> >>>>> commits:
>>> >>>>> 20441eb (tag: tomee-8.0.6)
>>> >>>>> 4c8a616 (tag: tomee-project-8.0.8)
>>> >>>>>
>>> >>>>> But the build fails every time on "TomEE :: Container :: Core"
>>> >>>>> with:
>>> >>>>>
>>> >>>>> [INFO] BUILD FAILURE
>>> >>>>> [INFO]
>>> >>>>> ---------------------------------------------------------------
>>> >>>>> ------
>>> >>>>> ---
>>> >>>>> [INFO] Total time:  01:19 min
>>> >>>>> [INFO] Finished at: 2023-10-27T10:29:40+02:00
>>> >>>>> [INFO]
>>> >>>>> ---------------------------------------------------------------
>>> >>>>> ------
>>> >>>>> ---
>>> >>>>> [ERROR] Failed to execute goal
>>> >>>>> org.apache.maven.plugins:maven-compiler-plugin:3.6.2:compile
>>> >>>>> (default-compile) on project openejb-core: Compilation failure:
>>> >>>>> Compilation failure:
>>> >>>>> [ERROR]
>>> >>>>> /sandbox/tomee/container/openejb-
>>> >>>>> core/src/main/java/org/apache/openejb/core/OrbFactory.java:[21,
>>> >>>>> 21]
>>> >>>>> package org.omg.CORBA does not exist
>>> >>>>> [ERROR]
>>> >>>>> /sandbox/tomee/container/openejb-
>>> >>>>> core/src/main/java/org/apache/openejb/core/OrbFactory.java:[24,
>>> >>>>> 12]
>>> >>>>> cannot find symbol
>>> >>>>> [ERROR]   symbol:   class ORB
>>> >>>>> [ERROR]   location: class org.apache.openejb.core.OrbFactory
>>> >>>>>
>>> >>>>> I've tried to build with:
>>> >>>>> mvn clean install
>>> >>>>>
>>> >>>>> My build environment is a linux ubuntu 20.04.6 LTS VM with:
>>> >>>>> git 2.25.1
>>> >>>>> Maven 3.6.3
>>> >>>>> java 14.0.2
>>> >>>>>
>>> >>>>> Is it some easy thing to fix, or do I have to switch some
>>> >>>>> versions of
>>> >>>>> my
>>> >>>>> environment?
>>> >>>>>
>>> >>>>> cu
>>> >>>>> Jens
>>> >>>>>
>>> >>>>> Am 26.10.2023 um 19:48 schrieb Richard Zowalla:
>>> >>>>>> Hi,
>>> >>>>>>
>>> >>>>>> without knowing code or having a reproducer, it might be not
>>> >>>>>> that
>>> >>>>>> obvious to find a reason / answer for the "academic problem"
>>> >>>>>> ;-)
>>> >>>>>>
>>> >>>>>> If you really want to boil it down, I recommend the following
>>> >>>>>> approach:
>>> >>>>>>
>>> >>>>>> (1) From your description it seems, that 8.0.6 is the last
>>> >>>>>> known
>>> >>>>>> "good"
>>> >>>>>> version.
>>> >>>>>>
>>> >>>>>> (2) You've investigated versions starting from 8.0.12
>>> >>>>>> onwards,
>>> >>>>>> which
>>> >>>>>> seems to be "bad".
>>> >>>>>>
>>> >>>>>> Following the approach recommended by Jonathan:
>>> >>>>>>
>>> >>>>>> - Can you check if it happens in 8.0.7 (8.0.8, ...) until we
>>> >>>>>> find
>>> >>>>>> the
>>> >>>>>> first "bad" released version?
>>> >>>>>>
>>> >>>>>> - If we have that, you could start a "git bisect" session
>>> >>>>>> between
>>> >>>>>> 8.0.6
>>> >>>>>> and the first version, which is known to be bad (reducing the
>>> >>>>>> amount of
>>> >>>>>> needed bisect cycles dramatically), so we find a commit /
>>> >>>>>> reason
>>> >>>>>> (if it
>>> >>>>>> is in TomEE).
>>> >>>>>>
>>> >>>>>> - It would involve some quick builds without executing tests
>>> >>>>>> (~10-
>>> >>>>>> 15min
>>> >>>>>> each) for each bisect step and testing on your side.
>>> >>>>>>
>>> >>>>>> Don't know if your inner monk is willing to go that route,
>>> >>>>>> but I am
>>> >>>>>> happy to help with the related Maven commands for quick
>>> >>>>>> building :)
>>> >>>>>>
>>> >>>>>> Gruß
>>> >>>>>> Richard
>>> >>>>>>
>>> >>>>>>
>>> >>>>>>
>>> >>>>>>
>>> >>>>>>
>>> >>>>>> Am Donnerstag, dem 26.10.2023 um 18:00 +0200 schrieb Jens
>>> >>>>>> Zurawski:
>>> >>>>>>> Hi Vicente,
>>> >>>>>>>
>>> >>>>>>> thank you for the tip. This is a good workaround. When I
>>> >>>>>>> switch
>>> >>>>>>> to
>>> >>>>>>> Production mode and insert this configuration, it reloads
>>> >>>>>>> the
>>> >>>>>>> view
>>> >>>>>>> from
>>> >>>>>>> the file if it has changed. This means, I can use a decent
>>> >>>>>>> version of
>>> >>>>>>> TomEE in my dev environment.
>>> >>>>>>>
>>> >>>>>>> However, it doesn't completely solve my problem, as the
>>> >>>>>>> error
>>> >>>>>>> reporting
>>> >>>>>>> isn't as verbose as in Dev mode as far as I can see. But I
>>> >>>>>>> have
>>> >>>>>>> to
>>> >>>>>>> check, maybe it's enough for my development.
>>> >>>>>>>
>>> >>>>>>> And, well.... the academic problem: "Why is it still broken
>>> >>>>>>> in
>>> >>>>>>> Dev
>>> >>>>>>> mode?" still runs circles through my brain ;-) Because if
>>> >>>>>>> it's a
>>> >>>>>>> problem
>>> >>>>>>> of my coding, it might be a good idea to change this,
>>> >>>>>>> before it
>>> >>>>>>> might
>>> >>>>>>> get a problem on Production mode, too, at some time in the
>>> >>>>>>> future.
>>> >>>>>>>
>>> >>>>>>> But anyway, you've helped me a good step forward, thanks.
>>> >>>>>>> cu
>>> >>>>>>> Jens
>>> >>>>>>>
>>> >>>>>>>
>>> >>>>>>> Am 26.10.2023 um 17:04 schrieb Vicente Rossello:
>>> >>>>>>>> We are using the production stage with
>>> >>>>>>>> javax.faces.FACELETS_REFRESH_PERIOD
>>> >>>>>>>> = 1. It's faster and more similar to production, just try
>>> >>>>>>>> it if
>>> >>>>>>>> it
>>> >>>>>>>> solves
>>> >>>>>>>> your problem
>>> >>>>>>>>
>>> >>>>>>>> On Thu, Oct 26, 2023 at 4:18 PM Jens Zurawski
>>> >>>>>>>> <j...@diegurus.de>
>>> >>>>>>>> wrote:
>>> >>>>>>>>
>>> >>>>>>>>> The one bundled with TomEE.
>>> >>>>>>>>> myfaces 2.3.7 on TomEE 8.0.6
>>> >>>>>>>>> and  e.g. myfaces 2.3.9 on TomEE 8.0.12
>>> >>>>>>>>>
>>> >>>>>>>>> Am 26.10.2023 um 16:08 schrieb Richard Zowalla:
>>> >>>>>>>>>> Which JSF lib are you using?
>>> >>>>>>>>>>
>>> >>>>>>>>>> Am 26. Oktober 2023 16:00:57 MESZ schrieb Jens
>>> >>>>>>>>>> Zurawski
>>> >>>>>>>>>> <j...@diegurus.de
>>> >>>>>>>>>> :
>>> >>>>>>>>>>> Thank you for your quick reply, Jonathan.
>>> >>>>>>>>>>>
>>> >>>>>>>>>>> It is good to know, that normally the Dev mode
>>> >>>>>>>>>>> should
>>> >>>>>>>>>>> work as
>>> >>>>>>>>>>> fast as
>>> >>>>>>>>> before even with 8.0.15. So it obviously has something
>>> >>>>>>>>> to do
>>> >>>>>>>>> with
>>> >>>>>>>>> my
>>> >>>>>>>>> environment, configuration and/or code.
>>> >>>>>>>>>>> And also thank you for the reference to tomitribe.
>>> >>>>>>>>>>> Unfortunately I'm
>>> >>>>>>>>> the only developer on this project, and it will be
>>> >>>>>>>>> difficult
>>> >>>>>>>>> to
>>> >>>>>>>>> convince my
>>> >>>>>>>>> customer to an additional support subscription, because
>>> >>>>>>>>> he on
>>> >>>>>>>>> production
>>> >>>>>>>>> doesn't have issues ;-) But, ok, that's my problem, and
>>> >>>>>>>>> maybe
>>> >>>>>>>>> I'll consult
>>> >>>>>>>>> tomitribe in the future for other projects.
>>> >>>>>>>>>>> So, I'm afraid, for the near future I'm on my own
>>> >>>>>>>>>>> to
>>> >>>>>>>>>>> solve
>>> >>>>>>>>>>> this
>>> >>>>>>>>> problem. Therefore any hints to restrict the places
>>> >>>>>>>>> where I
>>> >>>>>>>>> should take a
>>> >>>>>>>>> look will be more than welcome.
>>> >>>>>>>>>>> I'm a senior programmer with 20 years of experience
>>> >>>>>>>>>>> in
>>> >>>>>>>>>>> Java
>>> >>>>>>>>>>> programming
>>> >>>>>>>>> (SE and JSP). But I'm relative new to
>>> >>>>>>>>> JSF/JavaEE/JakartaEE
>>> >>>>>>>>> and
>>> >>>>>>>>> sometimes I
>>> >>>>>>>>> have a hard time to understand which component of the
>>> >>>>>>>>> whole
>>> >>>>>>>>> stack
>>> >>>>>>>>> is
>>> >>>>>>>>> responsible for what.
>>> >>>>>>>>>>> The project meanwhile has over a 1/4 million lines
>>> >>>>>>>>>>> of
>>> >>>>>>>>>>> code
>>> >>>>>>>>>>> (most of
>>> >>>>>>>>> them in the back-end, but also the front-end is big
>>> >>>>>>>>> enough to
>>> >>>>>>>>> not
>>> >>>>>>>>> trace
>>> >>>>>>>>> through every lane if I want to get to the point in
>>> >>>>>>>>> this life
>>> >>>>>>>>> :-D
>>> >>>>>>>>> ).
>>> >>>>>>>>>>> The application now runs for nearly 2 years on the
>>> >>>>>>>>>>> customers
>>> >>>>>>>>>>> site and
>>> >>>>>>>>> is very reliable and fast in its daily usage. Apart
>>> >>>>>>>>> from
>>> >>>>>>>>> occasional updates
>>> >>>>>>>>> every few month, it will never be restarted or need any
>>> >>>>>>>>> manual
>>> >>>>>>>>> maintenance
>>> >>>>>>>>> at all. So I assume the code is not the badest on
>>> >>>>>>>>> earth. At
>>> >>>>>>>>> least
>>> >>>>>>>>> because
>>> >>>>>>>>> of that I'm able to out-rule things like memory leaks,
>>> >>>>>>>>> gc
>>> >>>>>>>>> issues
>>> >>>>>>>>> or
>>> >>>>>>>>> bottlenecks (max Heap is never reached, neither half of
>>> >>>>>>>>> it,
>>> >>>>>>>>> even
>>> >>>>>>>>> after
>>> >>>>>>>>> running for month).
>>> >>>>>>>>>>> Of course there could be aspects of JSF which I may
>>> >>>>>>>>>>> not
>>> >>>>>>>>>>> have
>>> >>>>>>>>>>> understood
>>> >>>>>>>>> correctly until now. But because there are so many new
>>> >>>>>>>>> things
>>> >>>>>>>>> to
>>> >>>>>>>>> a JSF
>>> >>>>>>>>> beginner like me, I'm running out of ideas what this
>>> >>>>>>>>> could
>>> >>>>>>>>> be. It
>>> >>>>>>>>> is
>>> >>>>>>>>> something that worked well 'til TomEE 8.0.6 (Prod and
>>> >>>>>>>>> Dev
>>> >>>>>>>>> mode)
>>> >>>>>>>>> and
>>> >>>>>>>>> suddenly don't work anymore on 8.0.12 in Dev mode (but
>>> >>>>>>>>> still
>>> >>>>>>>>> works great in
>>> >>>>>>>>> Prod mode). There are only minor versions in-between.
>>> >>>>>>>>> So I
>>> >>>>>>>>> think
>>> >>>>>>>>> there were
>>> >>>>>>>>> no revolutionary changes anywhere. My hope was (and
>>> >>>>>>>>> still
>>> >>>>>>>>> is),
>>> >>>>>>>>> that anybody
>>> >>>>>>>>> here on the list might have had a similar problem and
>>> >>>>>>>>> has
>>> >>>>>>>>> solved
>>> >>>>>>>>> it, or
>>> >>>>>>>>> maybe someone knows about some changes in Dev mode
>>> >>>>>>>>> which
>>> >>>>>>>>> could
>>> >>>>>>>>> explain such
>>> >>>>>>>>> behaviour (don't know, maybe xml parsing or component
>>> >>>>>>>>> tree
>>> >>>>>>>>> generation has
>>> >>>>>>>>> changed, or scope handling of managed beans, or
>>> >>>>>>>>> whatever
>>> >>>>>>>>> could
>>> >>>>>>>>> cause some
>>> >>>>>>>>> code to be entered far more often than before, or some
>>> >>>>>>>>> cache/pool
>>> >>>>>>>>> was
>>> >>>>>>>>> removed or has different behaviour... such things).
>>> >>>>>>>>> Then it
>>> >>>>>>>>> would
>>> >>>>>>>>> be far
>>> >>>>>>>>> more easy for me to track down the real problem.
>>> >>>>>>>>>>> Anyway, when I get some spare time (currently have
>>> >>>>>>>>>>> some
>>> >>>>>>>>>>> deadlines in
>>> >>>>>>>>> sight), I'll try to build a small test case. Either I
>>> >>>>>>>>> can get
>>> >>>>>>>>> a
>>> >>>>>>>>> grip on the
>>> >>>>>>>>> issue myself on doing this, or I can supply it to
>>> >>>>>>>>> anyone who
>>> >>>>>>>>> might want to
>>> >>>>>>>>> have a look at it.
>>> >>>>>>>>>>> cu
>>> >>>>>>>>>>> Jens
>>> >>>>>>>>>>>
>>> >>>>>>>>>>>
>>> >>>>>>>>>>>
>>> >>>>>>>>>>> Am 26.10.2023 um 14:01 schrieb Jonathan S. Fisher:
>>> >>>>>>>>>>>>> newer versions are so incredibly slow in dev
>>> >>>>>>>>>>>>> mode
>>> >>>>>>>>>>>> I can assure you that Dev/Prod mode works very
>>> >>>>>>>>>>>> very
>>> >>>>>>>>>>>> swiftly
>>> >>>>>>>>>>>> on 8.0.15
>>> >>>>>>>>>>>> for sizable applications. For example, I have a
>>> >>>>>>>>>>>> giant
>>> >>>>>>>>>>>> application
>>> >>>>>>>>>>>> (thousands of LOC, 50+ jsf views) that has sub-
>>> >>>>>>>>>>>> 8ms
>>> >>>>>>>>>>>> response
>>> >>>>>>>>>>>> times
>>> >>>>>>>>>>>> (minus database time). More than likely they are
>>> >>>>>>>>>>>> doing
>>> >>>>>>>>>>>> something they
>>> >>>>>>>>>>>> should not be doing with JSF apis and are causing
>>> >>>>>>>>>>>> problems.
>>> >>>>>>>>>>>>
>>> >>>>>>>>>>>> I would check the obvious things first with
>>> >>>>>>>>>>>> VisualVM:
>>> >>>>>>>>>>>> heap
>>> >>>>>>>>>>>> size, gc
>>> >>>>>>>>>>>> frequency, etc. You can also run their profiler
>>> >>>>>>>>>>>> and see
>>> >>>>>>>>>>>> if
>>> >>>>>>>>>>>> you can
>>> >>>>>>>>>>>> spot anything immediately obvious.
>>> >>>>>>>>>>>>
>>> >>>>>>>>>>>> After that, the easiest way to locate the code
>>> >>>>>>>>>>>> slowing
>>> >>>>>>>>>>>> you
>>> >>>>>>>>>>>> down is
>>> >>>>>>>>>>>> bisection. Cut half the code out, run, and
>>> >>>>>>>>>>>> continue
>>> >>>>>>>>>>>> cutting
>>> >>>>>>>>>>>> until you
>>> >>>>>>>>>>>> can locate the problematic code. Then after that,
>>> >>>>>>>>>>>> isolate a
>>> >>>>>>>>>>>> test case
>>> >>>>>>>>>>>> where flipping a boolean flag triggers the issue
>>> >>>>>>>>>>>> and
>>> >>>>>>>>>>>> post
>>> >>>>>>>>>>>> the results
>>> >>>>>>>>>>>> here.
>>> >>>>>>>>>>>>
>>> >>>>>>>>>>>> I would get ahold of:
>>> >>>>>>>>>>>> https://www.tomitribe.com who are
>>> >>>>>>>>>>>> literal
>>> >>>>>>>>>>>> experts in this stuff. They offer professional
>>> >>>>>>>>>>>> services
>>> >>>>>>>>>>>> to
>>> >>>>>>>>>>>> handle
>>> >>>>>>>>>>>> exactly these situations and can work directly in
>>> >>>>>>>>>>>> your
>>> >>>>>>>>>>>> codebase to
>>> >>>>>>>>>>>> help you find and fix the problem.
>>> >>>>>>>>>>>>
>>> >>>>>>>>>>>> On Thu, Oct 26, 2023 at 5:48 AM Jens Zurawski
>>> >>>>>>>>>>>> <j...@diegurus.de> wrote:
>>> >>>>>>>>>>>>> Hi altogether,
>>> >>>>>>>>>>>>>
>>> >>>>>>>>>>>>> I'm new to this list and hope it's the right
>>> >>>>>>>>>>>>> place to
>>> >>>>>>>>>>>>> ask
>>> >>>>>>>>>>>>> this
>>> >>>>>>>>> question.
>>> >>>>>>>>>>>>> If not, and someone know the right place to ask
>>> >>>>>>>>>>>>> this,
>>> >>>>>>>>>>>>> please give
>>> >>>>>>>>> advise.
>>> >>>>>>>>>>>>> I'm developing a big JSF Application for a
>>> >>>>>>>>>>>>> customer.
>>> >>>>>>>>>>>>> It's
>>> >>>>>>>>>>>>> a long
>>> >>>>>>>>> running
>>> >>>>>>>>>>>>> project and development and when I started with
>>> >>>>>>>>>>>>> it,
>>> >>>>>>>>>>>>> TomEE
>>> >>>>>>>>>>>>> 8.0.6 was
>>> >>>>>>>>> the
>>> >>>>>>>>>>>>> most recent Version of TomEE. The switch to
>>> >>>>>>>>>>>>> Jakarta
>>> >>>>>>>>>>>>> is
>>> >>>>>>>>>>>>> planned for
>>> >>>>>>>>> next
>>> >>>>>>>>>>>>> year, so I'm still on the 8.x path for the time
>>> >>>>>>>>>>>>> being
>>> >>>>>>>>>>>>> and
>>> >>>>>>>>>>>>> wasn't able
>>> >>>>>>>>> to
>>> >>>>>>>>>>>>> test if this problem still exists in the 9.x
>>> >>>>>>>>>>>>> branch.
>>> >>>>>>>>>>>>>
>>> >>>>>>>>>>>>> The problem:
>>> >>>>>>>>>>>>> On the customers site I'm with the latest TomEE
>>> >>>>>>>>>>>>> version
>>> >>>>>>>>>>>>> 8.0.15
>>> >>>>>>>>> (running
>>> >>>>>>>>>>>>> on Java 11) and everything works fine, because
>>> >>>>>>>>>>>>> it is
>>> >>>>>>>>>>>>> running in
>>> >>>>>>>>>>>>> production mode. But in my development
>>> >>>>>>>>>>>>> environment
>>> >>>>>>>>>>>>> I'm
>>> >>>>>>>>>>>>> still stuck
>>> >>>>>>>>> with
>>> >>>>>>>>>>>>> 8.0.6, because there I need the development
>>> >>>>>>>>>>>>> mode
>>> >>>>>>>>>>>>> (javax.faces.PROJECT_STAGE: Development). I
>>> >>>>>>>>>>>>> need to
>>> >>>>>>>>>>>>> be
>>> >>>>>>>>>>>>> able to see
>>> >>>>>>>>>>>>> changes in facelets without restarting
>>> >>>>>>>>>>>>> everything
>>> >>>>>>>>>>>>> everytime, and to
>>> >>>>>>>>> get
>>> >>>>>>>>>>>>> more detailed error messages.
>>> >>>>>>>>>>>>> My attempts to update my dev TomEE to something
>>> >>>>>>>>>>>>> newer
>>> >>>>>>>>>>>>> than 8.0.6 all
>>> >>>>>>>>>>>>> failed, because all (at least all I've tested
>>> >>>>>>>>>>>>> so far)
>>> >>>>>>>>>>>>> newer versions
>>> >>>>>>>>> are
>>> >>>>>>>>>>>>> so incredibly slow in dev mode, that it's
>>> >>>>>>>>>>>>> unbearable
>>> >>>>>>>>>>>>> to
>>> >>>>>>>>>>>>> use the
>>> >>>>>>>>>>>>> application. Several very looong seconds on
>>> >>>>>>>>>>>>> every
>>> >>>>>>>>>>>>> request
>>> >>>>>>>>>>>>> (even the
>>> >>>>>>>>>>>>> little AJAX requests in a view) is simply not a
>>> >>>>>>>>>>>>> practical
>>> >>>>>>>>>>>>> environment.
>>> >>>>>>>>>>>>> After switching to Production mode everything
>>> >>>>>>>>>>>>> works
>>> >>>>>>>>>>>>> very
>>> >>>>>>>>>>>>> fast, and all
>>> >>>>>>>>>>>>> my views have response times of very few ms
>>> >>>>>>>>>>>>> (even the
>>> >>>>>>>>>>>>> big
>>> >>>>>>>>>>>>> ones with
>>> >>>>>>>>> max.
>>> >>>>>>>>>>>>> around 400ms). When switching back to
>>> >>>>>>>>>>>>> Development
>>> >>>>>>>>>>>>> mode I
>>> >>>>>>>>>>>>> have response
>>> >>>>>>>>>>>>> times of up to 30s on big views. Not with
>>> >>>>>>>>>>>>> 8.0.6,
>>> >>>>>>>>>>>>> there
>>> >>>>>>>>>>>>> even in
>>> >>>>>>>>>>>>> development mode it's reasonable fast in not
>>> >>>>>>>>>>>>> getting
>>> >>>>>>>>>>>>> higher than 1s.
>>> >>>>>>>>>>>>>
>>> >>>>>>>>>>>>> My question:
>>> >>>>>>>>>>>>> What causes this enormous performance
>>> >>>>>>>>>>>>> degradation?
>>> >>>>>>>>>>>>> I'm
>>> >>>>>>>>>>>>> hoping, it is
>>> >>>>>>>>>>>>> just a configuration which now has another
>>> >>>>>>>>>>>>> default
>>> >>>>>>>>>>>>> value
>>> >>>>>>>>>>>>> or the like.
>>> >>>>>>>>> If
>>> >>>>>>>>>>>>> yes, maybe someone can point me in the right
>>> >>>>>>>>>>>>> direction of
>>> >>>>>>>>>>>>> where to
>>> >>>>>>>>> find
>>> >>>>>>>>>>>>> this configuration? If it's not a configuration
>>> >>>>>>>>>>>>> thing:
>>> >>>>>>>>>>>>> what can I do
>>> >>>>>>>>> to
>>> >>>>>>>>>>>>> get around this?
>>> >>>>>>>>>>>>>
>>> >>>>>>>>>>>>> I haven't tested all Versions of TomEE from
>>> >>>>>>>>>>>>> 8.0.6 to
>>> >>>>>>>>>>>>> 8.0.15, so I
>>> >>>>>>>>> can't
>>> >>>>>>>>>>>>> say at what version exactly this behaviour
>>> >>>>>>>>>>>>> changes.
>>> >>>>>>>>>>>>> If it
>>> >>>>>>>>>>>>> helps or is
>>> >>>>>>>>>>>>> needed, I can make some tests to find the exact
>>> >>>>>>>>>>>>> version
>>> >>>>>>>>>>>>> where this
>>> >>>>>>>>>>>>> happens. Versions I've already tested are:
>>> >>>>>>>>>>>>> 8.0.12,
>>> >>>>>>>>>>>>> 8.0.13
>>> >>>>>>>>>>>>> and 8.0.15.
>>> >>>>>>>>>>>>> All of them are very slow in dev mode. If you
>>> >>>>>>>>>>>>> need
>>> >>>>>>>>>>>>> more
>>> >>>>>>>>>>>>> information,
>>> >>>>>>>>>>>>> I'll try to provide it.
>>> >>>>>>>>>>>>>
>>> >>>>>>>>>>>>> Thanks in advance for any help
>>> >>>>>>>>>>>>> cu
>>> >>>>>>>>>>>>> Jens
>>> >>>>>>>>>>>>>
>>> >>>>>>>>>>>>>
>>>
>>>

Reply via email to