karaf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Grzegorz Grzybek <gr.grzy...@gmail.com>
Subject Re: SCR Bundle refreshes Pax Logging?
Date Thu, 17 Jan 2019 14:49:07 GMT
Hello

I suggest checking jansi - you have SL=8 for jansi bundle and SL=7 for
pax-logging-log4j2.

pax-logging-log4j has optional import for org.fusesource.jansi - and this
may be the cause of refresh.

In my custom distro, my etc/startup.properties has:

mvn\:org.fusesource.jansi/jansi/1.17 = 8
mvn\:org.ops4j.pax.logging/pax-logging-api/1.10.1 = 8
mvn\:org.ops4j.pax.logging/pax-logging-log4j2/1.10.1 = 8

So I've already ensured that jansi starts/resolves before
pax-logging-log4j2.

I hope this helps.

regards
Grzegorz Grzybek

czw., 17 sty 2019 o 15:15 Jean-Baptiste Onofré <jb@nanthrax.net> napisał(a):

> Not a problem, Jira should be used when we "suspect" something. I think
> it's good for the tracking and also for the history of faced problems.
>
> Just my €0.01 ;)
>
> Regards
> JB
>
> On 17/01/2019 15:12, Fabian Lange wrote:
> > I already feel bad for asking such wide questions here. I usually only
> > file tickets once I kind-of know whats going on.
> > Could be a Felix or SCR issue as well ;)
> >
> > Fabian
> >
> > On Thu, Jan 17, 2019 at 3:10 PM Jean-Baptiste Onofré <jb@nanthrax.net>
> wrote:
> >>
> >> Hi Fabian,
> >>
> >> did you create a Jira about that ? It's for the tracking as I'm
> >> preparing Karaf 4.2.3 ;)
> >>
> >> Thanks !
> >> Regards
> >> JB
> >>
> >> On 17/01/2019 15:08, Fabian Lange wrote:
> >>> Quick update, this apparently is still the case with Karaf 4.2.2
> >>>
> >>> Would appreciate if somebody knows a workaround. I am able to play
> >>> around with startlevels, but I cant seem to avoid this.
> >>>
> >>> Fabian
> >>>
> >>> On Mon, Nov 26, 2018 at 1:21 AM Fabian Lange <lange.fabian@gmail.com>
> wrote:
> >>>>
> >>>> Hi,
> >>>> currently debugging an issue. Maybe the bits I came up so far are
> >>>> already sufficient for you guys to fix it, or you help me how to debug
> >>>> this better.
> >>>> In our distribution, we have these features
> >>>>
> >>>>   0 │ Active   │   0 │ 5.6.10       │ System Bundle, Fragments:
1
> >>>>   1 │ Resolved │   1 │ 4.2.1        │ Apache Karaf :: Features
::
> >>>> Extension, Hosts: 0
> >>>>   2 │ Active   │   5 │ 2.5.4        │ OPS4J Pax Url - aether:
> >>>>   3 │ Active   │   7 │ 1.10.1       │ OPS4J Pax Logging - Log4j
v2
> >>>>   4 │ Active   │   7 │ 1.10.1       │ OPS4J Pax Logging - API
> >>>>   5 │ Active   │   8 │ 1.17.1       │ jansi
> >>>>   6 │ Active   │   9 │ 1.0.2        │ Apache Felix Coordinator
Service
> >>>>   7 │ Active   │  10 │ 1.9.4        │ Apache Felix Configuration
> Admin Service
> >>>>   8 │ Active   │  11 │ 3.6.4        │ Apache Felix File Install
> >>>>   9 │ Active   │  15 │ 4.2.1        │ Apache Karaf :: Features
:: Core
> >>>>  10 │ Active   │  20 │ 2.2.11.1     │ Apache ServiceMix :: Bundles
::
> jaxb-impl
> >>>>  11 │ Active   │  30 │ 1.2.0        │ Apache Felix Metatype
Service
> >>>>  12 │ Active   │  30 │ 2.1.2        │ Apache Felix Declarative
> Services
> >>>>  13 │ Active   │  30 │ 4.2.1        │ Apache Karaf :: Bundle
:: Core
> >>>>  14 │ Active   │  30 │ 4.2.1        │ Apache Karaf :: ConfigAdmin
::
> Core
> >>>>  15 │ Active   │  30 │ 4.2.1        │ Apache Karaf :: Features
::
> Command
> >>>>  16 │ Active   │  30 │ 4.2.1        │ Apache Karaf :: Log ::
Core
> >>>>  17 │ Active   │  30 │ 4.2.1        │ Apache Karaf :: SCR ::
Bundle
> State
> >>>>  18 │ Active   │  30 │ 4.2.1        │ Apache Karaf :: Service
:: Core
> >>>>  19 │ Active   │  30 │ 4.2.1        │ Apache Karaf :: Shell
::
> Various Commands
> >>>>  20 │ Active   │  30 │ 4.2.1        │ Apache Karaf :: Shell
:: Core
> >>>>  21 │ Active   │  30 │ 4.2.1        │ Apache Karaf :: System
:: Core
> >>>>  22 │ Active   │  30 │ 3.9.0        │ JLine Builtins
> >>>>  23 │ Active   │  30 │ 3.9.0        │ JLine Reader
> >>>>  24 │ Active   │  30 │ 3.9.0        │ JLine Terminal, Fragments:
25
> >>>>  25 │ Resolved │  30 │ 3.9.0        │ JLine JANSI Terminal,
Hosts: 24
> >>>>
> >>>> What I noticed is that A LOT of apache LOG4J classes are loaded twice
> >>>> in the JVM.
> >>>> I turned on -verbose:class and saw this snippet:
> >>>>
> >>>> [5.580s][info][class,load]
> >>>> org.apache.felix.scr.impl.logger.StdOutLogger source:
> >>>> jar:bundle://12.0:0/!/
> >>>> [5.626s][info][class,load]
> >>>> org.apache.felix.framework.util.ImmutableMap$1 source:
> >>>>
> file:/Users/fabian/work/karaf-dist/system/org/apache/felix/org.apache.felix.framework/5.6.10/org.apache.felix.framework-5.6.10.jar
> >>>> [5.834s][info][class,load]
> >>>>
> org.apache.karaf.features.internal.service.BundleInstallSupportImpl$$Lambda$412/0x00000007fecd0c40
> >>>> source:
> org.apache.karaf.features.internal.service.BundleInstallSupportImpl
> >>>> [5.834s][info][class,load]
> >>>> org.apache.felix.framework.Felix$RefreshHelper source:
> >>>>
> file:/Users/fabian/work/karaf-dist/system/org/apache/felix/org.apache.felix.framework/5.6.10/org.apache.felix.framework-5.6.10.jar
> >>>> [5.970s][info][class,load]
> >>>> org.ops4j.pax.logging.log4j2.internal.Activator source:
> >>>> jar:bundle://3.0:0/!/
> >>>>
> >>>> So here is my suspicion: Whatever SCR does, it causes the Log4j2
> >>>> bundle to reload all classes and activate again. This leads to all
> >>>> bundles before the SCR to reference the first loaded log4j classes,
> >>>> and all afterwards the refreshed bundle.
> >>>>
> >>>> Can we prevent this somehow? Also curiously SCR uses its StdOutLogger,
> >>>> which it shouldnt do.
> >>>> Is this reload caused by the Service Tracker
> >>>> org.apache.felix.scr.impl.logger.LogServiceEnabledLogger uses?
> >>>>
> >>>> Ideas, suggestions how to prevent this refresh? I played with the load
> >>>> order but it does not seem possible to get it right
> >>>>
> >>>> Fabian
> >>
> >> --
> >> Jean-Baptiste Onofré
> >> jbonofre@apache.org
> >> http://blog.nanthrax.net
> >> Talend - http://www.talend.com
>
> --
> Jean-Baptiste Onofré
> jbonofre@apache.org
> http://blog.nanthrax.net
> Talend - http://www.talend.com
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message