Gogo commands should work if shell-compat feature is installed.
RegardsJB 


Sent from my Samsung device

-------- Original message --------
From: Benson Margulies <[email protected]> 
Date: 09/12/2015  12:34  (GMT+01:00) 
To: [email protected] 
Subject: Re: Bundle in mysterious scr state 

JB, I have some related issues for which I would really benefit from
using the 'real gogo scr' command. Is there some method I'm missing to
get to it?

On Tue, Dec 8, 2015 at 9:00 PM, Benson Margulies <[email protected]> wrote:
> Bingo! Thank you very much!
>
> On Tue, Dec 8, 2015 at 8:57 PM, Benson Margulies <[email protected]> wrote:
>> On Tue, Dec 8, 2015 at 8:49 PM, David Jencks <[email protected]> 
>> wrote:
>>> The simplest explanation for the behavior change is that no-service 
>>> components are immediate (there’s no service to request to trigger creation 
>>> of the component) whereas components exposing a service are delayed unless 
>>> you explicitly specify immediate.  You could have put your system into a 
>>> state where no one has actually requested the WebServiceAvailable service, 
>>> so none of the network of components gets activated, and as soon as 
>>> something  gets the service, everything will start up.  If you specify 
>>> immediate=true and you get the old behavior, this is what happened :-).  
>>> Then you can decide how lazily you want all these services to be 
>>> instantiated.
>>
>> I guess I misread the doc on immediate to be 'true' when there was no
>> factory. Let me go turn it on.
>>
>> As a reported, I'm momentarily stumped on the scr:info command, having
>> done what you suggested to no good effect.
>>
>>
>>>
>>> I bet that if you removed the karaf scr command and rebuilt (or left out 
>>> the bundle its in if that wouldn’t kill the console) you’d see the felix 
>>> scr gogo command…. I thought I remember JB saying recently that karaf 
>>> supported both karaf and gogo commands, so maybe the karaf one is hiding 
>>> the same-named felix one.
>>>
>>> Felix scr logs way more info than you get in the info command, but it’s 
>>> harder to interpret.  You need to make sure the log service is recording 
>>> debug level, and you need to set the felix scr configuration property
>>>
>>> ds.loglevel=debug
>>>
>>> If you are configuring ds using config admin, put this in the 
>>> configuration.  Otherwise you can set it as a framework property (not sure 
>>> how to do this in karaf, but I imagine it’s possible).
>>>
>>> hope this helps
>>> david jencks
>>>
>>>> On Dec 8, 2015, at 5:26 PM, Benson Margulies <[email protected]> wrote:
>>>>
>>>> The component state is '2' (ENABLED).
>>>>
>>>> I can now describe what brings on this mess. Here's a diff. In a
>>>> different bundle, in a different component, I change it from services
>>>> = {} to service = { some interface }.
>>>>
>>>> Thereafter, a whole slew of bundles get into this stuck state. In
>>>> particular, a bundle that is absolutely not depending on the one I
>>>> change.
>>>>
>>>> I don't think that plain gogo commands can be run in Karaf, but I
>>>> could be misinformed.
>>>>
>>>> David, short of doing the work of porting the modern SCR display code
>>>> from Felix into Karaf, any ideas about what to look at?
>>>>
>>>> Does SCR log anything I could enable to get a clue?
>>>>
>>>> diff --git 
>>>> a/worker/service/src/main/java/com/basistech/ws/worker/service/WorkerService.java
>>>> b/worker/service/src/main/java/com/basistech/ws/worker/service/WorkerService.java
>>>> index 572bcc6..9f7f22f 100644
>>>> --- 
>>>> a/worker/service/src/main/java/com/basistech/ws/worker/service/WorkerService.java
>>>> +++ 
>>>> b/worker/service/src/main/java/com/basistech/ws/worker/service/WorkerService.java
>>>> @@ -15,6 +15,7 @@
>>>> package com.basistech.ws.worker.service;
>>>>
>>>> import com.basistech.rosette.RosetteRuntimeException;
>>>> +import com.basistech.ws.common.WebServiceAvailable;
>>>> import com.basistech.ws.common.json.JsonUtils;
>>>> import com.basistech.ws.common.ticket.Ticket;
>>>> import com.basistech.ws.worker.api.WorkerInterface;
>>>> @@ -51,9 +52,11 @@ import java.util.concurrent.atomic.AtomicLong;
>>>>  * This registers itself upon activation as a CXF JAX-RS Service.
>>>>  */
>>>> @Component(configurationPid = "com.basistech.ws.worker",
>>>> -           /* No services; we're here to register with CXF. */
>>>> -           service = {})
>>>> -public class WorkerService {
>>>> +        // this service simply allows tests to wait for this thing to
>>>> be started.
>>>> +        service = { WebServiceAvailable.class },
>>>> +        property = { "service=worker" }
>>>> +)
>>>> +public class WorkerService implements WebServiceAvailable {
>>>>     private static final Logger LOG =
>>>> LoggerFactory.getLogger(WorkerService.class);
>>>>     private static final String APPLICATION_X_JACKSON_SMILE =
>>>> "application/x-jackson-smile";
>>>>     private static final MediaType APPLICATION_X_JACKSON_SMILE_TYPE
>>>>
>>>>
>>>> On Tue, Dec 8, 2015 at 8:09 PM, David Jencks <[email protected]> 
>>>> wrote:
>>>>> The gogo scr command is packaged in felix ds itself.  If karaf supports 
>>>>> gogo
>>>>> commands you ought to be able to see it.
>>>>>
>>>>> Most of those states haven’t existed in years.  Are you trying to use the
>>>>> backwards compatibility bundle to avoid updating your command to show the
>>>>> new spec-defined state info from the DTOs?  The model the backwards
>>>>> compatibility bundle relies on is really bogus.
>>>>>
>>>>> david jencks
>>>>>
>>>>> On Dec 8, 2015, at 4:38 PM, Benson Margulies <[email protected]> wrote:
>>>>>
>>>>> Dependencies are too big. I will debug the command and tell you what I see
>>>>> when I get back home
>>>>>
>>>>> On Dec 8, 2015 7:29 PM, "Jean-Baptiste Onofré" <[email protected]> wrote:
>>>>>>
>>>>>> I mean share your code or bundle jar in order for me to try to reproduce
>>>>>> and check the actual component state ;)
>>>>>>
>>>>>> Regards
>>>>>> JB
>>>>>>
>>>>>> On 12/09/2015 01:27 AM, Benson Margulies wrote:
>>>>>>>
>>>>>>> What do you mean by 'send the bundles'?
>>>>>>>
>>>>>>> On Dec 8, 2015 7:18 PM, "Jean-Baptiste Onofré" <[email protected]
>>>>>>> <mailto:[email protected]>> wrote:
>>>>>>>
>>>>>>>    Just checked, the two states that the command doesn't deal is the
>>>>>>>    deprecated state: STATE_ENABLED, and STATE_DESTROYED
>>>>>>>
>>>>>>>    Maybe the component are in this state.
>>>>>>>
>>>>>>>    @Benson: can you send the bundles to test if the component is not in
>>>>>>>    the "deprecated" state ?
>>>>>>>
>>>>>>>    Thanks,
>>>>>>>    Regards
>>>>>>>    JB
>>>>>>>
>>>>>>>    On 12/09/2015 01:14 AM, Jean-Baptiste Onofré wrote:
>>>>>>>
>>>>>>>        The ScrDetails command basically does:
>>>>>>>
>>>>>>>        - component.getState()
>>>>>>>        - then a switch on the int to display human readable string.
>>>>>>>
>>>>>>>                  switch (componentState) {
>>>>>>>                  case Component.STATE_ACTIVE:
>>>>>>>                      retVal = "ACTIVE";
>>>>>>>                      break;
>>>>>>>                  case Component.STATE_ACTIVATING:
>>>>>>>                      retVal = "ACTIVATING";
>>>>>>>                      break;
>>>>>>>                  case Component.STATE_DEACTIVATING:
>>>>>>>                      retVal = "DEACTIVATING";
>>>>>>>                      break;
>>>>>>>                  case Component.STATE_DISABLED:
>>>>>>>                      retVal = "DISABLED";
>>>>>>>                      break;
>>>>>>>                  case Component.STATE_DISABLING:
>>>>>>>                      retVal = "DISABLING";
>>>>>>>                      break;
>>>>>>>                  case Component.STATE_DISPOSED:
>>>>>>>                      retVal = "DISPOSED";
>>>>>>>                      break;
>>>>>>>                  case Component.STATE_DISPOSING:
>>>>>>>                      retVal = "DISPOSING";
>>>>>>>                      break;
>>>>>>>                  case Component.STATE_ENABLING:
>>>>>>>                      retVal = "ENABLING";
>>>>>>>                      break;
>>>>>>>                  case Component.STATE_FACTORY:
>>>>>>>                      retVal = "FACTORY";
>>>>>>>                      break;
>>>>>>>                  case Component.STATE_REGISTERED:
>>>>>>>                      retVal = "REGISTERED";
>>>>>>>                      break;
>>>>>>>                  case Component.STATE_UNSATISFIED:
>>>>>>>                      retVal = "UNSATISFIED";
>>>>>>>                      break;
>>>>>>>
>>>>>>>        So, it would mean that the component is not in the previous state
>>>>>>>        (another one maybe missing in the switch).
>>>>>>>
>>>>>>>        Regards
>>>>>>>        JB
>>>>>>>
>>>>>>>
>>>>>>>        On 12/09/2015 01:03 AM, David Jencks wrote:
>>>>>>>
>>>>>>>            I have no idea what this command you are using is, can you
>>>>>>>            show the
>>>>>>>            output from the gogo scr:info command for this component?
>>>>>>>
>>>>>>>            thanks
>>>>>>>            david jencks
>>>>>>>
>>>>>>>                On Dec 8, 2015, at 3:51 PM, Benson Margulies
>>>>>>>                <[email protected] <mailto:[email protected]>>
>>>>>>>                wrote:
>>>>>>>
>>>>>>>                I have one particular bundle that gets into this stuck
>>>>>>>                state since I
>>>>>>>                made some changes that should be completely unrelated to
>>>>>>>                it. I badly
>>>>>>>                want to explain why it's stuck. I am reduced to a sort
>>>>>>>                of 'bisect'
>>>>>>>                procedure of carefully remaking the changes to see if I
>>>>>>>                can isolate
>>>>>>>                the problem, since the scr:details command does not
>>>>>>>                explain why it's
>>>>>>>                left 'null'.
>>>>>>>
>>>>>>>
>>>>>>>                On Tue, Dec 8, 2015 at 6:48 PM, Jean-Baptiste Onofré
>>>>>>>                <[email protected] <mailto:[email protected]>> wrote:
>>>>>>>
>>>>>>>                    Karaf 4.0.2 already uses SCR 2.0.2.
>>>>>>>
>>>>>>>                    Does it always occur or just on some bundles ?
>>>>>>>
>>>>>>>                    Regards
>>>>>>>                    JB
>>>>>>>
>>>>>>>
>>>>>>>                    On 12/09/2015 12:44 AM, Benson Margulies wrote:
>>>>>>>
>>>>>>>
>>>>>>>                        Karaf 4.0.2 ... It's scr 2.0.2, but I guess the
>>>>>>>                        command is not so hot.
>>>>>>>
>>>>>>>                        eature:info scr
>>>>>>>                        Feature scr 4.0.2
>>>>>>>                        Description:
>>>>>>>                            Declarative Service support
>>>>>>>                        Feature has no configuration
>>>>>>>                        Feature has no configuration files
>>>>>>>                        Feature has no dependencies.
>>>>>>>                        Feature contains followed bundles:
>>>>>>>
>>>>>>>
>>>>>>> mvn:org.apache.felix/org.apache.felix.metatype/1.1.2 start-level=30
>>>>>>>
>>>>>>>                          mvn:org.apache.felix/org.apache.felix.scr/2.0.2
>>>>>>> start-level=30
>>>>>>>
>>>>>>>
>>>>>>> mvn:org.apache.felix/org.apache.felix.scr.compat/1.0.2
>>>>>>>                        start-level=30
>>>>>>>                        Feature contains followed conditionals:
>>>>>>>                        Conditional(management) has no configuration
>>>>>>>                        Conditional(management) has no configuration
>>>>>>> files
>>>>>>>                        Conditional(management) has no dependencies.
>>>>>>>                        Conditional(management) contains followed
>>>>>>> bundles:
>>>>>>>
>>>>>>>
>>>>>>> mvn:org.apache.karaf.scr/org.apache.karaf.scr.management/4.0.2
>>>>>>>                        start-level=30
>>>>>>>                        Conditional(webconsole) has no configuration
>>>>>>>                        Conditional(webconsole) has no configuration
>>>>>>> files
>>>>>>>                        Conditional(webconsole) has no dependencies.
>>>>>>>                        Conditional(webconsole) contains followed
>>>>>>> bundles:
>>>>>>>
>>>>>>>
>>>>>>> mvn:org.apache.felix/org.apache.felix.webconsole.plugins.ds/2.0.2
>>>>>>>                        start-level=30
>>>>>>>                        Conditional(shell) has no configuration
>>>>>>>                        Conditional(shell) has no configuration files
>>>>>>>                        Conditional(shell) has no dependencies.
>>>>>>>                        Conditional(shell) contains followed bundles:
>>>>>>>
>>>>>>>
>>>>>>> mvn:org.apache.karaf.scr/org.apache.karaf.scr.command/4.0.2
>>>>>>>                        start-level=30
>>>>>>>
>>>>>>>
>>>>>>>                        On Tue, Dec 8, 2015 at 6:11 PM, David Jencks
>>>>>>>                        <[email protected]
>>>>>>>                        <mailto:[email protected]>>
>>>>>>>                        wrote:
>>>>>>>
>>>>>>>
>>>>>>>                            This looks like a back level scr?  maybe
>>>>>>>                            1.8.x?  The info from those
>>>>>>>                            makes it really hard to tell what’s going
>>>>>>>                            on.   Is it
>>>>>>>                            configuration required
>>>>>>>                            and no configuration?
>>>>>>>
>>>>>>>                            david jencks
>>>>>>>
>>>>>>>
>>>>>>>                                On Dec 8, 2015, at 2:39 PM, Benson
>>>>>>>                                Margulies <[email protected]
>>>>>>>                                <mailto:[email protected]>>
>>>>>>>                                wrote:
>>>>>>>
>>>>>>>                                Here's a bundle. The bundle is active,
>>>>>>>                                its references are satisfied,
>>>>>>>                                but its state is null. What's it stuck
>>>>>>> on?
>>>>>>>
>>>>>>>
>>>>>>>                                36 | Active   |  80 |
>>>>>>>                                0.7.105.v20151208100035 |
>>>>>>> rosapi-worker-bus
>>>>>>>
>>>>>>>                                karaf@root>scr:details
>>>>>>>
>>>>>>> com.basistech.ws.worker.bus.impl.BusService
>>>>>>>                                Component Details
>>>>>>>                                   Name                :
>>>>>>>
>>>>>>> com.basistech.ws.worker.bus.impl.BusService
>>>>>>>                                   State               : null
>>>>>>>                                References
>>>>>>>                                   Reference           : Bus
>>>>>>>                                     State             : satisfied
>>>>>>>                                     Multiple          : single
>>>>>>>                                     Optional          : mandatory
>>>>>>>                                     Policy            : static
>>>>>>>                                     Service Reference : No Services
>>>>>>> bound
>>>>>>>                                   Reference           : ConfigAdmin
>>>>>>>                                     State             : satisfied
>>>>>>>                                     Multiple          : single
>>>>>>>                                     Optional          : mandatory
>>>>>>>                                     Policy            : static
>>>>>>>                                     Service Reference : No Services
>>>>>>> bound
>>>>>>>                                karaf@root>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>                    --
>>>>>>>                    Jean-Baptiste Onofré
>>>>>>>                    [email protected] <mailto:[email protected]>
>>>>>>>                    http://blog.nanthrax.net
>>>>>>>                    Talend - http://www.talend.com
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>    --
>>>>>>>    Jean-Baptiste Onofré
>>>>>>>    [email protected] <mailto:[email protected]>
>>>>>>>    http://blog.nanthrax.net
>>>>>>>    Talend - http://www.talend.com
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> Jean-Baptiste Onofré
>>>>>> [email protected]
>>>>>> http://blog.nanthrax.net
>>>>>> Talend - http://www.talend.com
>>>>>
>>>>>
>>>

Reply via email to