Re: [Dev] [Test Automation] Mocking Thrift server for an integration test

2016-03-31 Thread Kalpa Welivitigoda
Hi Lasantha,

I am using the ThriftTestServer [1] you have mentioned to write a test in
AS 6.0.0. The idea is data is published to the thrift server form the HTTP
statistics publishing valve and in the test case I am using the
ThriftDataReceiver to very the published data.

When I try the test case, I get the following output,

[main] INFO
org.wso2.appserver.test.integration.statisticspublishing.ThriftTestServer
- Test Server starting on localhost
[main] INFO  org.wso2.carbon.databridge.receiver.thrift.ThriftDataReceiver
- Thrift Server started at localhost
[main] INFO  org.wso2.carbon.databridge.receiver.thrift.ThriftDataReceiver
- Thrift SSL port : 7711
[main] INFO  org.wso2.carbon.databridge.receiver.thrift.ThriftDataReceiver
- Thrift port : 7611
[main] INFO
org.wso2.appserver.test.integration.statisticspublishing.ThriftTestServer
- Test Server Started
[pool-1-thread-1] INFO  org.wso2.carbon.databridge.core.DataBridge  - user
admin connected
Exception in thread "pool-1-thread-1" java.lang.AbstractMethodError:
org.apache.thrift.ProcessFunction.isOneway()Z
at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:51)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
at
org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:286)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
[pool-1-thread-3] INFO  org.wso2.carbon.databridge.core.DataBridge  - user
admin connected
Exception in thread "pool-1-thread-3" java.lang.AbstractMethodError:
org.apache.thrift.ProcessFunction.isOneway()Z
at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:51)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
at
org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:286)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
[pool-1-thread-5] INFO  org.wso2.carbon.databridge.core.DataBridge  - user
admin connected
Exception in thread "pool-1-thread-5" java.lang.AbstractMethodError:
org.apache.thrift.ProcessFunction.isOneway()Z
at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:51)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
at
org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:286)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

It seems that AS is successfully connected to the thrift server.

Have we come across these errors earlier?

Also I am adding a stream definition, but I don't see any logs (According
to the code of the thrift test server it should log the stream definition).
May be this is because of this errors.


[1] [1]
https://github.com/wso2/carbon-analytics-common/blob/master/components/data-bridge/org.wso2.carbon.databridge.agent/src/test/java/org/wso2/carbon/databridge/agent/test/thrift/ThriftTestServer.java

On Mon, Mar 28, 2016 at 7:15 PM, Kalpa Welivitigoda  wrote:

>
>
> On Mon, Mar 28, 2016 at 7:03 PM, Mohanadarshan Vivekanandalingam <
> mo...@wso2.com> wrote:
>
>>
>>
>>
>> On Mon, Mar 28, 2016 at 5:36 PM, Kalpa Welivitigoda 
>> wrote:
>>
>>> Hi Lasantha,
>>>
>>> Is there a way in which we can verify the events being published to the
>>> thrift server?
>>>
>>
>> Why can't you have a counter in thrift agent server side and increment it
>> when event received.. We have used similar approach in our test cases [1] ..
>>
>> [1]
>> https://github.com/wso2/product-cep/blob/master/modules/integration/tests-integration/tests/src/test/java/org/wso2/carbon/integration/test/client/Wso2EventServer.java#L160
>>
>>
> Thanks Mohan, I was thinking of whether we can verify the event data as
> well.
>
>
>>
>>
>>>
>>> We have the http statistics publishing module in application server
>>> 6.0.0 and need to verify the events published to the thrift server in an
>>> integration test.
>>>
>>> On Tue, Dec 1, 2015 at 3:20 PM, Thanuja Uruththirakodeeswaran <
>>> thanu...@wso2.com> wrote:
>>>
 Hi Lasantha,

 Sorry, I tried this with different ports and when changing the client
 port to 7613, forgot to change the server port to 7613. I've corrected it
 and attached the new log.

 [main] INFO
  org.wso2.carbon.databridge.receiver.thrift.ThriftDataReceiver  - Thrift
 Server started at localhost
 [main] INFO
  org.wso2.carbon.databridge.receiver.thrift.ThriftDataReceiver  - Thrift
 SSL port : 7713
 [main] INFO
  

Re: [Dev] [Test Automation] Mocking Thrift server for an integration test

2016-03-28 Thread Kalpa Welivitigoda
On Mon, Mar 28, 2016 at 7:03 PM, Mohanadarshan Vivekanandalingam <
mo...@wso2.com> wrote:

>
>
>
> On Mon, Mar 28, 2016 at 5:36 PM, Kalpa Welivitigoda 
> wrote:
>
>> Hi Lasantha,
>>
>> Is there a way in which we can verify the events being published to the
>> thrift server?
>>
>
> Why can't you have a counter in thrift agent server side and increment it
> when event received.. We have used similar approach in our test cases [1] ..
>
> [1]
> https://github.com/wso2/product-cep/blob/master/modules/integration/tests-integration/tests/src/test/java/org/wso2/carbon/integration/test/client/Wso2EventServer.java#L160
>
>
Thanks Mohan, I was thinking of whether we can verify the event data as
well.


>
>
>>
>> We have the http statistics publishing module in application server 6.0.0
>> and need to verify the events published to the thrift server in an
>> integration test.
>>
>> On Tue, Dec 1, 2015 at 3:20 PM, Thanuja Uruththirakodeeswaran <
>> thanu...@wso2.com> wrote:
>>
>>> Hi Lasantha,
>>>
>>> Sorry, I tried this with different ports and when changing the client
>>> port to 7613, forgot to change the server port to 7613. I've corrected it
>>> and attached the new log.
>>>
>>> [main] INFO
>>>  org.wso2.carbon.databridge.receiver.thrift.ThriftDataReceiver  - Thrift
>>> Server started at localhost
>>> [main] INFO
>>>  org.wso2.carbon.databridge.receiver.thrift.ThriftDataReceiver  - Thrift
>>> SSL port : 7713
>>> [main] INFO
>>>  org.wso2.carbon.databridge.receiver.thrift.ThriftDataReceiver  - Thrift
>>> port : 7613
>>> [main] INFO
>>>  org.apache.stratos.cloud.controller.statistics.publisher.ThriftTestServer
>>>  - Test Server Started
>>> [main] INFO  org.wso2.carbon.databridge.agent.thrift.AgentHolder  -
>>> Agent created !
>>> [main] INFO  org.apache.stratos.common.threading.StratosThreadPool  -
>>> Thread pool created: [type] Executor Service [id]
>>> cloud.controller.stats.publisher.thread.pool [size] 10
>>> [pool-5-thread-1] ERROR
>>> org.wso2.carbon.databridge.agent.thrift.AsyncDataPublisher  - Error while
>>> connection to event receiver
>>> org.wso2.carbon.databridge.agent.thrift.exception.AgentException: Cannot
>>> borrow client for TCP,localhost:7613,TCP,localhost:7713
>>> at
>>> org.wso2.carbon.databridge.agent.thrift.internal.publisher.authenticator.AgentAuthenticator.connect(AgentAuthenticator.java:58)
>>> at
>>> org.wso2.carbon.databridge.agent.thrift.DataPublisher.start(DataPublisher.java:273)
>>> at
>>> org.wso2.carbon.databridge.agent.thrift.DataPublisher.(DataPublisher.java:161)
>>> at
>>> org.wso2.carbon.databridge.agent.thrift.AsyncDataPublisher$ReceiverConnectionWorker.run(AsyncDataPublisher.java:787)
>>> at
>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>>> at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>>> at
>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>> at
>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>> at java.lang.Thread.run(Thread.java:745)
>>> Caused by: org.apache.thrift.transport.TTransportException: Could not
>>> connect to 172.17.8.1 on port 7713
>>> at
>>> org.apache.thrift.transport.TSSLTransportFactory.createClient(TSSLTransportFactory.java:212)
>>> at
>>> org.apache.thrift.transport.TSSLTransportFactory.getClientSocket(TSSLTransportFactory.java:166)
>>> at
>>> org.wso2.carbon.databridge.agent.thrift.internal.pool.client.secure.SecureClientPoolFactory.makeObject(SecureClientPoolFactory.java:90)
>>> at
>>> org.wso2.carbon.databridge.agent.thrift.internal.pool.client.secure.SecureClientPoolFactory.makeObject(SecureClientPoolFactory.java:48)
>>> at
>>> org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:1212)
>>> at
>>> org.wso2.carbon.databridge.agent.thrift.internal.publisher.authenticator.AgentAuthenticator.connect(AgentAuthenticator.java:50)
>>> ... 8 more
>>> Caused by: java.net.ConnectException: Connection refused
>>> at java.net.PlainSocketImpl.socketConnect(Native Method)
>>> at
>>> java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
>>> at
>>> java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
>>> at
>>> java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
>>> at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
>>> at java.net.Socket.connect(Socket.java:579)
>>> at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:625)
>>> at sun.security.ssl.SSLSocketImpl.(SSLSocketImpl.java:413)
>>> at
>>> sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:88)
>>> at
>>> org.apache.thrift.transport.TSSLTransportFactory.createClient(TSSLTransportFactory.java:208)
>>> ... 13 more
>>>
>>> Thanks.
>>>
>>> On Tue, Dec 1, 2015 at 3:14 PM, Lasantha Fernando 
>>> wrote:
>>>
 Hi Thanuja,

 Looking at the logs above, it seems that the ThriftDataReceiver started
 

Re: [Dev] [Test Automation] Mocking Thrift server for an integration test

2016-03-28 Thread Mohanadarshan Vivekanandalingam
On Mon, Mar 28, 2016 at 5:36 PM, Kalpa Welivitigoda  wrote:

> Hi Lasantha,
>
> Is there a way in which we can verify the events being published to the
> thrift server?
>

Why can't you have a counter in thrift agent server side and increment it
when event received.. We have used similar approach in our test cases [1] ..

[1]
https://github.com/wso2/product-cep/blob/master/modules/integration/tests-integration/tests/src/test/java/org/wso2/carbon/integration/test/client/Wso2EventServer.java#L160



>
> We have the http statistics publishing module in application server 6.0.0
> and need to verify the events published to the thrift server in an
> integration test.
>
> On Tue, Dec 1, 2015 at 3:20 PM, Thanuja Uruththirakodeeswaran <
> thanu...@wso2.com> wrote:
>
>> Hi Lasantha,
>>
>> Sorry, I tried this with different ports and when changing the client
>> port to 7613, forgot to change the server port to 7613. I've corrected it
>> and attached the new log.
>>
>> [main] INFO
>>  org.wso2.carbon.databridge.receiver.thrift.ThriftDataReceiver  - Thrift
>> Server started at localhost
>> [main] INFO
>>  org.wso2.carbon.databridge.receiver.thrift.ThriftDataReceiver  - Thrift
>> SSL port : 7713
>> [main] INFO
>>  org.wso2.carbon.databridge.receiver.thrift.ThriftDataReceiver  - Thrift
>> port : 7613
>> [main] INFO
>>  org.apache.stratos.cloud.controller.statistics.publisher.ThriftTestServer
>>  - Test Server Started
>> [main] INFO  org.wso2.carbon.databridge.agent.thrift.AgentHolder  - Agent
>> created !
>> [main] INFO  org.apache.stratos.common.threading.StratosThreadPool  -
>> Thread pool created: [type] Executor Service [id]
>> cloud.controller.stats.publisher.thread.pool [size] 10
>> [pool-5-thread-1] ERROR
>> org.wso2.carbon.databridge.agent.thrift.AsyncDataPublisher  - Error while
>> connection to event receiver
>> org.wso2.carbon.databridge.agent.thrift.exception.AgentException: Cannot
>> borrow client for TCP,localhost:7613,TCP,localhost:7713
>> at
>> org.wso2.carbon.databridge.agent.thrift.internal.publisher.authenticator.AgentAuthenticator.connect(AgentAuthenticator.java:58)
>> at
>> org.wso2.carbon.databridge.agent.thrift.DataPublisher.start(DataPublisher.java:273)
>> at
>> org.wso2.carbon.databridge.agent.thrift.DataPublisher.(DataPublisher.java:161)
>> at
>> org.wso2.carbon.databridge.agent.thrift.AsyncDataPublisher$ReceiverConnectionWorker.run(AsyncDataPublisher.java:787)
>> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>> at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>> at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>> at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>> at java.lang.Thread.run(Thread.java:745)
>> Caused by: org.apache.thrift.transport.TTransportException: Could not
>> connect to 172.17.8.1 on port 7713
>> at
>> org.apache.thrift.transport.TSSLTransportFactory.createClient(TSSLTransportFactory.java:212)
>> at
>> org.apache.thrift.transport.TSSLTransportFactory.getClientSocket(TSSLTransportFactory.java:166)
>> at
>> org.wso2.carbon.databridge.agent.thrift.internal.pool.client.secure.SecureClientPoolFactory.makeObject(SecureClientPoolFactory.java:90)
>> at
>> org.wso2.carbon.databridge.agent.thrift.internal.pool.client.secure.SecureClientPoolFactory.makeObject(SecureClientPoolFactory.java:48)
>> at
>> org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:1212)
>> at
>> org.wso2.carbon.databridge.agent.thrift.internal.publisher.authenticator.AgentAuthenticator.connect(AgentAuthenticator.java:50)
>> ... 8 more
>> Caused by: java.net.ConnectException: Connection refused
>> at java.net.PlainSocketImpl.socketConnect(Native Method)
>> at
>> java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
>> at
>> java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
>> at
>> java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
>> at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
>> at java.net.Socket.connect(Socket.java:579)
>> at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:625)
>> at sun.security.ssl.SSLSocketImpl.(SSLSocketImpl.java:413)
>> at
>> sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:88)
>> at
>> org.apache.thrift.transport.TSSLTransportFactory.createClient(TSSLTransportFactory.java:208)
>> ... 13 more
>>
>> Thanks.
>>
>> On Tue, Dec 1, 2015 at 3:14 PM, Lasantha Fernando 
>> wrote:
>>
>>> Hi Thanuja,
>>>
>>> Looking at the logs above, it seems that the ThriftDataReceiver started
>>> on port 7612, with SSL port 7712.
>>>
>>> [main] INFO
>>>  org.wso2.carbon.databridge.receiver.thrift.ThriftDataReceiver  - Thrift
>>> SSL port : 7712
>>> [main] INFO
>>>  org.wso2.carbon.databridge.receiver.thrift.ThriftDataReceiver  - Thrift
>>> port : 7612
>>> [main] INFO
>>>  

Re: [Dev] [Test Automation] Mocking Thrift server for an integration test

2016-03-28 Thread Kalpa Welivitigoda
Hi Lasantha,

Is there a way in which we can verify the events being published to the
thrift server?

We have the http statistics publishing module in application server 6.0.0
and need to verify the events published to the thrift server in an
integration test.

On Tue, Dec 1, 2015 at 3:20 PM, Thanuja Uruththirakodeeswaran <
thanu...@wso2.com> wrote:

> Hi Lasantha,
>
> Sorry, I tried this with different ports and when changing the client port
> to 7613, forgot to change the server port to 7613. I've corrected it and
> attached the new log.
>
> [main] INFO  org.wso2.carbon.databridge.receiver.thrift.ThriftDataReceiver
>  - Thrift Server started at localhost
> [main] INFO  org.wso2.carbon.databridge.receiver.thrift.ThriftDataReceiver
>  - Thrift SSL port : 7713
> [main] INFO  org.wso2.carbon.databridge.receiver.thrift.ThriftDataReceiver
>  - Thrift port : 7613
> [main] INFO
>  org.apache.stratos.cloud.controller.statistics.publisher.ThriftTestServer
>  - Test Server Started
> [main] INFO  org.wso2.carbon.databridge.agent.thrift.AgentHolder  - Agent
> created !
> [main] INFO  org.apache.stratos.common.threading.StratosThreadPool  -
> Thread pool created: [type] Executor Service [id]
> cloud.controller.stats.publisher.thread.pool [size] 10
> [pool-5-thread-1] ERROR
> org.wso2.carbon.databridge.agent.thrift.AsyncDataPublisher  - Error while
> connection to event receiver
> org.wso2.carbon.databridge.agent.thrift.exception.AgentException: Cannot
> borrow client for TCP,localhost:7613,TCP,localhost:7713
> at
> org.wso2.carbon.databridge.agent.thrift.internal.publisher.authenticator.AgentAuthenticator.connect(AgentAuthenticator.java:58)
> at
> org.wso2.carbon.databridge.agent.thrift.DataPublisher.start(DataPublisher.java:273)
> at
> org.wso2.carbon.databridge.agent.thrift.DataPublisher.(DataPublisher.java:161)
> at
> org.wso2.carbon.databridge.agent.thrift.AsyncDataPublisher$ReceiverConnectionWorker.run(AsyncDataPublisher.java:787)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.thrift.transport.TTransportException: Could not
> connect to 172.17.8.1 on port 7713
> at
> org.apache.thrift.transport.TSSLTransportFactory.createClient(TSSLTransportFactory.java:212)
> at
> org.apache.thrift.transport.TSSLTransportFactory.getClientSocket(TSSLTransportFactory.java:166)
> at
> org.wso2.carbon.databridge.agent.thrift.internal.pool.client.secure.SecureClientPoolFactory.makeObject(SecureClientPoolFactory.java:90)
> at
> org.wso2.carbon.databridge.agent.thrift.internal.pool.client.secure.SecureClientPoolFactory.makeObject(SecureClientPoolFactory.java:48)
> at
> org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:1212)
> at
> org.wso2.carbon.databridge.agent.thrift.internal.publisher.authenticator.AgentAuthenticator.connect(AgentAuthenticator.java:50)
> ... 8 more
> Caused by: java.net.ConnectException: Connection refused
> at java.net.PlainSocketImpl.socketConnect(Native Method)
> at
> java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
> at
> java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
> at
> java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
> at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
> at java.net.Socket.connect(Socket.java:579)
> at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:625)
> at sun.security.ssl.SSLSocketImpl.(SSLSocketImpl.java:413)
> at
> sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:88)
> at
> org.apache.thrift.transport.TSSLTransportFactory.createClient(TSSLTransportFactory.java:208)
> ... 13 more
>
> Thanks.
>
> On Tue, Dec 1, 2015 at 3:14 PM, Lasantha Fernando 
> wrote:
>
>> Hi Thanuja,
>>
>> Looking at the logs above, it seems that the ThriftDataReceiver started
>> on port 7612, with SSL port 7712.
>>
>> [main] INFO
>>  org.wso2.carbon.databridge.receiver.thrift.ThriftDataReceiver  - Thrift
>> SSL port : 7712
>> [main] INFO
>>  org.wso2.carbon.databridge.receiver.thrift.ThriftDataReceiver  - Thrift
>> port : 7612
>> [main] INFO
>>  org.apache.stratos.cloud.controller.statistics.publisher.ThriftTestServer
>>  - Test Server Started
>>
>> But the agent is trying to connect to port 7613,7713.
>>
>> [pool-5-thread-1] ERROR
>> org.wso2.carbon.databridge.agent.thrift.AsyncDataPublisher  - Error while
>> connection to event receiver
>> org.wso2.carbon.databridge.agent.thrift.exception.AgentException: Cannot
>> borrow client for TCP,localhost:7613,TCP,localhost:7713
>>
>> Can you go through the code and verify that the agent is sending to the
>> same port on which agent is started? 

Re: [Dev] [Test Automation] Mocking Thrift server for an integration test

2015-12-01 Thread Thanuja Uruththirakodeeswaran
Hi Lasantha,

I'm using the  ThriftTestServer [1] to check data publisher functionality
in a java test class. I have set the TrustStore paramby
DataPublisherTestUtil.setTrustStoreParams(); after setting KeyStore param
in my local code.

After start the ThriftTestServer instance, I'm trying to create a publisher
object and while doing that I'm getting the below error:

[main] INFO  org.wso2.carbon.databridge.receiver.thrift.ThriftDataReceiver
 - Thrift Server started at localhost
[main] INFO  org.wso2.carbon.databridge.receiver.thrift.ThriftDataReceiver
 - Thrift SSL port : 7712
[main] INFO  org.wso2.carbon.databridge.receiver.thrift.ThriftDataReceiver
 - Thrift port : 7612
[main] INFO
 org.apache.stratos.cloud.controller.statistics.publisher.ThriftTestServer
 - Test Server Started
[main] INFO  org.wso2.carbon.databridge.agent.thrift.AgentHolder  - Agent
created !
[main] INFO  org.apache.stratos.common.threading.StratosThreadPool  -
Thread pool created: [type] Executor Service [id]
cloud.controller.stats.publisher.thread.pool [size] 10
[pool-5-thread-1] ERROR
org.wso2.carbon.databridge.agent.thrift.AsyncDataPublisher  - Error while
connection to event receiver
org.wso2.carbon.databridge.agent.thrift.exception.AgentException: Cannot
borrow client for TCP,localhost:7613,TCP,localhost:7713
at
org.wso2.carbon.databridge.agent.thrift.internal.publisher.authenticator.AgentAuthenticator.connect(AgentAuthenticator.java:58)
at
org.wso2.carbon.databridge.agent.thrift.DataPublisher.start(DataPublisher.java:273)
at
org.wso2.carbon.databridge.agent.thrift.DataPublisher.(DataPublisher.java:161)
at
org.wso2.carbon.databridge.agent.thrift.AsyncDataPublisher$ReceiverConnectionWorker.run(AsyncDataPublisher.java:787)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.thrift.transport.TTransportException: Could not
connect to 172.17.8.1 on port 7713
at
org.apache.thrift.transport.TSSLTransportFactory.createClient(TSSLTransportFactory.java:212)
at
org.apache.thrift.transport.TSSLTransportFactory.getClientSocket(TSSLTransportFactory.java:166)
at
org.wso2.carbon.databridge.agent.thrift.internal.pool.client.secure.SecureClientPoolFactory.makeObject(SecureClientPoolFactory.java:90)
at
org.wso2.carbon.databridge.agent.thrift.internal.pool.client.secure.SecureClientPoolFactory.makeObject(SecureClientPoolFactory.java:48)
at
org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:1212)
at
org.wso2.carbon.databridge.agent.thrift.internal.publisher.authenticator.AgentAuthenticator.connect(AgentAuthenticator.java:50)
... 8 more
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at
java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at
java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at
java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:625)
at sun.security.ssl.SSLSocketImpl.(SSLSocketImpl.java:413)
at
sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:88)
at
org.apache.thrift.transport.TSSLTransportFactory.createClient(TSSLTransportFactory.java:208)
... 13 more


What is the reason for this? Could you please point what I'm doing wrong.

Thanks.

[1].
https://github.com/apache/stratos/blob/master/products/python-cartridge-agent/modules/integration/test-common/src/main/java/org/apache/stratos/python/cartridge/agent/integration/common/ThriftTestServer.java

On Tue, Sep 1, 2015 at 1:26 AM, Akila Ravihansa Perera 
wrote:

> Hi Lasantha,
>
> This is exactly what I needed. Had to struggle a bit to connect to the
> test server from a Python client but managed to do that after couple of
> tweaks. I faced an issue since we cannot define the cipher set to be used
> in ThriftTestServer. Therefore, ThriftDataReceiver will get initialized
> with default set of parameters for TSSLTransportParameters. I'd like to
> suggest that we provide a method to customize these SSL parameters.
>
> Thanks a lot for the prompt response. This was really helpful :)
>
> On Sun, Aug 30, 2015 at 3:20 PM, Lasantha Fernando 
> wrote:
>
>> Hi Akila,
>>
>> There is a ThriftTestServer we've written for tests in
>> carbon-analytics-common. You can find an example here [1]. Also you can
>> find other examples in the databridge-agent test cases. Can you go through
>> them and see if that fits your purpose?
>>
>> [1]
>> 

Re: [Dev] [Test Automation] Mocking Thrift server for an integration test

2015-12-01 Thread Lasantha Fernando
Hi Thanuja,

Looking at the logs above, it seems that the ThriftDataReceiver started on
port 7612, with SSL port 7712.

[main] INFO  org.wso2.carbon.databridge.receiver.thrift.ThriftDataReceiver
 - Thrift SSL port : 7712
[main] INFO  org.wso2.carbon.databridge.receiver.thrift.ThriftDataReceiver
 - Thrift port : 7612
[main] INFO
 org.apache.stratos.cloud.controller.statistics.publisher.ThriftTestServer
 - Test Server Started

But the agent is trying to connect to port 7613,7713.

[pool-5-thread-1] ERROR
org.wso2.carbon.databridge.agent.thrift.AsyncDataPublisher  - Error while
connection to event receiver
org.wso2.carbon.databridge.agent.thrift.exception.AgentException: Cannot
borrow client for TCP,localhost:7613,TCP,localhost:7713

Can you go through the code and verify that the agent is sending to the
same port on which agent is started? It is probably a minor issue when
setting the offsets.

Thanks,
Lasantha


On 1 December 2015 at 15:09, Thanuja Uruththirakodeeswaran <
thanu...@wso2.com> wrote:

> Hi Lasantha,
>
> I'm using the  ThriftTestServer [1] to check data publisher functionality
> in a java test class. I have set the TrustStore paramby
> DataPublisherTestUtil.setTrustStoreParams(); after setting KeyStore param
> in my local code.
>
> After start the ThriftTestServer instance, I'm trying to create a
> publisher object and while doing that I'm getting the below error:
>
> [main] INFO  org.wso2.carbon.databridge.receiver.thrift.ThriftDataReceiver
>  - Thrift Server started at localhost
> [main] INFO  org.wso2.carbon.databridge.receiver.thrift.ThriftDataReceiver
>  - Thrift SSL port : 7712
> [main] INFO  org.wso2.carbon.databridge.receiver.thrift.ThriftDataReceiver
>  - Thrift port : 7612
> [main] INFO
>  org.apache.stratos.cloud.controller.statistics.publisher.ThriftTestServer
>  - Test Server Started
> [main] INFO  org.wso2.carbon.databridge.agent.thrift.AgentHolder  - Agent
> created !
> [main] INFO  org.apache.stratos.common.threading.StratosThreadPool  -
> Thread pool created: [type] Executor Service [id]
> cloud.controller.stats.publisher.thread.pool [size] 10
> [pool-5-thread-1] ERROR
> org.wso2.carbon.databridge.agent.thrift.AsyncDataPublisher  - Error while
> connection to event receiver
> org.wso2.carbon.databridge.agent.thrift.exception.AgentException: Cannot
> borrow client for TCP,localhost:7613,TCP,localhost:7713
> at
> org.wso2.carbon.databridge.agent.thrift.internal.publisher.authenticator.AgentAuthenticator.connect(AgentAuthenticator.java:58)
> at
> org.wso2.carbon.databridge.agent.thrift.DataPublisher.start(DataPublisher.java:273)
> at
> org.wso2.carbon.databridge.agent.thrift.DataPublisher.(DataPublisher.java:161)
> at
> org.wso2.carbon.databridge.agent.thrift.AsyncDataPublisher$ReceiverConnectionWorker.run(AsyncDataPublisher.java:787)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.thrift.transport.TTransportException: Could not
> connect to 172.17.8.1 on port 7713
> at
> org.apache.thrift.transport.TSSLTransportFactory.createClient(TSSLTransportFactory.java:212)
> at
> org.apache.thrift.transport.TSSLTransportFactory.getClientSocket(TSSLTransportFactory.java:166)
> at
> org.wso2.carbon.databridge.agent.thrift.internal.pool.client.secure.SecureClientPoolFactory.makeObject(SecureClientPoolFactory.java:90)
> at
> org.wso2.carbon.databridge.agent.thrift.internal.pool.client.secure.SecureClientPoolFactory.makeObject(SecureClientPoolFactory.java:48)
> at
> org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:1212)
> at
> org.wso2.carbon.databridge.agent.thrift.internal.publisher.authenticator.AgentAuthenticator.connect(AgentAuthenticator.java:50)
> ... 8 more
> Caused by: java.net.ConnectException: Connection refused
> at java.net.PlainSocketImpl.socketConnect(Native Method)
> at
> java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
> at
> java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
> at
> java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
> at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
> at java.net.Socket.connect(Socket.java:579)
> at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:625)
> at sun.security.ssl.SSLSocketImpl.(SSLSocketImpl.java:413)
> at
> sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:88)
> at
> org.apache.thrift.transport.TSSLTransportFactory.createClient(TSSLTransportFactory.java:208)
> ... 13 more
>
>
> What is the reason for this? Could you please point what I'm doing wrong.
>
> Thanks.
>
> [1].
> 

Re: [Dev] [Test Automation] Mocking Thrift server for an integration test

2015-12-01 Thread Thanuja Uruththirakodeeswaran
Hi Lasantha,

Sorry, I tried this with different ports and when changing the client port
to 7613, forgot to change the server port to 7613. I've corrected it and
attached the new log.

[main] INFO  org.wso2.carbon.databridge.receiver.thrift.ThriftDataReceiver
 - Thrift Server started at localhost
[main] INFO  org.wso2.carbon.databridge.receiver.thrift.ThriftDataReceiver
 - Thrift SSL port : 7713
[main] INFO  org.wso2.carbon.databridge.receiver.thrift.ThriftDataReceiver
 - Thrift port : 7613
[main] INFO
 org.apache.stratos.cloud.controller.statistics.publisher.ThriftTestServer
 - Test Server Started
[main] INFO  org.wso2.carbon.databridge.agent.thrift.AgentHolder  - Agent
created !
[main] INFO  org.apache.stratos.common.threading.StratosThreadPool  -
Thread pool created: [type] Executor Service [id]
cloud.controller.stats.publisher.thread.pool [size] 10
[pool-5-thread-1] ERROR
org.wso2.carbon.databridge.agent.thrift.AsyncDataPublisher  - Error while
connection to event receiver
org.wso2.carbon.databridge.agent.thrift.exception.AgentException: Cannot
borrow client for TCP,localhost:7613,TCP,localhost:7713
at
org.wso2.carbon.databridge.agent.thrift.internal.publisher.authenticator.AgentAuthenticator.connect(AgentAuthenticator.java:58)
at
org.wso2.carbon.databridge.agent.thrift.DataPublisher.start(DataPublisher.java:273)
at
org.wso2.carbon.databridge.agent.thrift.DataPublisher.(DataPublisher.java:161)
at
org.wso2.carbon.databridge.agent.thrift.AsyncDataPublisher$ReceiverConnectionWorker.run(AsyncDataPublisher.java:787)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.thrift.transport.TTransportException: Could not
connect to 172.17.8.1 on port 7713
at
org.apache.thrift.transport.TSSLTransportFactory.createClient(TSSLTransportFactory.java:212)
at
org.apache.thrift.transport.TSSLTransportFactory.getClientSocket(TSSLTransportFactory.java:166)
at
org.wso2.carbon.databridge.agent.thrift.internal.pool.client.secure.SecureClientPoolFactory.makeObject(SecureClientPoolFactory.java:90)
at
org.wso2.carbon.databridge.agent.thrift.internal.pool.client.secure.SecureClientPoolFactory.makeObject(SecureClientPoolFactory.java:48)
at
org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:1212)
at
org.wso2.carbon.databridge.agent.thrift.internal.publisher.authenticator.AgentAuthenticator.connect(AgentAuthenticator.java:50)
... 8 more
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at
java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at
java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at
java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:625)
at sun.security.ssl.SSLSocketImpl.(SSLSocketImpl.java:413)
at
sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:88)
at
org.apache.thrift.transport.TSSLTransportFactory.createClient(TSSLTransportFactory.java:208)
... 13 more

Thanks.

On Tue, Dec 1, 2015 at 3:14 PM, Lasantha Fernando  wrote:

> Hi Thanuja,
>
> Looking at the logs above, it seems that the ThriftDataReceiver started on
> port 7612, with SSL port 7712.
>
> [main] INFO  org.wso2.carbon.databridge.receiver.thrift.ThriftDataReceiver
>  - Thrift SSL port : 7712
> [main] INFO  org.wso2.carbon.databridge.receiver.thrift.ThriftDataReceiver
>  - Thrift port : 7612
> [main] INFO
>  org.apache.stratos.cloud.controller.statistics.publisher.ThriftTestServer
>  - Test Server Started
>
> But the agent is trying to connect to port 7613,7713.
>
> [pool-5-thread-1] ERROR
> org.wso2.carbon.databridge.agent.thrift.AsyncDataPublisher  - Error while
> connection to event receiver
> org.wso2.carbon.databridge.agent.thrift.exception.AgentException: Cannot
> borrow client for TCP,localhost:7613,TCP,localhost:7713
>
> Can you go through the code and verify that the agent is sending to the
> same port on which agent is started? It is probably a minor issue when
> setting the offsets.
>
> Thanks,
> Lasantha
>
>
> On 1 December 2015 at 15:09, Thanuja Uruththirakodeeswaran <
> thanu...@wso2.com> wrote:
>
>> Hi Lasantha,
>>
>> I'm using the  ThriftTestServer [1] to check data publisher functionality
>> in a java test class. I have set the TrustStore paramby
>> DataPublisherTestUtil.setTrustStoreParams(); after setting KeyStore
>> param in my local code.
>>
>> After start the ThriftTestServer instance, I'm trying to create a
>> publisher object and while 

Re: [Dev] [Test Automation] Mocking Thrift server for an integration test

2015-08-31 Thread Akila Ravihansa Perera
Hi Lasantha,

This is exactly what I needed. Had to struggle a bit to connect to the test
server from a Python client but managed to do that after couple of tweaks.
I faced an issue since we cannot define the cipher set to be used in
ThriftTestServer. Therefore, ThriftDataReceiver will get initialized with
default set of parameters for TSSLTransportParameters. I'd like to suggest
that we provide a method to customize these SSL parameters.

Thanks a lot for the prompt response. This was really helpful :)

On Sun, Aug 30, 2015 at 3:20 PM, Lasantha Fernando 
wrote:

> Hi Akila,
>
> There is a ThriftTestServer we've written for tests in
> carbon-analytics-common. You can find an example here [1]. Also you can
> find other examples in the databridge-agent test cases. Can you go through
> them and see if that fits your purpose?
>
> [1]
> https://github.com/wso2/carbon-analytics-common/blob/master/components/data-bridge/org.wso2.carbon.databridge.agent/src/test/java/org/wso2/carbon/databridge/agent/test/thrift/ThriftTestServer.java
>
> Thanks,
> Lasantha
>
> On 30 August 2015 at 12:59, Akila Ravihansa Perera 
> wrote:
>
>> Hi,
>>
>> I'm looking for a way to mock the Thrift receiver in CEP. My requirement
>> is to write an integration test to assert stat publishing functionality (to
>> CEP via Thrift) in my Python app. I'm developing the automation test cases
>> using TestNG framework so I can use any Java based library. Is this
>> possible by using regular Java sockets?
>>
>> I'd rather prefer to start an embedded CEP Thrift receiver in my test
>> method and verify the functionality. Appreciate any help regarding this.
>>
>> Thanks.
>> --
>> Akila Ravihansa Perera
>> WSO2 Inc.;  http://wso2.com/
>>
>> Blog: http://ravihansa3000.blogspot.com
>>
>
>
>
> --
> *Lasantha Fernando*
> Senior Software Engineer - Data Technologies Team
> WSO2 Inc. http://wso2.com
>
> email: lasan...@wso2.com
> mobile: (+94) 71 5247551
>



-- 
Akila Ravihansa Perera
WSO2 Inc.;  http://wso2.com/

Blog: http://ravihansa3000.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] [Test Automation] Mocking Thrift server for an integration test

2015-08-30 Thread Lasantha Fernando
Hi Akila,

There is a ThriftTestServer we've written for tests in
carbon-analytics-common. You can find an example here [1]. Also you can
find other examples in the databridge-agent test cases. Can you go through
them and see if that fits your purpose?

[1]
https://github.com/wso2/carbon-analytics-common/blob/master/components/data-bridge/org.wso2.carbon.databridge.agent/src/test/java/org/wso2/carbon/databridge/agent/test/thrift/ThriftTestServer.java

Thanks,
Lasantha

On 30 August 2015 at 12:59, Akila Ravihansa Perera raviha...@wso2.com
wrote:

 Hi,

 I'm looking for a way to mock the Thrift receiver in CEP. My requirement
 is to write an integration test to assert stat publishing functionality (to
 CEP via Thrift) in my Python app. I'm developing the automation test cases
 using TestNG framework so I can use any Java based library. Is this
 possible by using regular Java sockets?

 I'd rather prefer to start an embedded CEP Thrift receiver in my test
 method and verify the functionality. Appreciate any help regarding this.

 Thanks.
 --
 Akila Ravihansa Perera
 WSO2 Inc.;  http://wso2.com/

 Blog: http://ravihansa3000.blogspot.com




-- 
*Lasantha Fernando*
Senior Software Engineer - Data Technologies Team
WSO2 Inc. http://wso2.com

email: lasan...@wso2.com
mobile: (+94) 71 5247551
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


[Dev] [Test Automation] Mocking Thrift server for an integration test

2015-08-30 Thread Akila Ravihansa Perera
Hi,

I'm looking for a way to mock the Thrift receiver in CEP. My requirement is
to write an integration test to assert stat publishing functionality (to
CEP via Thrift) in my Python app. I'm developing the automation test cases
using TestNG framework so I can use any Java based library. Is this
possible by using regular Java sockets?

I'd rather prefer to start an embedded CEP Thrift receiver in my test
method and verify the functionality. Appreciate any help regarding this.

Thanks.
-- 
Akila Ravihansa Perera
WSO2 Inc.;  http://wso2.com/

Blog: http://ravihansa3000.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev