You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stratos.apache.org by "Martin Eppel (meppel)" <me...@cisco.com> on 2015/02/25 03:52:59 UTC

ISSUE: java cartridge agent throwing exception was ....RE: [Discuss] Java Cartridge Agent Improvements

Hi Chamila,

With the latest code as of today (see last commit) and run into the exceptions (see below) when bringing up the cartridge agent ? Not sure if something is missing or the code is simple not yet ready ?

I attached the logs as well,

Thanks

Martin

Last commit:
commit a0003d85353bea6d1937f2e06db05f6335f34078
Author: Lahiru Sandaruwan <la...@apache.org>
Date:   Wed Feb 25 05:40:42 2015 +0530

Exceptions:

[2015-02-25 02:38:05,563]  INFO - [CartridgeAgentEventPublisher] Instance started event published
[2015-02-25 02:38:05,563]  INFO - [DefaultExtensionHandler] [start server extension] complete topology event received
[2015-02-25 02:38:05,564] ERROR - [ExtensionUtils] Could not execute start servers extension
java.lang.UnsupportedOperationException
               at java.util.AbstractMap.put(AbstractMap.java:203)
               at org.apache.stratos.cartridge.agent.util.ExtensionUtils.addPayloadParameters(ExtensionUtils.java:66)
               at org.apache.stratos.cartridge.agent.util.ExtensionUtils.executeStartServersExtension(ExtensionUtils.java:153)
               at org.apache.stratos.cartridge.agent.extensions.DefaultExtensionHandler.startServerExtension(DefaultExtensionHandler.java:426)
               at org.apache.stratos.cartridge.agent.CartridgeAgent.run(CartridgeAgent.java:122)
               at java.lang.Thread.run(Thread.java:745)

…
[2015-02-25 02:38:10,633]  INFO - [CartridgeAgentEventPublisher] Starting health statistics notifier
Exception in thread "Thread-1" java.lang.RuntimeException: Could not parse thrift client configuration
               at org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfigParser.parse(ThriftClientConfigParser.java:136)
               at org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfig.getInstance(ThriftClientConfig.java:44)
               at org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPStatisticsPublisher.<init>(WSO2CEPStatisticsPublisher.java:56)
               at org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPHealthStatisticsPublisher.<init>(WSO2CEPHealthStatisticsPublisher.java:43)
               at org.apache.stratos.common.statistics.publisher.HealthStatisticsPublisherFactory.createHealthStatisticsPublisher(HealthStatisticsPublisherFactory.java:31)
               at org.apache.stratos.cartridge.agent.statistics.publisher.HealthStatisticsNotifier.<init>(HealthStatisticsNotifier.java:45)
               at org.apache.stratos.cartridge.agent.event.publisher.CartridgeAgentEventPublisher.publishInstanceActivatedEvent(CartridgeAgentEventPublisher.java:139)
               at org.apache.stratos.cartridge.agent.CartridgeAgent.run(CartridgeAgent.java:145)
               at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
               at java.io.File.<init>(File.java:277)
               at org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfigParser.parse(ThriftClientConfigParser.java:67)
               ... 8 more

….
[2015-02-25 02:40:14,097] ERROR - [CartridgeAgentEventListeners] Error processing member terminated event
java.lang.NullPointerException
               at org.apache.stratos.cartridge.agent.util.ExtensionUtils.checkTopologyConsistency(ExtensionUtils.java:500)
               at org.apache.stratos.cartridge.agent.extensions.DefaultExtensionHandler.onMemberTerminatedEvent(DefaultExtensionHandler.java:345)
               at org.apache.stratos.cartridge.agent.CartridgeAgentEventListeners$11.onEvent(CartridgeAgentEventListeners.java:292)
               at org.apache.stratos.messaging.listener.EventListener.update(EventListener.java:42)
               at java.util.Observable.notifyObservers(Observable.java:159)
               at org.apache.stratos.messaging.event.EventObservable.notifyEventListeners(EventObservable.java:51)
               at org.apache.stratos.messaging.message.processor.topology.MemberTerminatedMessageProcessor.doProcess(MemberTerminatedMessageProcessor.java:129)
               at org.apache.stratos.messaging.message.processor.topology.MemberTerminatedMessageProcessor.process(MemberTerminatedMessageProcessor.java:59)
               at org.apache.stratos.messaging.message.processor.topology.MemberSuspendedMessageProcessor.process(MemberSuspendedMessageProcessor.java:69)
…

From: Martin Eppel (meppel)
Sent: Tuesday, February 24, 2015 4:45 PM
To: dev@stratos.apache.org
Subject: RE: [Discuss] Java Cartridge Agent Improvements

Never mind, I see the commits

Thanks

Martin
From: Martin Eppel (meppel)
Sent: Tuesday, February 24, 2015 3:17 PM
To: dev@stratos.apache.org<ma...@stratos.apache.org>
Subject: RE: [Discuss] Java Cartridge Agent Improvements

Hi Chamila,

I was just wondering if you already merged these fixes back to the master (or by when ) ?

I think I am hitting these issues, see exceptions below,

Thanks

Martin


[2015-02-24 23:06:02,707] ERROR - [TopologyEventMessageDelegator] Failed to retrieve topology event message
java.lang.IllegalMonitorStateException: attempt to unlock read lock, not locked by current thread
        at java.util.concurrent.locks.ReentrantReadWriteLock$Sync.unmatchedUnlockException(ReentrantReadWriteLock.java:447)
        at java.util.concurrent.locks.ReentrantReadWriteLock$Sync.tryReleaseShared(ReentrantReadWriteLock.java:431)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.releaseShared(AbstractQueuedSynchronizer.java:1340)
        at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.unlock(ReentrantReadWriteLock.java:883)
        at org.apache.stratos.common.concurrent.locks.ReadWriteLock.releaseReadLock(ReadWriteLock.java:199)
        at org.apache.stratos.messaging.message.receiver.topology.TopologyManager.releaseReadLockForService(TopologyManager.java:144)

….

[2015-02-24 23:06:07,706]  INFO - [CartridgeAgentEventPublisher] Starting health statistics notifierException in thread "Thread-1" java.lang.RuntimeException: Could not parse thrift client configuration
        at org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfigParser.parse(ThriftClientConfigParser.java:136)        at org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfig.getInstance(ThriftClientConfig.java:44)
        at org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPStatisticsPublisher.<init>(WSO2CEPStatisticsPublisher.java:56)        at org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPHealthStatisticsPublisher.<init>(WSO2CEPHealthStatisticsPublisher.java:43)        at org.apache.stratos.common.statistics.publisher.HealthStatisticsPublisherFactory.createHealthStatisticsPublisher(HealthStatisticsPublisherFactory.java:31)        at org.apache.stratos.cartridge.agent.statistics.publisher.HealthStatisticsNotifier.<init>(HealthStatisticsNotifier.java:45)        at org.apache.stratos.cartridge.agent.event.publisher.CartridgeAgentEventPublisher.publishInstanceActivatedEvent(CartridgeAgentEventPublisher.java:129)
        at org.apache.stratos.cartridge.agent.CartridgeAgent.run(CartridgeAgent.java:171)
        at java.lang.Thread.run(Thread.java:745)Caused by: java.lang.NullPointerException
        at java.io.File.<init>(File.java:277)


From: Chamila De Alwis [mailto:chamilad@wso2.com]
Sent: Friday, February 20, 2015 1:36 PM
To: dev
Subject: [Discuss] Java Cartridge Agent Improvements

Hi,

I'm in the process of getting the JCA to a matching state with the PCA. As a part of this I copied over the integration test that was written by Imesh for the PCA, to simplify error checks and find bugs in the JCA.

There was an issue in the CartridgeEventListener where TopologyManager.acquireReadLock() was called after a conditional return statement. The lock is released in the finally{} block and thus it executes before the return statement completes, i.e. before actually acquiring the lock.

Another issue I've found so far is the -Dthrift.client.config.file.path system property and the thrift-client-config.xml being missing in the Cartridge agent product assembly.

I will soon submit a PR with a stable JCA.

Any feedback, ideas are appreciated! :)

Regards,
Chamila de Alwis
Software Engineer | WSO2 | +94772207163
Blog: code.chamiladealwis.com<http://code.chamiladealwis.com>



Re: ISSUE: java cartridge agent throwing exception was ....RE: [Discuss] Java Cartridge Agent Improvements

Posted by Chamila De Alwis <ch...@wso2.com>.
Hi Udara,

I don't think that might be the case, though I'll have to check that too.
There are several events that pass an empty map to the extensions, which do
not seem to  give rise to these errors. Furthermore these errors did not
come with the integration test, which feeds a typical payload. I'll
investigate more.
On Feb 25, 2015 9:31 AM, "Udara Liyanage" <ud...@wso2.com> wrote:

> Hi Chamila,
>
> This culprit seems to be the following line in startServerExtension()
> method of DefaultExtensionHandler
> ExtensionUtils.executeStartServersExtension(Collections.<String,
> String>emptyMap());
>
> It is trying to add elements to the empty map created above
> envParameters.put("STRATOS_APP_PATH",
> CartridgeAgentConfiguration.getInstance().getAppPath());
>
> On Wed, Feb 25, 2015 at 8:22 AM, Martin Eppel (meppel) <me...@cisco.com>
> wrote:
>
>>  Hi Chamila,
>>
>>
>>
>> With the latest code as of today (see last commit) and run into the
>> exceptions (see below) when bringing up the cartridge agent ? Not sure if
>> something is missing or the code is simple not yet ready ?
>>
>>
>>
>> I attached the logs as well,
>>
>>
>>
>> Thanks
>>
>>
>>
>> Martin
>>
>>
>>
>> Last commit:
>>
>> commit a0003d85353bea6d1937f2e06db05f6335f34078
>>
>> Author: Lahiru Sandaruwan <la...@apache.org>
>>
>> Date:   Wed Feb 25 05:40:42 2015 +0530
>>
>>
>>
>> Exceptions:
>>
>>
>>
>> [2015-02-25 02:38:05,563]  INFO - [CartridgeAgentEventPublisher] Instance
>> started event published
>>
>> [2015-02-25 02:38:05,563]  INFO - [DefaultExtensionHandler] [start server
>> extension] complete topology event received
>>
>> [2015-02-25 02:38:05,564] ERROR - [ExtensionUtils] Could not execute
>> start servers extension
>>
>> java.lang.UnsupportedOperationException
>>
>>                at java.util.AbstractMap.put(AbstractMap.java:203)
>>
>>                at
>> org.apache.stratos.cartridge.agent.util.ExtensionUtils.addPayloadParameters(ExtensionUtils.java:66)
>>
>>                at
>> org.apache.stratos.cartridge.agent.util.ExtensionUtils.executeStartServersExtension(ExtensionUtils.java:153)
>>
>>                at
>> org.apache.stratos.cartridge.agent.extensions.DefaultExtensionHandler.startServerExtension(DefaultExtensionHandler.java:426)
>>
>>                at
>> org.apache.stratos.cartridge.agent.CartridgeAgent.run(CartridgeAgent.java:122)
>>
>>                at java.lang.Thread.run(Thread.java:745)
>>
>>
>>
>> …
>>
>> [2015-02-25 02:38:10,633]  INFO - [CartridgeAgentEventPublisher] Starting
>> health statistics notifier
>>
>> Exception in thread "Thread-1" java.lang.RuntimeException: Could not
>> parse thrift client configuration
>>
>>                at
>> org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfigParser.parse(ThriftClientConfigParser.java:136)
>>
>>                at
>> org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfig.getInstance(ThriftClientConfig.java:44)
>>
>>                at
>> org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPStatisticsPublisher.<init>(WSO2CEPStatisticsPublisher.java:56)
>>
>>                at
>> org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPHealthStatisticsPublisher.<init>(WSO2CEPHealthStatisticsPublisher.java:43)
>>
>>                at
>> org.apache.stratos.common.statistics.publisher.HealthStatisticsPublisherFactory.createHealthStatisticsPublisher(HealthStatisticsPublisherFactory.java:31)
>>
>>                at
>> org.apache.stratos.cartridge.agent.statistics.publisher.HealthStatisticsNotifier.<init>(HealthStatisticsNotifier.java:45)
>>
>>                at
>> org.apache.stratos.cartridge.agent.event.publisher.CartridgeAgentEventPublisher.publishInstanceActivatedEvent(CartridgeAgentEventPublisher.java:139)
>>
>>                at
>> org.apache.stratos.cartridge.agent.CartridgeAgent.run(CartridgeAgent.java:145)
>>
>>                at java.lang.Thread.run(Thread.java:745)
>>
>> Caused by: java.lang.NullPointerException
>>
>>                at java.io.File.<init>(File.java:277)
>>
>>                at
>> org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfigParser.parse(ThriftClientConfigParser.java:67)
>>
>>                ... 8 more
>>
>>
>>
>> ….
>>
>> [2015-02-25 02:40:14,097] ERROR - [CartridgeAgentEventListeners] Error
>> processing member terminated event
>>
>> java.lang.NullPointerException
>>
>>                at
>> org.apache.stratos.cartridge.agent.util.ExtensionUtils.checkTopologyConsistency(ExtensionUtils.java:500)
>>
>>                at
>> org.apache.stratos.cartridge.agent.extensions.DefaultExtensionHandler.onMemberTerminatedEvent(DefaultExtensionHandler.java:345)
>>
>>                at
>> org.apache.stratos.cartridge.agent.CartridgeAgentEventListeners$11.onEvent(CartridgeAgentEventListeners.java:292)
>>
>>                at
>> org.apache.stratos.messaging.listener.EventListener.update(EventListener.java:42)
>>
>>                at
>> java.util.Observable.notifyObservers(Observable.java:159)
>>
>>                at
>> org.apache.stratos.messaging.event.EventObservable.notifyEventListeners(EventObservable.java:51)
>>
>>                at
>> org.apache.stratos.messaging.message.processor.topology.MemberTerminatedMessageProcessor.doProcess(MemberTerminatedMessageProcessor.java:129)
>>
>>                at
>> org.apache.stratos.messaging.message.processor.topology.MemberTerminatedMessageProcessor.process(MemberTerminatedMessageProcessor.java:59)
>>
>>                at
>> org.apache.stratos.messaging.message.processor.topology.MemberSuspendedMessageProcessor.process(MemberSuspendedMessageProcessor.java:69)
>>
>> …
>>
>>
>>
>> *From:* Martin Eppel (meppel)
>> *Sent:* Tuesday, February 24, 2015 4:45 PM
>> *To:* dev@stratos.apache.org
>> *Subject:* RE: [Discuss] Java Cartridge Agent Improvements
>>
>>
>>
>> Never mind, I see the commits
>>
>>
>>
>> Thanks
>>
>>
>>
>> Martin
>>
>> *From:* Martin Eppel (meppel)
>> *Sent:* Tuesday, February 24, 2015 3:17 PM
>> *To:* dev@stratos.apache.org
>> *Subject:* RE: [Discuss] Java Cartridge Agent Improvements
>>
>>
>>
>> Hi Chamila,
>>
>>
>>
>> I was just wondering if you already merged these fixes back to the master
>> (or by when ) ?
>>
>>
>>
>> I think I am hitting these issues, see exceptions below,
>>
>>
>>
>> Thanks
>>
>>
>>
>> Martin
>>
>>
>>
>>
>>
>> [2015-02-24 23:06:02,707] ERROR - [TopologyEventMessageDelegator] Failed
>> to retrieve topology event message
>>
>> java.lang.IllegalMonitorStateException: attempt to unlock read lock, not
>> locked by current thread
>>
>>         at
>> java.util.concurrent.locks.ReentrantReadWriteLock$Sync.unmatchedUnlockException(ReentrantReadWriteLock.java:447)
>>
>>         at
>> java.util.concurrent.locks.ReentrantReadWriteLock$Sync.tryReleaseShared(ReentrantReadWriteLock.java:431)
>>
>>         at
>> java.util.concurrent.locks.AbstractQueuedSynchronizer.releaseShared(AbstractQueuedSynchronizer.java:1340)
>>
>>         at
>> java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.unlock(ReentrantReadWriteLock.java:883)
>>
>>         at
>> org.apache.stratos.common.concurrent.locks.ReadWriteLock.releaseReadLock(ReadWriteLock.java:199)
>>
>>         at
>> org.apache.stratos.messaging.message.receiver.topology.TopologyManager.releaseReadLockForService(TopologyManager.java:144)
>>
>>
>>
>> ….
>>
>>
>>
>> [2015-02-24 23:06:07,706]  INFO - [CartridgeAgentEventPublisher] Starting
>> health statistics notifierException in thread "Thread-1"
>> java.lang.RuntimeException: Could not parse thrift client configuration
>>
>>         at
>> org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfigParser.parse(ThriftClientConfigParser.java:136)
>> at
>> org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfig.getInstance(ThriftClientConfig.java:44)
>>
>>         at
>> org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPStatisticsPublisher.<init>(WSO2CEPStatisticsPublisher.java:56)
>> at
>> org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPHealthStatisticsPublisher.<init>(WSO2CEPHealthStatisticsPublisher.java:43)
>> at
>> org.apache.stratos.common.statistics.publisher.HealthStatisticsPublisherFactory.createHealthStatisticsPublisher(HealthStatisticsPublisherFactory.java:31)
>> at
>> org.apache.stratos.cartridge.agent.statistics.publisher.HealthStatisticsNotifier.<init>(HealthStatisticsNotifier.java:45)
>> at
>> org.apache.stratos.cartridge.agent.event.publisher.CartridgeAgentEventPublisher.publishInstanceActivatedEvent(CartridgeAgentEventPublisher.java:129)
>>
>>         at
>> org.apache.stratos.cartridge.agent.CartridgeAgent.run(CartridgeAgent.java:171)
>>
>>         at java.lang.Thread.run(Thread.java:745)Caused by:
>> java.lang.NullPointerException
>>
>>         at java.io.File.<init>(File.java:277)
>>
>>
>>
>>
>>
>> *From:* Chamila De Alwis [mailto:chamilad@wso2.com <ch...@wso2.com>]
>> *Sent:* Friday, February 20, 2015 1:36 PM
>> *To:* dev
>> *Subject:* [Discuss] Java Cartridge Agent Improvements
>>
>>
>>
>> Hi,
>>
>>
>>
>> I'm in the process of getting the JCA to a matching state with the PCA.
>> As a part of this I copied over the integration test that was written by
>> Imesh for the PCA, to simplify error checks and find bugs in the JCA.
>>
>>
>>
>> There was an issue in the CartridgeEventListener where
>> TopologyManager.acquireReadLock() was called after a conditional return
>> statement. The lock is released in the finally{} block and thus it executes
>> before the return statement completes, i.e. before actually acquiring the
>> lock.
>>
>>
>>
>> Another issue I've found so far is the -Dthrift.client.config.file.path
>> system property and the thrift-client-config.xml being missing in the
>> Cartridge agent product assembly.
>>
>>
>>
>> I will soon submit a PR with a stable JCA.
>>
>>
>>
>> Any feedback, ideas are appreciated! :)
>>
>>
>>
>> Regards,
>>
>> Chamila de Alwis
>>
>> Software Engineer | WSO2 | +94772207163
>>
>> Blog: code.chamiladealwis.com
>>
>>
>>
>>
>>
>
>
>
> --
>
> Udara Liyanage
> Software Engineer
> WSO2, Inc.: http://wso2.com
> lean. enterprise. middleware
>
> web: http://udaraliyanage.wordpress.com
> phone: +94 71 443 6897
>

Re: ISSUE: java cartridge agent throwing exception was ....RE: [Discuss] Java Cartridge Agent Improvements

Posted by Udara Liyanage <ud...@wso2.com>.
Hi Chamila,

This culprit seems to be the following line in startServerExtension()
method of DefaultExtensionHandler
ExtensionUtils.executeStartServersExtension(Collections.<String,
String>emptyMap());

It is trying to add elements to the empty map created above
envParameters.put("STRATOS_APP_PATH",
CartridgeAgentConfiguration.getInstance().getAppPath());

On Wed, Feb 25, 2015 at 8:22 AM, Martin Eppel (meppel) <me...@cisco.com>
wrote:

>  Hi Chamila,
>
>
>
> With the latest code as of today (see last commit) and run into the
> exceptions (see below) when bringing up the cartridge agent ? Not sure if
> something is missing or the code is simple not yet ready ?
>
>
>
> I attached the logs as well,
>
>
>
> Thanks
>
>
>
> Martin
>
>
>
> Last commit:
>
> commit a0003d85353bea6d1937f2e06db05f6335f34078
>
> Author: Lahiru Sandaruwan <la...@apache.org>
>
> Date:   Wed Feb 25 05:40:42 2015 +0530
>
>
>
> Exceptions:
>
>
>
> [2015-02-25 02:38:05,563]  INFO - [CartridgeAgentEventPublisher] Instance
> started event published
>
> [2015-02-25 02:38:05,563]  INFO - [DefaultExtensionHandler] [start server
> extension] complete topology event received
>
> [2015-02-25 02:38:05,564] ERROR - [ExtensionUtils] Could not execute start
> servers extension
>
> java.lang.UnsupportedOperationException
>
>                at java.util.AbstractMap.put(AbstractMap.java:203)
>
>                at
> org.apache.stratos.cartridge.agent.util.ExtensionUtils.addPayloadParameters(ExtensionUtils.java:66)
>
>                at
> org.apache.stratos.cartridge.agent.util.ExtensionUtils.executeStartServersExtension(ExtensionUtils.java:153)
>
>                at
> org.apache.stratos.cartridge.agent.extensions.DefaultExtensionHandler.startServerExtension(DefaultExtensionHandler.java:426)
>
>                at
> org.apache.stratos.cartridge.agent.CartridgeAgent.run(CartridgeAgent.java:122)
>
>                at java.lang.Thread.run(Thread.java:745)
>
>
>
> …
>
> [2015-02-25 02:38:10,633]  INFO - [CartridgeAgentEventPublisher] Starting
> health statistics notifier
>
> Exception in thread "Thread-1" java.lang.RuntimeException: Could not parse
> thrift client configuration
>
>                at
> org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfigParser.parse(ThriftClientConfigParser.java:136)
>
>                at
> org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfig.getInstance(ThriftClientConfig.java:44)
>
>                at
> org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPStatisticsPublisher.<init>(WSO2CEPStatisticsPublisher.java:56)
>
>                at
> org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPHealthStatisticsPublisher.<init>(WSO2CEPHealthStatisticsPublisher.java:43)
>
>                at
> org.apache.stratos.common.statistics.publisher.HealthStatisticsPublisherFactory.createHealthStatisticsPublisher(HealthStatisticsPublisherFactory.java:31)
>
>                at
> org.apache.stratos.cartridge.agent.statistics.publisher.HealthStatisticsNotifier.<init>(HealthStatisticsNotifier.java:45)
>
>                at
> org.apache.stratos.cartridge.agent.event.publisher.CartridgeAgentEventPublisher.publishInstanceActivatedEvent(CartridgeAgentEventPublisher.java:139)
>
>                at
> org.apache.stratos.cartridge.agent.CartridgeAgent.run(CartridgeAgent.java:145)
>
>                at java.lang.Thread.run(Thread.java:745)
>
> Caused by: java.lang.NullPointerException
>
>                at java.io.File.<init>(File.java:277)
>
>                at
> org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfigParser.parse(ThriftClientConfigParser.java:67)
>
>                ... 8 more
>
>
>
> ….
>
> [2015-02-25 02:40:14,097] ERROR - [CartridgeAgentEventListeners] Error
> processing member terminated event
>
> java.lang.NullPointerException
>
>                at
> org.apache.stratos.cartridge.agent.util.ExtensionUtils.checkTopologyConsistency(ExtensionUtils.java:500)
>
>                at
> org.apache.stratos.cartridge.agent.extensions.DefaultExtensionHandler.onMemberTerminatedEvent(DefaultExtensionHandler.java:345)
>
>                at
> org.apache.stratos.cartridge.agent.CartridgeAgentEventListeners$11.onEvent(CartridgeAgentEventListeners.java:292)
>
>                at
> org.apache.stratos.messaging.listener.EventListener.update(EventListener.java:42)
>
>                at java.util.Observable.notifyObservers(Observable.java:159)
>
>                at
> org.apache.stratos.messaging.event.EventObservable.notifyEventListeners(EventObservable.java:51)
>
>                at
> org.apache.stratos.messaging.message.processor.topology.MemberTerminatedMessageProcessor.doProcess(MemberTerminatedMessageProcessor.java:129)
>
>                at
> org.apache.stratos.messaging.message.processor.topology.MemberTerminatedMessageProcessor.process(MemberTerminatedMessageProcessor.java:59)
>
>                at
> org.apache.stratos.messaging.message.processor.topology.MemberSuspendedMessageProcessor.process(MemberSuspendedMessageProcessor.java:69)
>
> …
>
>
>
> *From:* Martin Eppel (meppel)
> *Sent:* Tuesday, February 24, 2015 4:45 PM
> *To:* dev@stratos.apache.org
> *Subject:* RE: [Discuss] Java Cartridge Agent Improvements
>
>
>
> Never mind, I see the commits
>
>
>
> Thanks
>
>
>
> Martin
>
> *From:* Martin Eppel (meppel)
> *Sent:* Tuesday, February 24, 2015 3:17 PM
> *To:* dev@stratos.apache.org
> *Subject:* RE: [Discuss] Java Cartridge Agent Improvements
>
>
>
> Hi Chamila,
>
>
>
> I was just wondering if you already merged these fixes back to the master
> (or by when ) ?
>
>
>
> I think I am hitting these issues, see exceptions below,
>
>
>
> Thanks
>
>
>
> Martin
>
>
>
>
>
> [2015-02-24 23:06:02,707] ERROR - [TopologyEventMessageDelegator] Failed
> to retrieve topology event message
>
> java.lang.IllegalMonitorStateException: attempt to unlock read lock, not
> locked by current thread
>
>         at
> java.util.concurrent.locks.ReentrantReadWriteLock$Sync.unmatchedUnlockException(ReentrantReadWriteLock.java:447)
>
>         at
> java.util.concurrent.locks.ReentrantReadWriteLock$Sync.tryReleaseShared(ReentrantReadWriteLock.java:431)
>
>         at
> java.util.concurrent.locks.AbstractQueuedSynchronizer.releaseShared(AbstractQueuedSynchronizer.java:1340)
>
>         at
> java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.unlock(ReentrantReadWriteLock.java:883)
>
>         at
> org.apache.stratos.common.concurrent.locks.ReadWriteLock.releaseReadLock(ReadWriteLock.java:199)
>
>         at
> org.apache.stratos.messaging.message.receiver.topology.TopologyManager.releaseReadLockForService(TopologyManager.java:144)
>
>
>
> ….
>
>
>
> [2015-02-24 23:06:07,706]  INFO - [CartridgeAgentEventPublisher] Starting
> health statistics notifierException in thread "Thread-1"
> java.lang.RuntimeException: Could not parse thrift client configuration
>
>         at
> org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfigParser.parse(ThriftClientConfigParser.java:136)
> at
> org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfig.getInstance(ThriftClientConfig.java:44)
>
>         at
> org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPStatisticsPublisher.<init>(WSO2CEPStatisticsPublisher.java:56)
> at
> org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPHealthStatisticsPublisher.<init>(WSO2CEPHealthStatisticsPublisher.java:43)
> at
> org.apache.stratos.common.statistics.publisher.HealthStatisticsPublisherFactory.createHealthStatisticsPublisher(HealthStatisticsPublisherFactory.java:31)
> at
> org.apache.stratos.cartridge.agent.statistics.publisher.HealthStatisticsNotifier.<init>(HealthStatisticsNotifier.java:45)
> at
> org.apache.stratos.cartridge.agent.event.publisher.CartridgeAgentEventPublisher.publishInstanceActivatedEvent(CartridgeAgentEventPublisher.java:129)
>
>         at
> org.apache.stratos.cartridge.agent.CartridgeAgent.run(CartridgeAgent.java:171)
>
>         at java.lang.Thread.run(Thread.java:745)Caused by:
> java.lang.NullPointerException
>
>         at java.io.File.<init>(File.java:277)
>
>
>
>
>
> *From:* Chamila De Alwis [mailto:chamilad@wso2.com <ch...@wso2.com>]
> *Sent:* Friday, February 20, 2015 1:36 PM
> *To:* dev
> *Subject:* [Discuss] Java Cartridge Agent Improvements
>
>
>
> Hi,
>
>
>
> I'm in the process of getting the JCA to a matching state with the PCA. As
> a part of this I copied over the integration test that was written by Imesh
> for the PCA, to simplify error checks and find bugs in the JCA.
>
>
>
> There was an issue in the CartridgeEventListener where
> TopologyManager.acquireReadLock() was called after a conditional return
> statement. The lock is released in the finally{} block and thus it executes
> before the return statement completes, i.e. before actually acquiring the
> lock.
>
>
>
> Another issue I've found so far is the -Dthrift.client.config.file.path
> system property and the thrift-client-config.xml being missing in the
> Cartridge agent product assembly.
>
>
>
> I will soon submit a PR with a stable JCA.
>
>
>
> Any feedback, ideas are appreciated! :)
>
>
>
> Regards,
>
> Chamila de Alwis
>
> Software Engineer | WSO2 | +94772207163
>
> Blog: code.chamiladealwis.com
>
>
>
>
>



-- 

Udara Liyanage
Software Engineer
WSO2, Inc.: http://wso2.com
lean. enterprise. middleware

web: http://udaraliyanage.wordpress.com
phone: +94 71 443 6897

RE: ISSUE: java cartridge agent throwing exception was ....RE: [Discuss] Java Cartridge Agent Improvements

Posted by "Martin Eppel (meppel)" <me...@cisco.com>.
Ad issue (exception):

This seems to be resulting from an unusual payload parameter. Is it possible to attach a payload params file?
>                at java.util.AbstractMap.put(AbstractMap.java:203)
>
>                at org.apache.stratos.cartridge.agent.util.ExtensionUtils.addPayloadParameters(ExtensionUtils.java:66)
>
>                at org.apache.stratos.cartridge.agent.util.ExtensionUtils.executeStartServersExtension(ExtensionUtils.java:153)
>

The issue is in the code and the reason for this exception is that an Collections.EmptyMap is being passed as Map (see example “ExtensionUtils.executeMemberActivatedExtension(Collections.<String, String>emptyMap());”).
This class is an immutable class and should only be returned instead of a null value but no operation is supported on it.To fix it I replaced it with “new HashMap” instead (as in other cases).

I fixed the issue, please review the commit:

commit d09a9f315f92d63f07beb5bdf4c20836499825fb
Author: Martin Eppel <me...@cisco..com>
Date:   Wed Feb 25 16:58:38 2015 -0800

    JCA: fixing unsupported method exception in ExtensionUtils.addPayloadParameters


From: Chamila De Alwis [mailto:chamilad@wso2.com]
Sent: Tuesday, February 24, 2015 10:19 PM
To: dev
Subject: Re: ISSUE: java cartridge agent throwing exception was ....RE: [Discuss] Java Cartridge Agent Improvements

Thanks Martin! I'll check the agent against these values. Regarding the thrift-receiver-config, it seems the puppet related changes have been missed from the PR I submitted. The file location is passed as a system property from stratos.sh, and it replaces the earlier thrift.receiver.ip and thrift.receiver.port values. I'll correct these and will submit a fix soon.


Regards,
Chamila de Alwis
Software Engineer | WSO2 | +94772207163
Blog: code.chamiladealwis.com<http://code.chamiladealwis.com>



On Wed, Feb 25, 2015 at 11:07 AM, Martin Eppel (meppel) <me...@cisco.com>> wrote:
Here is are the launch-params for the agent:

APPLICATION_ID=cisco-sample,GROUP_NAME=null,SERVICE_NAME=cisco-sample-vm,HOST_NAME=csco-sample-cartridge.qmog.cisco.com<http://csco-sample-cartridge.qmog.cisco.com>,MULTITENANT=false,TENANT_ID=-1234,TENANT_RANGE=*,CARTRIDGE_ALIAS=csco-sample-cartridge,CLUSTER_ID=csco-sample-cartridge.cisco-sample-vm.domain,CARTRIDGE_KEY=59oVoKLQX0wuLeii,DEPLOYMENT=default,APPLICATION_PATH=/var/www,REPO_URL=null,PORTS=22,PROVIDER=cisco,PUPPET_IP=PUPPET_IP,PUPPET_HOSTNAME=PUPPET_HOSTNAME,PUPPET_DNS_AVAILABLE=null,PUPPET_ENV=false,,,DEPENDENCY_CLUSTER_IDS=,EXPORT_METADATA_KEYS=,IMPORT_METADATA_KEYS=,TRUSTSTORE_PASSWORD=wso2carbon,SIMPLE_PROPERTY=value,QTCM_DNS_SEGMENT=,CEP_PORT=7611,MONITORING_SERVER_SECURE_PORT=7711,CEP_ADMIN_PASSWORD=admin,MB_PORT=1883,MB_IP=octl.qmog.cisco.com<http://octl.qmog.cisco.com>,QTCM_NETWORK_COUNT=1,CEP_IP=octl.qmog.cisco.com<http://octl.qmog.cisco.com>,ENABLE_DATA_PUBLISHER=false,MONITORING_SERVER_ADMIN_PASSWORD=admin,MONITORING_SERVER_IP=octl.qmog.cisco.com<http://octl.qmog.cisco.com>,CEP_ADMIN_USERNAME=admin,CERT_TRUSTSTORE=/opt/apache-stratos-cartridge-agent/security/client-truststore.jks,MONITORING_SERVER_ADMIN_USERNAME=admin,MONITORING_SERVER_PORT=7611,TOKEN=eyJhbGciOiJSUzI1NiJ9.eyJleHAiOi0xMDk3NDA3ODEzLCJzdWIiOiJhZG1pbiIsImF6cCI6IkFkd2prS1VRMFhJSXNuNlVTM3FMTGRPTEdiWWEiLCJhcHBJZCI6ImNpc2NvLXNhbXBsZSIsImF1ZCI6WyJBZHdqa0tVUTBYSUlzbjZVUzNxTExkT0xHYllhIl0sImlzcyI6Imh0dHBzOlwvXC9sb2NhbGhvc3Q6OTQ0M1wvb2F1dGgyZW5kcG9pbnRzXC90b2tlbiIsImlhdCI6LTEwOTc0MDY4MTF9.E6yqTEgqhO3yHvdWVpcyeHWrOgRYAGMzKR_S_-o1Uz7QKay0A8Bdvew_K4kMc1FFAoLoMRVW0ndjQR6GpXiNW-oJnOadHIaDuQcZ3z2zWlHenocavj7mEjlxBUpMiOHdYCsABBPW_7xK5wJMbIiiudPqY2A9DcN-e6hCM3wi4j0,MEMBER_ID=csco-sample-cartridge.cisco-sample-vm.domain4e7a256d-9a3a-42c9-8b00-06f8fd2d5573,INSTANCE_ID=null,CLUSTER_INSTANCE_ID=cisco-sample-1,LB_CLUSTER_ID=null,NETWORK_PARTITION_ID=N1,PARTITION_ID=RegionOne-Core,INTERNAL=false,PRIMARY=false,MIN_COUNT=1


Thanks

Martin

From: Martin Eppel (meppel)
Sent: Tuesday, February 24, 2015 9:12 PM
To: dev@stratos.apache.org<ma...@stratos.apache.org>
Subject: RE: ISSUE: java cartridge agent throwing exception was ....RE: [Discuss] Java Cartridge Agent Improvements

Hi Chamila,

Thanks for the response :

A couple of questions:

Did we remove some payload parameter recently (between 4.1.0-alpha and now, I’ll follow up with the payload file later, probably tomorrow) ?

To point to the thrift client config file I’ll have to pass the “thrift.client.config.file.path” property when starting up the cartridge agent (pointing to the directory where it is located) – is there a default value (from the java code it doesn’t seem so) ?

Does the config file replace the previously used system properties “thrift.receiver.ip” and “thrift.receiver.port” ?

Regards

Martin

From: Chamila De Alwis [mailto:chamilad@wso2.com]
Sent: Tuesday, February 24, 2015 8:00 PM
To: dev
Subject: Re: ISSUE: java cartridge agent throwing exception was ....RE: [Discuss] Java Cartridge Agent Improvements


Hi Martin,

Please find my response inline.
On Feb 25, 2015 8:23 AM, "Martin Eppel (meppel)" <me...@cisco.com>> wrote:
>
> Hi Chamila,
>
>
>
> With the latest code as of today (see last commit) and run into the exceptions (see below) when bringing up the cartridge agent ? Not sure if something is missing or the code is simple not yet ready ?
>
>
>
> I attached the logs as well,
>
>
>
> Thanks
>
>
>
> Martin
>
>
>
> Last commit:
>
> commit a0003d85353bea6d1937f2e06db05f6335f34078
>
> Author: Lahiru Sandaruwan <la...@apache.org>>
>
> Date:   Wed Feb 25 05:40:42 2015 +0530
>
>
>
> Exceptions:
>
>
>
> [2015-02-25 02:38:05,563]  INFO - [CartridgeAgentEventPublisher] Instance started event published
>
> [2015-02-25 02:38:05,563]  INFO - [DefaultExtensionHandler] [start server extension] complete topology event received
>
> [2015-02-25 02:38:05,564] ERROR - [ExtensionUtils] Could not execute start servers extension
>
> java.lang.UnsupportedOperationException
>

This seems to be resulting from an unusual payload parameter. Is it possible to attach a payload params file?
>                at java.util.AbstractMap.put(AbstractMap.java:203)
>
>                at org.apache.stratos.cartridge.agent.util.ExtensionUtils.addPayloadParameters(ExtensionUtils.java:66)
>
>                at org.apache.stratos.cartridge.agent.util.ExtensionUtils.executeStartServersExtension(ExtensionUtils.java:153)
>
>                at org.apache.stratos.cartridge.agent.extensions.DefaultExtensionHandler.startServerExtension(DefaultExtensionHandler.java:426)
>
>                at org.apache.stratos.cartridge.agent.CartridgeAgent.run(CartridgeAgent.java:122)
>
>                at java.lang.Thread.run(Thread.java:745)
>
>
>
> …
>
> [2015-02-25 02:38:10,633]  INFO - [CartridgeAgentEventPublisher] Starting health statistics notifier
>
> Exception in thread "Thread-1" java.lang.RuntimeException: Could not parse thrift client configuration
>
>                at org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfigParser.parse(ThriftClientConfigParser.java:136)
>
>                at org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfig.getInstance(ThriftClientConfig.java:44)
>
>                at org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPStatisticsPublisher.<init>(WSO2CEPStatisticsPublisher.java:56)
>
>                at org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPHealthStatisticsPublisher.<init>(WSO2CEPHealthStatisticsPublisher.java:43)
>
>                at org.apache.stratos.common.statistics.publisher.HealthStatisticsPublisherFactory.createHealthStatisticsPublisher(HealthStatisticsPublisherFactory.java:31)
>
>                at org.apache.stratos.cartridge.agent.statistics.publisher.HealthStatisticsNotifier.<init>(HealthStatisticsNotifier.java:45)
>
>                at org.apache.stratos.cartridge.agent.event.publisher.CartridgeAgentEventPublisher.publishInstanceActivatedEvent(CartridgeAgentEventPublisher.java:139)
>
>                at org.apache.stratos.cartridge.agent.CartridgeAgent.run(CartridgeAgent.java:145)
>
>                at java.lang.Thread.run(Thread.java:745)
>
> Caused by: java.lang.NullPointerException
>
>                at java.io.File.<init>(File.java:277)
>
>                at org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfigParser.parse(ThriftClientConfigParser.java:67)
>
>                ... 8 more
>
>
Please check if thrift-client-config.xml is present in <agent home>/conf/ dolder. Also please check that the puppet master is up to date.
>
> ….
>
> [2015-02-25 02:40:14,097] ERROR - [CartridgeAgentEventListeners] Error processing member terminated event
>
> java.lang.NullPointerException
>
This can result because of a corrupted topology model. I'll look in to this.3
>                at org.apache.stratos.cartridge.agent.util.ExtensionUtils.checkTopologyConsistency(ExtensionUtils.java:500)
>
>                at org.apache.stratos.cartridge.agent.extensions.DefaultExtensionHandler.onMemberTerminatedEvent(DefaultExtensionHandler.java:345)
>
>                at org.apache.stratos.cartridge.agent.CartridgeAgentEventListeners$11.onEvent(CartridgeAgentEventListeners.java:292)
>
>                at org.apache.stratos.messaging.listener.EventListener.update(EventListener.java:42)
>
>                at java.util.Observable.notifyObservers(Observable.java:159)
>
>                at org.apache.stratos.messaging.event.EventObservable.notifyEventListeners(EventObservable.java:51)
>
>                at org.apache.stratos.messaging.message.processor.topology.MemberTerminatedMessageProcessor.doProcess(MemberTerminatedMessageProcessor.java:129)
>
>                at org.apache.stratos.messaging.message.processor.topology.MemberTerminatedMessageProcessor.process(MemberTerminatedMessageProcessor.java:59)
>
>                at org.apache.stratos.messaging.message.processor.topology.MemberSuspendedMessageProcessor.process(MemberSuspendedMessageProcessor.java:69)
>
> …
>
>
>
> From: Martin Eppel (meppel)
> Sent: Tuesday, February 24, 2015 4:45 PM
> To: dev@stratos.apache.org<ma...@stratos.apache.org>
> Subject: RE: [Discuss] Java Cartridge Agent Improvements
>
>
>
> Never mind, I see the commits
>
>
>
> Thanks
>
>
>
> Martin
>
> From: Martin Eppel (meppel)
> Sent: Tuesday, February 24, 2015 3:17 PM
> To: dev@stratos.apache.org<ma...@stratos.apache.org>
> Subject: RE: [Discuss] Java Cartridge Agent Improvements
>
>
>
> Hi Chamila,
>
>
>
> I was just wondering if you already merged these fixes back to the master (or by when ) ?
>
>
>
> I think I am hitting these issues, see exceptions below,
>
>
>
> Thanks
>
>
>
> Martin
>
>
>
>
>
> [2015-02-24 23:06:02,707] ERROR - [TopologyEventMessageDelegator] Failed to retrieve topology event message
>
> java.lang.IllegalMonitorStateException: attempt to unlock read lock, not locked by current thread
>
>         at java.util.concurrent.locks.ReentrantReadWriteLock$Sync.unmatchedUnlockException(ReentrantReadWriteLock.java:447)
>
>         at java.util.concurrent.locks.ReentrantReadWriteLock$Sync.tryReleaseShared(ReentrantReadWriteLock.java:431)
>
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.releaseShared(AbstractQueuedSynchronizer.java:1340)
>
>         at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.unlock(ReentrantReadWriteLock.java:883)
>
>         at org.apache.stratos.common.concurrent.locks.ReadWriteLock.releaseReadLock(ReadWriteLock.java:199)
>
>         at org.apache.stratos.messaging.message.receiver.topology.TopologyManager.releaseReadLockForService(TopologyManager.java:144)
>
>
>
> ….
>
>
>
> [2015-02-24 23:06:07,706]  INFO - [CartridgeAgentEventPublisher] Starting health statistics notifierException in thread "Thread-1" java.lang.RuntimeException: Could not parse thrift client configuration
>
>         at org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfigParser.parse(ThriftClientConfigParser.java:136)        at org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfig.getInstance(ThriftClientConfig.java:44)
>
>         at org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPStatisticsPublisher.<init>(WSO2CEPStatisticsPublisher.java:56)        at org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPHealthStatisticsPublisher.<init>(WSO2CEPHealthStatisticsPublisher.java:43)        at org.apache.stratos.common.statistics.publisher.HealthStatisticsPublisherFactory.createHealthStatisticsPublisher(HealthStatisticsPublisherFactory.java:31)        at org.apache.stratos.cartridge.agent.statistics.publisher.HealthStatisticsNotifier.<init>(HealthStatisticsNotifier.java:45)        at org.apache.stratos.cartridge.agent.event.publisher.CartridgeAgentEventPublisher.publishInstanceActivatedEvent(CartridgeAgentEventPublisher.java:129)
>
>         at org.apache.stratos.cartridge.agent.CartridgeAgent.run(CartridgeAgent.java:171)
>
>         at java.lang.Thread.run(Thread.java:745)Caused by: java.lang.NullPointerException
>
>         at java.io.File.<init>(File.java:277)
>
>
>
>
>
> From: Chamila De Alwis [mailto:chamilad@wso2.com<ma...@wso2.com>]
> Sent: Friday, February 20, 2015 1:36 PM
> To: dev
> Subject: [Discuss] Java Cartridge Agent Improvements
>
>
>
> Hi,
>
>
>
> I'm in the process of getting the JCA to a matching state with the PCA. As a part of this I copied over the integration test that was written by Imesh for the PCA, to simplify error checks and find bugs in the JCA.
>
>
>
> There was an issue in the CartridgeEventListener where TopologyManager.acquireReadLock() was called after a conditional return statement. The lock is released in the finally{} block and thus it executes before the return statement completes, i.e. before actually acquiring the lock.
>
>
>
> Another issue I've found so far is the -Dthrift.client.config.file.path system property and the thrift-client-config.xml being missing in the Cartridge agent product assembly.
>
>
>
> I will soon submit a PR with a stable JCA.
>
>
>
> Any feedback, ideas are appreciated! :)
>
>
>
> Regards,
>
> Chamila de Alwis
>
> Software Engineer | WSO2 | +94772207163<tel:%2B94772207163>
>
> Blog: code.chamiladealwis.com<http://code.chamiladealwis.com>
>
>
>
>


Re: ISSUE: java cartridge agent throwing exception was ....RE: [Discuss] Java Cartridge Agent Improvements

Posted by Chamila De Alwis <ch...@wso2.com>.
Thanks Martin! I'll check the agent against these values. Regarding the
thrift-receiver-config, it seems the puppet related changes have been
missed from the PR I submitted. The file location is passed as a system
property from stratos.sh, and it replaces the earlier thrift.receiver.ip
and thrift.receiver.port values. I'll correct these and will submit a fix
soon.


Regards,
Chamila de Alwis
Software Engineer | WSO2 | +94772207163
Blog: code.chamiladealwis.com



On Wed, Feb 25, 2015 at 11:07 AM, Martin Eppel (meppel) <me...@cisco.com>
wrote:

>  Here is are the launch-params for the agent:
>
>
>
>
> APPLICATION_ID=cisco-sample,GROUP_NAME=null,SERVICE_NAME=cisco-sample-vm,HOST_NAME=
> csco-sample-cartridge.qmog.cisco.com
> ,MULTITENANT=false,TENANT_ID=-1234,TENANT_RANGE=*,CARTRIDGE_ALIAS=csco-sample-cartridge,CLUSTER_ID=csco-sample-cartridge.cisco-sample-vm.domain,CARTRIDGE_KEY=59oVoKLQX0wuLeii,DEPLOYMENT=default,APPLICATION_PATH=/var/www,REPO_URL=null,PORTS=22,PROVIDER=cisco,PUPPET_IP=PUPPET_IP,PUPPET_HOSTNAME=PUPPET_HOSTNAME,PUPPET_DNS_AVAILABLE=null,PUPPET_ENV=false,,,DEPENDENCY_CLUSTER_IDS=,EXPORT_METADATA_KEYS=,IMPORT_METADATA_KEYS=,TRUSTSTORE_PASSWORD=wso2carbon,SIMPLE_PROPERTY=value,QTCM_DNS_SEGMENT=,CEP_PORT=7611,MONITORING_SERVER_SECURE_PORT=7711,CEP_ADMIN_PASSWORD=admin,MB_PORT=1883,MB_IP=
> octl.qmog.cisco.com,QTCM_NETWORK_COUNT=1,CEP_IP=octl.qmog.cisco.com
> ,ENABLE_DATA_PUBLISHER=false,MONITORING_SERVER_ADMIN_PASSWORD=admin,MONITORING_SERVER_IP=
> octl.qmog.cisco.com
> ,CEP_ADMIN_USERNAME=admin,CERT_TRUSTSTORE=/opt/apache-stratos-cartridge-agent/security/client-truststore.jks,MONITORING_SERVER_ADMIN_USERNAME=admin,MONITORING_SERVER_PORT=7611,TOKEN=eyJhbGciOiJSUzI1NiJ9.eyJleHAiOi0xMDk3NDA3ODEzLCJzdWIiOiJhZG1pbiIsImF6cCI6IkFkd2prS1VRMFhJSXNuNlVTM3FMTGRPTEdiWWEiLCJhcHBJZCI6ImNpc2NvLXNhbXBsZSIsImF1ZCI6WyJBZHdqa0tVUTBYSUlzbjZVUzNxTExkT0xHYllhIl0sImlzcyI6Imh0dHBzOlwvXC9sb2NhbGhvc3Q6OTQ0M1wvb2F1dGgyZW5kcG9pbnRzXC90b2tlbiIsImlhdCI6LTEwOTc0MDY4MTF9.E6yqTEgqhO3yHvdWVpcyeHWrOgRYAGMzKR_S_-o1Uz7QKay0A8Bdvew_K4kMc1FFAoLoMRVW0ndjQR6GpXiNW-oJnOadHIaDuQcZ3z2zWlHenocavj7mEjlxBUpMiOHdYCsABBPW_7xK5wJMbIiiudPqY2A9DcN-e6hCM3wi4j0,MEMBER_ID=csco-sample-cartridge.cisco-sample-vm.domain4e7a256d-9a3a-42c9-8b00-06f8fd2d5573,INSTANCE_ID=null,CLUSTER_INSTANCE_ID=cisco-sample-1,LB_CLUSTER_ID=null,NETWORK_PARTITION_ID=N1,PARTITION_ID=RegionOne-Core,INTERNAL=false,PRIMARY=false,MIN_COUNT=1
>
>
>
>
>
> Thanks
>
>
>
> Martin
>
>
>
> *From:* Martin Eppel (meppel)
> *Sent:* Tuesday, February 24, 2015 9:12 PM
> *To:* dev@stratos.apache.org
> *Subject:* RE: ISSUE: java cartridge agent throwing exception was ....RE:
> [Discuss] Java Cartridge Agent Improvements
>
>
>
> Hi Chamila,
>
>
>
> Thanks for the response :
>
>
>
> A couple of questions:
>
>
>
> Did we remove some payload parameter recently (between 4.1.0-alpha and
> now, I’ll follow up with the payload file later, probably tomorrow) ?
>
>
>
> To point to the thrift client config file I’ll have to pass the
> “thrift.client.config.file.path” property when starting up the cartridge
> agent (pointing to the directory where it is located) – is there a default
> value (from the java code it doesn’t seem so) ?
>
>
>
> Does the config file replace the previously used system properties
> “thrift.receiver.ip” and “thrift.receiver.port” ?
>
>
>
> Regards
>
>
>
> Martin
>
>
>
> *From:* Chamila De Alwis [mailto:chamilad@wso2.com <ch...@wso2.com>]
> *Sent:* Tuesday, February 24, 2015 8:00 PM
> *To:* dev
> *Subject:* Re: ISSUE: java cartridge agent throwing exception was ....RE:
> [Discuss] Java Cartridge Agent Improvements
>
>
>
> Hi Martin,
>
> Please find my response inline.
> On Feb 25, 2015 8:23 AM, "Martin Eppel (meppel)" <me...@cisco.com> wrote:
> >
> > Hi Chamila,
> >
> >
> >
> > With the latest code as of today (see last commit) and run into the
> exceptions (see below) when bringing up the cartridge agent ? Not sure if
> something is missing or the code is simple not yet ready ?
> >
> >
> >
> > I attached the logs as well,
> >
> >
> >
> > Thanks
> >
> >
> >
> > Martin
> >
> >
> >
> > Last commit:
> >
> > commit a0003d85353bea6d1937f2e06db05f6335f34078
> >
> > Author: Lahiru Sandaruwan <la...@apache.org>
> >
> > Date:   Wed Feb 25 05:40:42 2015 +0530
> >
> >
> >
> > Exceptions:
> >
> >
> >
> > [2015-02-25 02:38:05,563]  INFO - [CartridgeAgentEventPublisher]
> Instance started event published
> >
> > [2015-02-25 02:38:05,563]  INFO - [DefaultExtensionHandler] [start
> server extension] complete topology event received
> >
> > [2015-02-25 02:38:05,564] ERROR - [ExtensionUtils] Could not execute
> start servers extension
> >
> > java.lang.UnsupportedOperationException
> >
>
> This seems to be resulting from an unusual payload parameter. Is it
> possible to attach a payload params file?
> >                at java.util.AbstractMap.put(AbstractMap.java:203)
> >
> >                at
> org.apache.stratos.cartridge.agent.util.ExtensionUtils.addPayloadParameters(ExtensionUtils.java:66)
> >
> >                at
> org.apache.stratos.cartridge.agent.util.ExtensionUtils.executeStartServersExtension(ExtensionUtils.java:153)
> >
> >                at
> org.apache.stratos.cartridge.agent.extensions.DefaultExtensionHandler.startServerExtension(DefaultExtensionHandler.java:426)
> >
> >                at
> org.apache.stratos.cartridge.agent.CartridgeAgent.run(CartridgeAgent.java:122)
> >
> >                at java.lang.Thread.run(Thread.java:745)
> >
> >
> >
> > …
> >
> > [2015-02-25 02:38:10,633]  INFO - [CartridgeAgentEventPublisher]
> Starting health statistics notifier
> >
> > Exception in thread "Thread-1" java.lang.RuntimeException: Could not
> parse thrift client configuration
> >
> >                at
> org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfigParser.parse(ThriftClientConfigParser.java:136)
> >
> >                at
> org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfig.getInstance(ThriftClientConfig.java:44)
> >
> >                at
> org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPStatisticsPublisher.<init>(WSO2CEPStatisticsPublisher.java:56)
> >
> >                at
> org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPHealthStatisticsPublisher.<init>(WSO2CEPHealthStatisticsPublisher.java:43)
> >
> >                at
> org.apache.stratos.common.statistics.publisher.HealthStatisticsPublisherFactory.createHealthStatisticsPublisher(HealthStatisticsPublisherFactory.java:31)
> >
> >                at
> org.apache.stratos.cartridge.agent.statistics.publisher.HealthStatisticsNotifier.<init>(HealthStatisticsNotifier.java:45)
> >
> >                at
> org.apache.stratos.cartridge.agent.event.publisher.CartridgeAgentEventPublisher.publishInstanceActivatedEvent(CartridgeAgentEventPublisher.java:139)
> >
> >                at
> org.apache.stratos.cartridge.agent.CartridgeAgent.run(CartridgeAgent.java:145)
> >
> >                at java.lang.Thread.run(Thread.java:745)
> >
> > Caused by: java.lang.NullPointerException
> >
> >                at java.io.File.<init>(File.java:277)
> >
> >                at
> org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfigParser.parse(ThriftClientConfigParser.java:67)
> >
> >                ... 8 more
> >
> >
> Please check if thrift-client-config.xml is present in <agent home>/conf/
> dolder. Also please check that the puppet master is up to date.
> >
> > ….
> >
> > [2015-02-25 02:40:14,097] ERROR - [CartridgeAgentEventListeners] Error
> processing member terminated event
> >
> > java.lang.NullPointerException
> >
> This can result because of a corrupted topology model. I'll look in to
> this.3
> >                at
> org.apache.stratos.cartridge.agent.util.ExtensionUtils.checkTopologyConsistency(ExtensionUtils.java:500)
> >
> >                at
> org.apache.stratos.cartridge.agent.extensions.DefaultExtensionHandler.onMemberTerminatedEvent(DefaultExtensionHandler.java:345)
> >
> >                at
> org.apache.stratos.cartridge.agent.CartridgeAgentEventListeners$11.onEvent(CartridgeAgentEventListeners.java:292)
> >
> >                at
> org.apache.stratos.messaging.listener.EventListener.update(EventListener.java:42)
> >
> >                at
> java.util.Observable.notifyObservers(Observable.java:159)
> >
> >                at
> org.apache.stratos.messaging.event.EventObservable.notifyEventListeners(EventObservable.java:51)
> >
> >                at
> org.apache.stratos.messaging.message.processor.topology.MemberTerminatedMessageProcessor.doProcess(MemberTerminatedMessageProcessor.java:129)
> >
> >                at
> org.apache.stratos.messaging.message.processor.topology.MemberTerminatedMessageProcessor.process(MemberTerminatedMessageProcessor.java:59)
> >
> >                at
> org.apache.stratos.messaging.message.processor.topology.MemberSuspendedMessageProcessor.process(MemberSuspendedMessageProcessor.java:69)
> >
> > …
> >
> >
> >
> > From: Martin Eppel (meppel)
> > Sent: Tuesday, February 24, 2015 4:45 PM
> > To: dev@stratos.apache.org
> > Subject: RE: [Discuss] Java Cartridge Agent Improvements
> >
> >
> >
> > Never mind, I see the commits
> >
> >
> >
> > Thanks
> >
> >
> >
> > Martin
> >
> > From: Martin Eppel (meppel)
> > Sent: Tuesday, February 24, 2015 3:17 PM
> > To: dev@stratos.apache.org
> > Subject: RE: [Discuss] Java Cartridge Agent Improvements
> >
> >
> >
> > Hi Chamila,
> >
> >
> >
> > I was just wondering if you already merged these fixes back to the
> master (or by when ) ?
> >
> >
> >
> > I think I am hitting these issues, see exceptions below,
> >
> >
> >
> > Thanks
> >
> >
> >
> > Martin
> >
> >
> >
> >
> >
> > [2015-02-24 23:06:02,707] ERROR - [TopologyEventMessageDelegator] Failed
> to retrieve topology event message
> >
> > java.lang.IllegalMonitorStateException: attempt to unlock read lock, not
> locked by current thread
> >
> >         at
> java.util.concurrent.locks.ReentrantReadWriteLock$Sync.unmatchedUnlockException(ReentrantReadWriteLock.java:447)
> >
> >         at
> java.util.concurrent.locks.ReentrantReadWriteLock$Sync.tryReleaseShared(ReentrantReadWriteLock.java:431)
> >
> >         at
> java.util.concurrent.locks.AbstractQueuedSynchronizer.releaseShared(AbstractQueuedSynchronizer.java:1340)
> >
> >         at
> java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.unlock(ReentrantReadWriteLock.java:883)
> >
> >         at
> org.apache.stratos.common.concurrent.locks.ReadWriteLock.releaseReadLock(ReadWriteLock.java:199)
> >
> >         at
> org.apache.stratos.messaging.message.receiver.topology.TopologyManager.releaseReadLockForService(TopologyManager.java:144)
> >
> >
> >
> > ….
> >
> >
> >
> > [2015-02-24 23:06:07,706]  INFO - [CartridgeAgentEventPublisher]
> Starting health statistics notifierException in thread "Thread-1"
> java.lang.RuntimeException: Could not parse thrift client configuration
> >
> >         at
> org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfigParser.parse(ThriftClientConfigParser.java:136)
> at
> org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfig.getInstance(ThriftClientConfig.java:44)
> >
> >         at
> org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPStatisticsPublisher.<init>(WSO2CEPStatisticsPublisher.java:56)
> at
> org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPHealthStatisticsPublisher.<init>(WSO2CEPHealthStatisticsPublisher.java:43)
> at
> org.apache.stratos.common.statistics.publisher.HealthStatisticsPublisherFactory.createHealthStatisticsPublisher(HealthStatisticsPublisherFactory.java:31)
> at
> org.apache.stratos.cartridge.agent.statistics.publisher.HealthStatisticsNotifier.<init>(HealthStatisticsNotifier.java:45)
> at
> org.apache.stratos.cartridge.agent.event.publisher.CartridgeAgentEventPublisher.publishInstanceActivatedEvent(CartridgeAgentEventPublisher.java:129)
> >
> >         at
> org.apache.stratos.cartridge.agent.CartridgeAgent.run(CartridgeAgent.java:171)
> >
> >         at java.lang.Thread.run(Thread.java:745)Caused by:
> java.lang.NullPointerException
> >
> >         at java.io.File.<init>(File.java:277)
> >
> >
> >
> >
> >
> > From: Chamila De Alwis [mailto:chamilad@wso2.com]
> > Sent: Friday, February 20, 2015 1:36 PM
> > To: dev
> > Subject: [Discuss] Java Cartridge Agent Improvements
> >
> >
> >
> > Hi,
> >
> >
> >
> > I'm in the process of getting the JCA to a matching state with the PCA.
> As a part of this I copied over the integration test that was written by
> Imesh for the PCA, to simplify error checks and find bugs in the JCA.
> >
> >
> >
> > There was an issue in the CartridgeEventListener where
> TopologyManager.acquireReadLock() was called after a conditional return
> statement. The lock is released in the finally{} block and thus it executes
> before the return statement completes, i.e. before actually acquiring the
> lock.
> >
> >
> >
> > Another issue I've found so far is the -Dthrift.client.config.file.path
> system property and the thrift-client-config.xml being missing in the
> Cartridge agent product assembly.
> >
> >
> >
> > I will soon submit a PR with a stable JCA.
> >
> >
> >
> > Any feedback, ideas are appreciated! :)
> >
> >
> >
> > Regards,
> >
> > Chamila de Alwis
> >
> > Software Engineer | WSO2 | +94772207163
> >
> > Blog: code.chamiladealwis.com
> >
> >
> >
> >
>

RE: ISSUE: java cartridge agent throwing exception was ....RE: [Discuss] Java Cartridge Agent Improvements

Posted by "Martin Eppel (meppel)" <me...@cisco.com>.
Here is are the launch-params for the agent:

APPLICATION_ID=cisco-sample,GROUP_NAME=null,SERVICE_NAME=cisco-sample-vm,HOST_NAME=csco-sample-cartridge.qmog.cisco.com,MULTITENANT=false,TENANT_ID=-1234,TENANT_RANGE=*,CARTRIDGE_ALIAS=csco-sample-cartridge,CLUSTER_ID=csco-sample-cartridge.cisco-sample-vm.domain,CARTRIDGE_KEY=59oVoKLQX0wuLeii,DEPLOYMENT=default,APPLICATION_PATH=/var/www,REPO_URL=null,PORTS=22,PROVIDER=cisco,PUPPET_IP=PUPPET_IP,PUPPET_HOSTNAME=PUPPET_HOSTNAME,PUPPET_DNS_AVAILABLE=null,PUPPET_ENV=false,,,DEPENDENCY_CLUSTER_IDS=,EXPORT_METADATA_KEYS=,IMPORT_METADATA_KEYS=,TRUSTSTORE_PASSWORD=wso2carbon,SIMPLE_PROPERTY=value,QTCM_DNS_SEGMENT=,CEP_PORT=7611,MONITORING_SERVER_SECURE_PORT=7711,CEP_ADMIN_PASSWORD=admin,MB_PORT=1883,MB_IP=octl.qmog.cisco.com,QTCM_NETWORK_COUNT=1,CEP_IP=octl.qmog.cisco.com,ENABLE_DATA_PUBLISHER=false,MONITORING_SERVER_ADMIN_PASSWORD=admin,MONITORING_SERVER_IP=octl.qmog.cisco.com,CEP_ADMIN_USERNAME=admin,CERT_TRUSTSTORE=/opt/apache-stratos-cartridge-agent/security/client-truststore.jks,MONITORING_SERVER_ADMIN_USERNAME=admin,MONITORING_SERVER_PORT=7611,TOKEN=eyJhbGciOiJSUzI1NiJ9.eyJleHAiOi0xMDk3NDA3ODEzLCJzdWIiOiJhZG1pbiIsImF6cCI6IkFkd2prS1VRMFhJSXNuNlVTM3FMTGRPTEdiWWEiLCJhcHBJZCI6ImNpc2NvLXNhbXBsZSIsImF1ZCI6WyJBZHdqa0tVUTBYSUlzbjZVUzNxTExkT0xHYllhIl0sImlzcyI6Imh0dHBzOlwvXC9sb2NhbGhvc3Q6OTQ0M1wvb2F1dGgyZW5kcG9pbnRzXC90b2tlbiIsImlhdCI6LTEwOTc0MDY4MTF9.E6yqTEgqhO3yHvdWVpcyeHWrOgRYAGMzKR_S_-o1Uz7QKay0A8Bdvew_K4kMc1FFAoLoMRVW0ndjQR6GpXiNW-oJnOadHIaDuQcZ3z2zWlHenocavj7mEjlxBUpMiOHdYCsABBPW_7xK5wJMbIiiudPqY2A9DcN-e6hCM3wi4j0,MEMBER_ID=csco-sample-cartridge.cisco-sample-vm.domain4e7a256d-9a3a-42c9-8b00-06f8fd2d5573,INSTANCE_ID=null,CLUSTER_INSTANCE_ID=cisco-sample-1,LB_CLUSTER_ID=null,NETWORK_PARTITION_ID=N1,PARTITION_ID=RegionOne-Core,INTERNAL=false,PRIMARY=false,MIN_COUNT=1


Thanks

Martin

From: Martin Eppel (meppel)
Sent: Tuesday, February 24, 2015 9:12 PM
To: dev@stratos.apache.org
Subject: RE: ISSUE: java cartridge agent throwing exception was ....RE: [Discuss] Java Cartridge Agent Improvements

Hi Chamila,

Thanks for the response :

A couple of questions:

Did we remove some payload parameter recently (between 4.1.0-alpha and now, I’ll follow up with the payload file later, probably tomorrow) ?

To point to the thrift client config file I’ll have to pass the “thrift.client.config.file.path” property when starting up the cartridge agent (pointing to the directory where it is located) – is there a default value (from the java code it doesn’t seem so) ?

Does the config file replace the previously used system properties “thrift.receiver.ip” and “thrift.receiver.port” ?

Regards

Martin

From: Chamila De Alwis [mailto:chamilad@wso2.com]
Sent: Tuesday, February 24, 2015 8:00 PM
To: dev
Subject: Re: ISSUE: java cartridge agent throwing exception was ....RE: [Discuss] Java Cartridge Agent Improvements


Hi Martin,

Please find my response inline.
On Feb 25, 2015 8:23 AM, "Martin Eppel (meppel)" <me...@cisco.com>> wrote:
>
> Hi Chamila,
>
>
>
> With the latest code as of today (see last commit) and run into the exceptions (see below) when bringing up the cartridge agent ? Not sure if something is missing or the code is simple not yet ready ?
>
>
>
> I attached the logs as well,
>
>
>
> Thanks
>
>
>
> Martin
>
>
>
> Last commit:
>
> commit a0003d85353bea6d1937f2e06db05f6335f34078
>
> Author: Lahiru Sandaruwan <la...@apache.org>>
>
> Date:   Wed Feb 25 05:40:42 2015 +0530
>
>
>
> Exceptions:
>
>
>
> [2015-02-25 02:38:05,563]  INFO - [CartridgeAgentEventPublisher] Instance started event published
>
> [2015-02-25 02:38:05,563]  INFO - [DefaultExtensionHandler] [start server extension] complete topology event received
>
> [2015-02-25 02:38:05,564] ERROR - [ExtensionUtils] Could not execute start servers extension
>
> java.lang.UnsupportedOperationException
>

This seems to be resulting from an unusual payload parameter. Is it possible to attach a payload params file?
>                at java.util.AbstractMap.put(AbstractMap.java:203)
>
>                at org.apache.stratos.cartridge.agent.util.ExtensionUtils.addPayloadParameters(ExtensionUtils.java:66)
>
>                at org.apache.stratos.cartridge.agent.util.ExtensionUtils.executeStartServersExtension(ExtensionUtils.java:153)
>
>                at org.apache.stratos.cartridge.agent.extensions.DefaultExtensionHandler.startServerExtension(DefaultExtensionHandler.java:426)
>
>                at org.apache.stratos.cartridge.agent.CartridgeAgent.run(CartridgeAgent.java:122)
>
>                at java.lang.Thread.run(Thread.java:745)
>
>
>
> …
>
> [2015-02-25 02:38:10,633]  INFO - [CartridgeAgentEventPublisher] Starting health statistics notifier
>
> Exception in thread "Thread-1" java.lang.RuntimeException: Could not parse thrift client configuration
>
>                at org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfigParser.parse(ThriftClientConfigParser.java:136)
>
>                at org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfig.getInstance(ThriftClientConfig.java:44)
>
>                at org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPStatisticsPublisher.<init>(WSO2CEPStatisticsPublisher.java:56)
>
>                at org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPHealthStatisticsPublisher.<init>(WSO2CEPHealthStatisticsPublisher.java:43)
>
>                at org.apache.stratos.common.statistics.publisher.HealthStatisticsPublisherFactory.createHealthStatisticsPublisher(HealthStatisticsPublisherFactory.java:31)
>
>                at org.apache.stratos.cartridge.agent.statistics.publisher.HealthStatisticsNotifier.<init>(HealthStatisticsNotifier.java:45)
>
>                at org.apache.stratos.cartridge.agent.event.publisher.CartridgeAgentEventPublisher.publishInstanceActivatedEvent(CartridgeAgentEventPublisher.java:139)
>
>                at org.apache.stratos.cartridge.agent.CartridgeAgent.run(CartridgeAgent.java:145)
>
>                at java.lang.Thread.run(Thread.java:745)
>
> Caused by: java.lang.NullPointerException
>
>                at java.io.File.<init>(File.java:277)
>
>                at org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfigParser.parse(ThriftClientConfigParser.java:67)
>
>                ... 8 more
>
>
Please check if thrift-client-config.xml is present in <agent home>/conf/ dolder. Also please check that the puppet master is up to date.
>
> ….
>
> [2015-02-25 02:40:14,097] ERROR - [CartridgeAgentEventListeners] Error processing member terminated event
>
> java.lang.NullPointerException
>
This can result because of a corrupted topology model. I'll look in to this.3
>                at org.apache.stratos.cartridge.agent.util.ExtensionUtils.checkTopologyConsistency(ExtensionUtils.java:500)
>
>                at org.apache.stratos.cartridge.agent.extensions.DefaultExtensionHandler.onMemberTerminatedEvent(DefaultExtensionHandler.java:345)
>
>                at org.apache.stratos.cartridge.agent.CartridgeAgentEventListeners$11.onEvent(CartridgeAgentEventListeners.java:292)
>
>                at org.apache.stratos.messaging.listener.EventListener.update(EventListener.java:42)
>
>                at java.util.Observable.notifyObservers(Observable.java:159)
>
>                at org.apache.stratos.messaging.event.EventObservable.notifyEventListeners(EventObservable.java:51)
>
>                at org.apache.stratos.messaging.message.processor.topology.MemberTerminatedMessageProcessor.doProcess(MemberTerminatedMessageProcessor.java:129)
>
>                at org.apache.stratos.messaging.message.processor.topology.MemberTerminatedMessageProcessor.process(MemberTerminatedMessageProcessor.java:59)
>
>                at org.apache.stratos.messaging.message.processor.topology.MemberSuspendedMessageProcessor.process(MemberSuspendedMessageProcessor.java:69)
>
> …
>
>
>
> From: Martin Eppel (meppel)
> Sent: Tuesday, February 24, 2015 4:45 PM
> To: dev@stratos.apache.org<ma...@stratos.apache.org>
> Subject: RE: [Discuss] Java Cartridge Agent Improvements
>
>
>
> Never mind, I see the commits
>
>
>
> Thanks
>
>
>
> Martin
>
> From: Martin Eppel (meppel)
> Sent: Tuesday, February 24, 2015 3:17 PM
> To: dev@stratos.apache.org<ma...@stratos.apache.org>
> Subject: RE: [Discuss] Java Cartridge Agent Improvements
>
>
>
> Hi Chamila,
>
>
>
> I was just wondering if you already merged these fixes back to the master (or by when ) ?
>
>
>
> I think I am hitting these issues, see exceptions below,
>
>
>
> Thanks
>
>
>
> Martin
>
>
>
>
>
> [2015-02-24 23:06:02,707] ERROR - [TopologyEventMessageDelegator] Failed to retrieve topology event message
>
> java.lang.IllegalMonitorStateException: attempt to unlock read lock, not locked by current thread
>
>         at java.util.concurrent.locks.ReentrantReadWriteLock$Sync.unmatchedUnlockException(ReentrantReadWriteLock.java:447)
>
>         at java.util.concurrent.locks.ReentrantReadWriteLock$Sync.tryReleaseShared(ReentrantReadWriteLock.java:431)
>
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.releaseShared(AbstractQueuedSynchronizer.java:1340)
>
>         at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.unlock(ReentrantReadWriteLock.java:883)
>
>         at org.apache.stratos.common.concurrent.locks.ReadWriteLock.releaseReadLock(ReadWriteLock.java:199)
>
>         at org.apache.stratos.messaging.message.receiver.topology.TopologyManager.releaseReadLockForService(TopologyManager.java:144)
>
>
>
> ….
>
>
>
> [2015-02-24 23:06:07,706]  INFO - [CartridgeAgentEventPublisher] Starting health statistics notifierException in thread "Thread-1" java.lang.RuntimeException: Could not parse thrift client configuration
>
>         at org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfigParser.parse(ThriftClientConfigParser.java:136)        at org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfig.getInstance(ThriftClientConfig.java:44)
>
>         at org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPStatisticsPublisher.<init>(WSO2CEPStatisticsPublisher.java:56)        at org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPHealthStatisticsPublisher.<init>(WSO2CEPHealthStatisticsPublisher.java:43)        at org.apache.stratos.common.statistics.publisher.HealthStatisticsPublisherFactory.createHealthStatisticsPublisher(HealthStatisticsPublisherFactory.java:31)        at org.apache.stratos.cartridge.agent.statistics.publisher.HealthStatisticsNotifier.<init>(HealthStatisticsNotifier.java:45)        at org.apache.stratos.cartridge.agent.event.publisher.CartridgeAgentEventPublisher.publishInstanceActivatedEvent(CartridgeAgentEventPublisher.java:129)
>
>         at org.apache.stratos.cartridge.agent.CartridgeAgent.run(CartridgeAgent.java:171)
>
>         at java.lang.Thread.run(Thread.java:745)Caused by: java.lang.NullPointerException
>
>         at java.io.File.<init>(File.java:277)
>
>
>
>
>
> From: Chamila De Alwis [mailto:chamilad@wso2.com<ma...@wso2.com>]
> Sent: Friday, February 20, 2015 1:36 PM
> To: dev
> Subject: [Discuss] Java Cartridge Agent Improvements
>
>
>
> Hi,
>
>
>
> I'm in the process of getting the JCA to a matching state with the PCA. As a part of this I copied over the integration test that was written by Imesh for the PCA, to simplify error checks and find bugs in the JCA.
>
>
>
> There was an issue in the CartridgeEventListener where TopologyManager.acquireReadLock() was called after a conditional return statement. The lock is released in the finally{} block and thus it executes before the return statement completes, i.e. before actually acquiring the lock.
>
>
>
> Another issue I've found so far is the -Dthrift.client.config.file.path system property and the thrift-client-config.xml being missing in the Cartridge agent product assembly.
>
>
>
> I will soon submit a PR with a stable JCA.
>
>
>
> Any feedback, ideas are appreciated! :)
>
>
>
> Regards,
>
> Chamila de Alwis
>
> Software Engineer | WSO2 | +94772207163
>
> Blog: code.chamiladealwis.com<http://code.chamiladealwis.com>
>
>
>
>

RE: ISSUE: java cartridge agent throwing exception was ....RE: [Discuss] Java Cartridge Agent Improvements

Posted by "Martin Eppel (meppel)" <me...@cisco.com>.
Hi Chamila,

Thanks for the response :

A couple of questions:

Did we remove some payload parameter recently (between 4.1.0-alpha and now, I’ll follow up with the payload file later, probably tomorrow) ?

To point to the thrift client config file I’ll have to pass the “thrift.client.config.file.path” property when starting up the cartridge agent (pointing to the directory where it is located) – is there a default value (from the java code it doesn’t seem so) ?

Does the config file replace the previously used system properties “thrift.receiver.ip” and “thrift.receiver.port” ?

Regards

Martin

From: Chamila De Alwis [mailto:chamilad@wso2.com]
Sent: Tuesday, February 24, 2015 8:00 PM
To: dev
Subject: Re: ISSUE: java cartridge agent throwing exception was ....RE: [Discuss] Java Cartridge Agent Improvements


Hi Martin,

Please find my response inline.
On Feb 25, 2015 8:23 AM, "Martin Eppel (meppel)" <me...@cisco.com>> wrote:
>
> Hi Chamila,
>
>
>
> With the latest code as of today (see last commit) and run into the exceptions (see below) when bringing up the cartridge agent ? Not sure if something is missing or the code is simple not yet ready ?
>
>
>
> I attached the logs as well,
>
>
>
> Thanks
>
>
>
> Martin
>
>
>
> Last commit:
>
> commit a0003d85353bea6d1937f2e06db05f6335f34078
>
> Author: Lahiru Sandaruwan <la...@apache.org>>
>
> Date:   Wed Feb 25 05:40:42 2015 +0530
>
>
>
> Exceptions:
>
>
>
> [2015-02-25 02:38:05,563]  INFO - [CartridgeAgentEventPublisher] Instance started event published
>
> [2015-02-25 02:38:05,563]  INFO - [DefaultExtensionHandler] [start server extension] complete topology event received
>
> [2015-02-25 02:38:05,564] ERROR - [ExtensionUtils] Could not execute start servers extension
>
> java.lang.UnsupportedOperationException
>

This seems to be resulting from an unusual payload parameter. Is it possible to attach a payload params file?
>                at java.util.AbstractMap.put(AbstractMap.java:203)
>
>                at org.apache.stratos.cartridge.agent.util.ExtensionUtils.addPayloadParameters(ExtensionUtils.java:66)
>
>                at org.apache.stratos.cartridge.agent.util.ExtensionUtils.executeStartServersExtension(ExtensionUtils.java:153)
>
>                at org.apache.stratos.cartridge.agent.extensions.DefaultExtensionHandler.startServerExtension(DefaultExtensionHandler.java:426)
>
>                at org.apache.stratos.cartridge.agent.CartridgeAgent.run(CartridgeAgent.java:122)
>
>                at java.lang.Thread.run(Thread.java:745)
>
>
>
> …
>
> [2015-02-25 02:38:10,633]  INFO - [CartridgeAgentEventPublisher] Starting health statistics notifier
>
> Exception in thread "Thread-1" java.lang.RuntimeException: Could not parse thrift client configuration
>
>                at org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfigParser.parse(ThriftClientConfigParser.java:136)
>
>                at org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfig.getInstance(ThriftClientConfig.java:44)
>
>                at org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPStatisticsPublisher.<init>(WSO2CEPStatisticsPublisher.java:56)
>
>                at org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPHealthStatisticsPublisher.<init>(WSO2CEPHealthStatisticsPublisher.java:43)
>
>                at org.apache.stratos.common.statistics.publisher.HealthStatisticsPublisherFactory.createHealthStatisticsPublisher(HealthStatisticsPublisherFactory.java:31)
>
>                at org.apache.stratos.cartridge.agent.statistics.publisher.HealthStatisticsNotifier.<init>(HealthStatisticsNotifier.java:45)
>
>                at org.apache.stratos.cartridge.agent.event.publisher.CartridgeAgentEventPublisher.publishInstanceActivatedEvent(CartridgeAgentEventPublisher.java:139)
>
>                at org.apache.stratos.cartridge.agent.CartridgeAgent.run(CartridgeAgent.java:145)
>
>                at java.lang.Thread.run(Thread.java:745)
>
> Caused by: java.lang.NullPointerException
>
>                at java.io.File.<init>(File.java:277)
>
>                at org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfigParser.parse(ThriftClientConfigParser.java:67)
>
>                ... 8 more
>
>
Please check if thrift-client-config.xml is present in <agent home>/conf/ dolder. Also please check that the puppet master is up to date.
>
> ….
>
> [2015-02-25 02:40:14,097] ERROR - [CartridgeAgentEventListeners] Error processing member terminated event
>
> java.lang.NullPointerException
>
This can result because of a corrupted topology model. I'll look in to this.3
>                at org.apache.stratos.cartridge.agent.util.ExtensionUtils.checkTopologyConsistency(ExtensionUtils.java:500)
>
>                at org.apache.stratos.cartridge.agent.extensions.DefaultExtensionHandler.onMemberTerminatedEvent(DefaultExtensionHandler.java:345)
>
>                at org.apache.stratos.cartridge.agent.CartridgeAgentEventListeners$11.onEvent(CartridgeAgentEventListeners.java:292)
>
>                at org.apache.stratos.messaging.listener.EventListener.update(EventListener.java:42)
>
>                at java.util.Observable.notifyObservers(Observable.java:159)
>
>                at org.apache.stratos.messaging.event.EventObservable.notifyEventListeners(EventObservable.java:51)
>
>                at org.apache.stratos.messaging.message.processor.topology.MemberTerminatedMessageProcessor.doProcess(MemberTerminatedMessageProcessor.java:129)
>
>                at org.apache.stratos.messaging.message.processor.topology.MemberTerminatedMessageProcessor.process(MemberTerminatedMessageProcessor.java:59)
>
>                at org.apache.stratos.messaging.message.processor.topology.MemberSuspendedMessageProcessor.process(MemberSuspendedMessageProcessor.java:69)
>
> …
>
>
>
> From: Martin Eppel (meppel)
> Sent: Tuesday, February 24, 2015 4:45 PM
> To: dev@stratos.apache.org<ma...@stratos.apache.org>
> Subject: RE: [Discuss] Java Cartridge Agent Improvements
>
>
>
> Never mind, I see the commits
>
>
>
> Thanks
>
>
>
> Martin
>
> From: Martin Eppel (meppel)
> Sent: Tuesday, February 24, 2015 3:17 PM
> To: dev@stratos.apache.org<ma...@stratos.apache.org>
> Subject: RE: [Discuss] Java Cartridge Agent Improvements
>
>
>
> Hi Chamila,
>
>
>
> I was just wondering if you already merged these fixes back to the master (or by when ) ?
>
>
>
> I think I am hitting these issues, see exceptions below,
>
>
>
> Thanks
>
>
>
> Martin
>
>
>
>
>
> [2015-02-24 23:06:02,707] ERROR - [TopologyEventMessageDelegator] Failed to retrieve topology event message
>
> java.lang.IllegalMonitorStateException: attempt to unlock read lock, not locked by current thread
>
>         at java.util.concurrent.locks.ReentrantReadWriteLock$Sync.unmatchedUnlockException(ReentrantReadWriteLock.java:447)
>
>         at java.util.concurrent.locks.ReentrantReadWriteLock$Sync.tryReleaseShared(ReentrantReadWriteLock.java:431)
>
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.releaseShared(AbstractQueuedSynchronizer.java:1340)
>
>         at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.unlock(ReentrantReadWriteLock.java:883)
>
>         at org.apache.stratos.common.concurrent.locks.ReadWriteLock.releaseReadLock(ReadWriteLock.java:199)
>
>         at org.apache.stratos.messaging.message.receiver.topology.TopologyManager.releaseReadLockForService(TopologyManager.java:144)
>
>
>
> ….
>
>
>
> [2015-02-24 23:06:07,706]  INFO - [CartridgeAgentEventPublisher] Starting health statistics notifierException in thread "Thread-1" java.lang.RuntimeException: Could not parse thrift client configuration
>
>         at org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfigParser.parse(ThriftClientConfigParser.java:136)        at org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfig.getInstance(ThriftClientConfig.java:44)
>
>         at org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPStatisticsPublisher.<init>(WSO2CEPStatisticsPublisher.java:56)        at org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPHealthStatisticsPublisher.<init>(WSO2CEPHealthStatisticsPublisher.java:43)        at org.apache.stratos.common.statistics.publisher.HealthStatisticsPublisherFactory.createHealthStatisticsPublisher(HealthStatisticsPublisherFactory.java:31)        at org.apache.stratos.cartridge.agent.statistics.publisher.HealthStatisticsNotifier.<init>(HealthStatisticsNotifier.java:45)        at org.apache.stratos.cartridge.agent.event.publisher.CartridgeAgentEventPublisher.publishInstanceActivatedEvent(CartridgeAgentEventPublisher.java:129)
>
>         at org.apache.stratos.cartridge.agent.CartridgeAgent.run(CartridgeAgent.java:171)
>
>         at java.lang.Thread.run(Thread.java:745)Caused by: java.lang.NullPointerException
>
>         at java.io.File.<init>(File.java:277)
>
>
>
>
>
> From: Chamila De Alwis [mailto:chamilad@wso2.com<ma...@wso2.com>]
> Sent: Friday, February 20, 2015 1:36 PM
> To: dev
> Subject: [Discuss] Java Cartridge Agent Improvements
>
>
>
> Hi,
>
>
>
> I'm in the process of getting the JCA to a matching state with the PCA. As a part of this I copied over the integration test that was written by Imesh for the PCA, to simplify error checks and find bugs in the JCA.
>
>
>
> There was an issue in the CartridgeEventListener where TopologyManager.acquireReadLock() was called after a conditional return statement. The lock is released in the finally{} block and thus it executes before the return statement completes, i.e. before actually acquiring the lock.
>
>
>
> Another issue I've found so far is the -Dthrift.client.config.file.path system property and the thrift-client-config.xml being missing in the Cartridge agent product assembly.
>
>
>
> I will soon submit a PR with a stable JCA.
>
>
>
> Any feedback, ideas are appreciated! :)
>
>
>
> Regards,
>
> Chamila de Alwis
>
> Software Engineer | WSO2 | +94772207163
>
> Blog: code.chamiladealwis.com<http://code.chamiladealwis.com>
>
>
>
>

Re: ISSUE: java cartridge agent throwing exception was ....RE: [Discuss] Java Cartridge Agent Improvements

Posted by Chamila De Alwis <ch...@wso2.com>.
Hi Martin,

Please find my response inline.
On Feb 25, 2015 8:23 AM, "Martin Eppel (meppel)" <me...@cisco.com> wrote:
>
> Hi Chamila,
>
>
>
> With the latest code as of today (see last commit) and run into the
exceptions (see below) when bringing up the cartridge agent ? Not sure if
something is missing or the code is simple not yet ready ?
>
>
>
> I attached the logs as well,
>
>
>
> Thanks
>
>
>
> Martin
>
>
>
> Last commit:
>
> commit a0003d85353bea6d1937f2e06db05f6335f34078
>
> Author: Lahiru Sandaruwan <la...@apache.org>
>
> Date:   Wed Feb 25 05:40:42 2015 +0530
>
>
>
> Exceptions:
>
>
>
> [2015-02-25 02:38:05,563]  INFO - [CartridgeAgentEventPublisher] Instance
started event published
>
> [2015-02-25 02:38:05,563]  INFO - [DefaultExtensionHandler] [start server
extension] complete topology event received
>
> [2015-02-25 02:38:05,564] ERROR - [ExtensionUtils] Could not execute
start servers extension
>
> java.lang.UnsupportedOperationException
>

This seems to be resulting from an unusual payload parameter. Is it
possible to attach a payload params file?
>                at java.util.AbstractMap.put(AbstractMap.java:203)
>
>                at
org.apache.stratos.cartridge.agent.util.ExtensionUtils.addPayloadParameters(ExtensionUtils.java:66)
>
>                at
org.apache.stratos.cartridge.agent.util.ExtensionUtils.executeStartServersExtension(ExtensionUtils.java:153)
>
>                at
org.apache.stratos.cartridge.agent.extensions.DefaultExtensionHandler.startServerExtension(DefaultExtensionHandler.java:426)
>
>                at
org.apache.stratos.cartridge.agent.CartridgeAgent.run(CartridgeAgent.java:122)
>
>                at java.lang.Thread.run(Thread.java:745)
>
>
>
> …
>
> [2015-02-25 02:38:10,633]  INFO - [CartridgeAgentEventPublisher] Starting
health statistics notifier
>
> Exception in thread "Thread-1" java.lang.RuntimeException: Could not
parse thrift client configuration
>
>                at
org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfigParser.parse(ThriftClientConfigParser.java:136)
>
>                at
org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfig.getInstance(ThriftClientConfig.java:44)
>
>                at
org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPStatisticsPublisher.<init>(WSO2CEPStatisticsPublisher.java:56)
>
>                at
org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPHealthStatisticsPublisher.<init>(WSO2CEPHealthStatisticsPublisher.java:43)
>
>                at
org.apache.stratos.common.statistics.publisher.HealthStatisticsPublisherFactory.createHealthStatisticsPublisher(HealthStatisticsPublisherFactory.java:31)
>
>                at
org.apache.stratos.cartridge.agent.statistics.publisher.HealthStatisticsNotifier.<init>(HealthStatisticsNotifier.java:45)
>
>                at
org.apache.stratos.cartridge.agent.event.publisher.CartridgeAgentEventPublisher.publishInstanceActivatedEvent(CartridgeAgentEventPublisher.java:139)
>
>                at
org.apache.stratos.cartridge.agent.CartridgeAgent.run(CartridgeAgent.java:145)
>
>                at java.lang.Thread.run(Thread.java:745)
>
> Caused by: java.lang.NullPointerException
>
>                at java.io.File.<init>(File.java:277)
>
>                at
org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfigParser.parse(ThriftClientConfigParser.java:67)
>
>                ... 8 more
>
>
Please check if thrift-client-config.xml is present in <agent home>/conf/
dolder. Also please check that the puppet master is up to date.
>
> ….
>
> [2015-02-25 02:40:14,097] ERROR - [CartridgeAgentEventListeners] Error
processing member terminated event
>
> java.lang.NullPointerException
>
This can result because of a corrupted topology model. I'll look in to
this.3
>                at
org.apache.stratos.cartridge.agent.util.ExtensionUtils.checkTopologyConsistency(ExtensionUtils.java:500)
>
>                at
org.apache.stratos.cartridge.agent.extensions.DefaultExtensionHandler.onMemberTerminatedEvent(DefaultExtensionHandler.java:345)
>
>                at
org.apache.stratos.cartridge.agent.CartridgeAgentEventListeners$11.onEvent(CartridgeAgentEventListeners.java:292)
>
>                at
org.apache.stratos.messaging.listener.EventListener.update(EventListener.java:42)
>
>                at
java.util.Observable.notifyObservers(Observable.java:159)
>
>                at
org.apache.stratos.messaging.event.EventObservable.notifyEventListeners(EventObservable.java:51)
>
>                at
org.apache.stratos.messaging.message.processor.topology.MemberTerminatedMessageProcessor.doProcess(MemberTerminatedMessageProcessor.java:129)
>
>                at
org.apache.stratos.messaging.message.processor.topology.MemberTerminatedMessageProcessor.process(MemberTerminatedMessageProcessor.java:59)
>
>                at
org.apache.stratos.messaging.message.processor.topology.MemberSuspendedMessageProcessor.process(MemberSuspendedMessageProcessor.java:69)
>
> …
>
>
>
> From: Martin Eppel (meppel)
> Sent: Tuesday, February 24, 2015 4:45 PM
> To: dev@stratos.apache.org
> Subject: RE: [Discuss] Java Cartridge Agent Improvements
>
>
>
> Never mind, I see the commits
>
>
>
> Thanks
>
>
>
> Martin
>
> From: Martin Eppel (meppel)
> Sent: Tuesday, February 24, 2015 3:17 PM
> To: dev@stratos.apache.org
> Subject: RE: [Discuss] Java Cartridge Agent Improvements
>
>
>
> Hi Chamila,
>
>
>
> I was just wondering if you already merged these fixes back to the master
(or by when ) ?
>
>
>
> I think I am hitting these issues, see exceptions below,
>
>
>
> Thanks
>
>
>
> Martin
>
>
>
>
>
> [2015-02-24 23:06:02,707] ERROR - [TopologyEventMessageDelegator] Failed
to retrieve topology event message
>
> java.lang.IllegalMonitorStateException: attempt to unlock read lock, not
locked by current thread
>
>         at
java.util.concurrent.locks.ReentrantReadWriteLock$Sync.unmatchedUnlockException(ReentrantReadWriteLock.java:447)
>
>         at
java.util.concurrent.locks.ReentrantReadWriteLock$Sync.tryReleaseShared(ReentrantReadWriteLock.java:431)
>
>         at
java.util.concurrent.locks.AbstractQueuedSynchronizer.releaseShared(AbstractQueuedSynchronizer.java:1340)
>
>         at
java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.unlock(ReentrantReadWriteLock.java:883)
>
>         at
org.apache.stratos.common.concurrent.locks.ReadWriteLock.releaseReadLock(ReadWriteLock.java:199)
>
>         at
org.apache.stratos.messaging.message.receiver.topology.TopologyManager.releaseReadLockForService(TopologyManager.java:144)
>
>
>
> ….
>
>
>
> [2015-02-24 23:06:07,706]  INFO - [CartridgeAgentEventPublisher] Starting
health statistics notifierException in thread "Thread-1"
java.lang.RuntimeException: Could not parse thrift client configuration
>
>         at
org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfigParser.parse(ThriftClientConfigParser.java:136)
at
org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfig.getInstance(ThriftClientConfig.java:44)
>
>         at
org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPStatisticsPublisher.<init>(WSO2CEPStatisticsPublisher.java:56)
at
org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPHealthStatisticsPublisher.<init>(WSO2CEPHealthStatisticsPublisher.java:43)
at
org.apache.stratos.common.statistics.publisher.HealthStatisticsPublisherFactory.createHealthStatisticsPublisher(HealthStatisticsPublisherFactory.java:31)
at
org.apache.stratos.cartridge.agent.statistics.publisher.HealthStatisticsNotifier.<init>(HealthStatisticsNotifier.java:45)
at
org.apache.stratos.cartridge.agent.event.publisher.CartridgeAgentEventPublisher.publishInstanceActivatedEvent(CartridgeAgentEventPublisher.java:129)
>
>         at
org.apache.stratos.cartridge.agent.CartridgeAgent.run(CartridgeAgent.java:171)
>
>         at java.lang.Thread.run(Thread.java:745)Caused by:
java.lang.NullPointerException
>
>         at java.io.File.<init>(File.java:277)
>
>
>
>
>
> From: Chamila De Alwis [mailto:chamilad@wso2.com]
> Sent: Friday, February 20, 2015 1:36 PM
> To: dev
> Subject: [Discuss] Java Cartridge Agent Improvements
>
>
>
> Hi,
>
>
>
> I'm in the process of getting the JCA to a matching state with the PCA.
As a part of this I copied over the integration test that was written by
Imesh for the PCA, to simplify error checks and find bugs in the JCA.
>
>
>
> There was an issue in the CartridgeEventListener where
TopologyManager.acquireReadLock() was called after a conditional return
statement. The lock is released in the finally{} block and thus it executes
before the return statement completes, i.e. before actually acquiring the
lock.
>
>
>
> Another issue I've found so far is the -Dthrift.client.config.file.path
system property and the thrift-client-config.xml being missing in the
Cartridge agent product assembly.
>
>
>
> I will soon submit a PR with a stable JCA.
>
>
>
> Any feedback, ideas are appreciated! :)
>
>
>
> Regards,
>
> Chamila de Alwis
>
> Software Engineer | WSO2 | +94772207163
>
> Blog: code.chamiladealwis.com
>
>
>
>