Re: [Dev] [Architecture] [VOTE] Release WSO2 Enterprise Integrator 7.0.0 RC1

2019-10-07 Thread Hasitha Hiranya
Hi all,

I have tested following on the MI 1.1.0 RC1 pack.

   - SSL connections
   - Configuring read only LDAP
   - Rest API with basic authentication

[+] Stable - go ahead and release

Thanks

On Mon, Oct 7, 2019 at 2:31 PM Sameera Gunarathne  wrote:

> Hi all,
>
> I have tested following on the MI 1.1.0 RC1 pack.
>
>
>- RabbitMQ inbound endpoint
>- RabbitMQ transport sender
>- RabbitMQ message store with sampling processor and scheduled
>forwarding processor
>
> [+] Stable - go ahead and release
>
> Thanks,
>
> On Mon, Oct 7, 2019 at 2:24 PM Chanika Geeganage  wrote:
>
>> Hi,
>>
>> I have tested following on MI
>>
>> - Odata services
>>
>> - Dataservices (RDBMS, Excel, CSV datasources)
>>
>> - Request box
>>
>> - Batch requests
>>
>> - XSLT transformation (loading from registry)
>>
>>
>> [+] Stable - go ahead and release
>>
>> On Sat, Oct 5, 2019 at 4:10 PM Sajith Ravindra  wrote:
>>
>>> Hi all
>>>
>>>
>>> We are pleased to announce the release candidate of WSO2 Enterprise
>>> Integrator 7.0.0 release.
>>>
>>>
>>> WSO2 Enterprise Integrator 7.0.0 consists of three runtimes providing a
>>> comprehensive set of functionalities and features required to fulfill any
>>> integration requirement, following are the key features of each runtime.
>>>
>>>
>>> Ballerina Integrator 1.0.0
>>> Key Features
>>>
>>>-
>>>
>>>Based on Ballerina 1.0.1, which consists of improvements to the
>>>language syntax and semantics based on the stable language specification
>>>version 2019R3
>>>-
>>>
>>>Connectors for protocols like HTTP, File, FTP
>>>, Samba
>>>, gRPC, NATS and Kafka.
>>>-
>>>
>>>EI Connectors for well known SaaS applications like Salesforce
>>>, Amazon SQS
>>>, Amazon S3
>>>, Google Sheets
>>> and Gmail
>>>. You can pull them from 
>>> Ballerina
>>>Central .
>>>-
>>>
>>>Improved support for EIP’s (Enterprise Integration Patterns) with
>>>tailor-made EI connectors and template support for tooling.
>>>-
>>>
>>>Java interoperability (allows you to call Java code from Ballerina)
>>>-
>>>
>>>Project Templates for widely used integration use cases. With this,
>>>we expect to save time spent on bootstrapping a new integration project.
>>>You can pull them from Ballerina Central
>>>.
>>>-
>>>
>>>VS Code based tooling support to discover and create projects using
>>>templates.
>>>
>>> List of tasks/bug fixes and improvements shipped with this release can
>>> be found below:
>>>
>>>-
>>>
>>>Tasks/Bug Fixes and Improvements
>>>
>>>
>>> Micro Integrator 1.1.0
>>>
>>> This is the successor of Micro Integrator 1.0.0, which is the
>>> cloud-native version of WSO2 Enterprise Integrator 6.5.0 integrator profile
>>> containing all its key capabilities.
>>> Key Features
>>>
>>>-
>>>
>>>Builtin unit testing framework for writing unit tests for synapse
>>>configuration artifacts
>>>-
>>>
>>>Support for JDK 11
>>>-
>>>
>>>All new Micro Integrator Dashboard to monitor the synapse runtime
>>>artifacts
>>>-
>>>
>>>Management API with improved functionalities such as JWT based
>>>authentication
>>>-
>>>
>>>Improved Micro Integrator CLI
>>>
>>>
>>>-
>>>
>>>ODATA support for Data Services
>>>-
>>>
>>>JDBC User store support
>>>-
>>>
>>>Seamless integration with WSO2 Streaming Integrator through gRPC
>>>-
>>>
>>>Single file (TOML based) configuration approach that makes runtime
>>>configuration much simpler and intuitive
>>>-
>>>
>>>System variable support for all environment-dependent parameters of
>>>synapse configurations
>>>
>>> A list of tasks/bug fixes and improvements shipped with this release can
>>> be found below:
>>>
>>>-
>>>
>>>Tasks/bug fixes and improvements
>>>
>>> 
>>>
>>> Streaming Integrator 1.0.0
>>>
>>> WSO2 Streaming integrator is powered by siddhi.io and inherits all its
>>> features and characteristics. It’s a successor of WSO2 Stream Processor
>>> 4.4.0 and includes all key features of WSO2 SP 4.4.0 except dashboards.
>>> Key Features
>>>
>>>-
>>>
>>>Amazon S3 and Google cloud storage connector, introducing cloud data
>>>integration
>>>-
>>>
>>>Siddhi K8s operator support for Streaming integrator enabling easy
>>>deployment of SI in a Kubernetes cluster
>>>-
>>>
>>>Support to export siddhi apps as 

Re: [Dev] wso2 EI 6.4.0: "System may be unstable" error

2019-10-01 Thread Hasitha Hiranya
Hi,

Even if the system level open file count limit is unlimited, there is a
limit per process.
Please check if that is hit [1].

[1].
https://stackoverflow.com/questions/21752067/counting-open-files-per-process

Thanks


On Tue, Oct 1, 2019 at 4:01 PM Bernard Paris 
wrote:

>
> running 2 nodes wso2 EI 6.4.0  behind a load balancer (round robbin) for
> months now, suddenly yesterday one node was very very busy without any good
> reason..
> In the logs we found thousands and thousands  of this message :
>
>
> [2019-09-30 16:41:06,440] [-1] [] [PassThrough HTTPS-Listener I/O
> dispatcher Listener]  WARN
> {org.apache.synapse.transport.passthru.PassThroughHttpSSLListener} -
> System may be unstable: HTTPS ListeningIOReactor encountered a checked
> exception : Too many open files
> java.io.IOException: Too many open files
> at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
> at sun.nio.ch
> .ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:422)
> at sun.nio.ch
> .ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:250)
> at
> org.apache.http.impl.nio.reactor.DefaultListeningIOReactor.processEvent(DefaultListeningIOReactor.java:170)
> at
> org.apache.http.impl.nio.reactor.DefaultListeningIOReactor.processEvents(DefaultListeningIOReactor.java:153)
> at
> org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:349)
> at
> org.apache.synapse.transport.passthru.core.PassThroughListeningIOReactorManager$1.run(PassThroughListeningIOReactorManager.java:536)
> at java.lang.Thread.run(Thread.java:748)
>
> We needed to stop then restart the process.
>
> This is strange since on this linux machine we configured ulimit to
> "unlimited" and no particular intensive traffic was found at this moment.
>
> We now are afraid this can be come again, what could be the origin of this
> problem ? any idea to avoid it ?
>
> Thanks
> Bernard
> ___
> Dev mailing list
> Dev@wso2.org
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>


-- 
*Hasitha Abeykoon*
Associate Technical Lead; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* 
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


[Dev] Empty ADDRESS kubernetes ingress

2019-05-31 Thread Hasitha Hiranya
Hi Devs,

I created an Ingress using wso2-micro-integrator-ingress.yaml attached
below. When I executed below command I get empty ADDRESS field.

Operating System : MAC OS Mojave
Docker Desktop version : 2.0.2.0


*hasitha@Hasithas-MacBook-Pro:/temp/k8$ kubectl get ingress*

NAME HOSTS
ADDRESS   PORTS   AGE
wso2-micro-integrator-ingress   wso2-micro-integrator
 80   3h27m


apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: wso2-micro-integrator-ingress
  annotations:
kubernetes.io/ingress.class: "nginx"
spec:
  rules:
  - host: wso2-micro-integrator
http:
  paths:
  - path: /
backend:
  serviceName: hello-world-service
  servicePort: 8290

I noticed below resources, but unable to find a solution. Can anyone help?

1.
https://stackoverflow.com/questions/51511547/empty-address-kubernetes-ingress
2.
https://www.edureka.co/community/19279/kubectl-get-ing-gives-no-address-in-kubernetes-ingress
3. https://github.com/nginxinc/kubernetes-ingress/issues/204

Thanks
-- 
*Hasitha Abeykoon*
Associate Technical Lead; WSO2, Inc.; http://wso2.com
*blog: **abeykoon.blogspot.com* 
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] [VOTE] Release WSO2 Enterprise Integrator 6.5.0 RC1

2019-05-17 Thread Hasitha Hiranya
Hi,

I tested below -

backend Funtionlaity and Web UI of wso2ei

   1. HTTP proxy
   2. log mediator
   3. JMS message stores
   4. JMS message processor (MB based)
   5. JMS proxy inbound
   6. Sequence mediator
   7. Store mediator
   8. address endpoint

MB profile
   1. Create a queue
   2. Create a subscriber and publisher to a queue
   3. Use MB to implement message store forward

+1 to go ahead and release

Thanks

On Fri, May 17, 2019 at 1:20 PM Hasitha Hiranya  wrote:

> Hi,
>
> I smoke tested below -
>
> backend Funtionlaity and Web UI of wso2ei
>
>1. HTTP proxy
>2. log mediator
>3. JMS message stores
>4. JMS message processor (MB based)
>5. JMS proxy inbound
>6. Sequence mediator
>7. Store mediator
>8. address endpoint
>
> MB profile
>1. Create a queue
>2. create a subscriber and publisher to a queue
>3. Use MB to implement message store forward
>
> +1 to go ahead and release
>
> Thanks
>
> On Thu, May 16, 2019 at 7:33 PM Nirothipan Megalingham <
> nirothi...@wso2.com> wrote:
>
>> Hi all,
>>
>> We are pleased to announce the first release candidate of WSO2 Enterprise
>> Integrator 6.5.0.
>>
>> Please find the list of tasks / bug fixes and improvements shipped with
>> this release below
>>
>>- Tasks/bug fixes and improvements in Enterprise Integrator
>>
>> <https://github.com/wso2/product-ei/issues?utf8=%E2%9C%93=is%3Aissue+closed%3A2018-10-09..2019-05-15+is%3Aclosed+>
>>- Tasks/bug fixes and improvements in Micro Integrator
>>
>> <https://github.com/wso2/micro-integrator/issues?page=1=is%3Aissue+closed%3A2018-10-09..2019-05-14+is%3Aclosed=%E2%9C%93>
>>
>> Known Issues
>>
>>- https://github.com/wso2/product-ei/issues
>>- https://github.com/wso2/micro-integrator/issues
>>
>> The tag to be voted upon:
>> https://github.com/wso2/product-ei/tree/v6.5.0-rc1
>>
>> Source and binary distributions:
>> https://github.com/wso2/product-ei/releases/tag/v6.5.0-rc1
>>
>> Please test and vote as follows
>>
>> [+] Stable - go ahead and release
>> [-] Broken - do not release (explain why)
>>
>> You may find the official documentation in:
>> https://docs.wso2.com/display/EI6xx
>>
>> ~ The Enterprise Integrator Team ~
>>
>>
>> --
>>
>> *M.Nirothipan* | Senior Software Engineer | WSO2 Inc.
>>
>> (m) +94772172692 | (e) nirothi...@wso2.com
>>
>> [image: http://wso2.com/signature] <http://wso2.com/signature>
>>
>>
>
> --
> *Hasitha Abeykoon*
> Associate Technical Lead; WSO2, Inc.; http://wso2.com
> *cell:* *+94 719363063*
> *blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com>
>
>

-- 
*Hasitha Abeykoon*
Associate Technical Lead; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com>
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] [VOTE] Release WSO2 Enterprise Integrator 6.5.0 RC1

2019-05-17 Thread Hasitha Hiranya
Hi,

I smoke tested below -

backend Funtionlaity and Web UI of wso2ei

   1. HTTP proxy
   2. log mediator
   3. JMS message stores
   4. JMS message processor (MB based)
   5. JMS proxy inbound
   6. Sequence mediator
   7. Store mediator
   8. address endpoint

MB profile
   1. Create a queue
   2. create a subscriber and publisher to a queue
   3. Use MB to implement message store forward

+1 to go ahead and release

Thanks

On Thu, May 16, 2019 at 7:33 PM Nirothipan Megalingham 
wrote:

> Hi all,
>
> We are pleased to announce the first release candidate of WSO2 Enterprise
> Integrator 6.5.0.
>
> Please find the list of tasks / bug fixes and improvements shipped with
> this release below
>
>- Tasks/bug fixes and improvements in Enterprise Integrator
>
> 
>- Tasks/bug fixes and improvements in Micro Integrator
>
> 
>
> Known Issues
>
>- https://github.com/wso2/product-ei/issues
>- https://github.com/wso2/micro-integrator/issues
>
> The tag to be voted upon:
> https://github.com/wso2/product-ei/tree/v6.5.0-rc1
>
> Source and binary distributions:
> https://github.com/wso2/product-ei/releases/tag/v6.5.0-rc1
>
> Please test and vote as follows
>
> [+] Stable - go ahead and release
> [-] Broken - do not release (explain why)
>
> You may find the official documentation in:
> https://docs.wso2.com/display/EI6xx
>
> ~ The Enterprise Integrator Team ~
>
>
> --
>
> *M.Nirothipan* | Senior Software Engineer | WSO2 Inc.
>
> (m) +94772172692 | (e) nirothi...@wso2.com
>
> [image: http://wso2.com/signature] 
>
>

-- 
*Hasitha Abeykoon*
Associate Technical Lead; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* 
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] [Architecture] [VOTE] Release WSO2 Enterprise Integrator 6.4.0 RC1

2018-09-18 Thread Hasitha Hiranya
Hi,

I tested below JMS use cases and no issues found.

receive JMS messages

- with parameters at proxy level
- with parameters at axis2 level

send jms messages
- with parameters at proxy level
- with parameters at axis2 level (use
"transport.jms.ConnectionFactory")

transactions
- local JMS transactions  to receive (without caching)
- rollback in an error scenario when receive
- local JMS transactions  to send (without caching)

caching levels - receive

with transactions
- use "transport.jms.SessionTransacted" property
- by default cache level is consumer

caching levels - send

with transactions
- use "transport.jms.SessionTransacted" property
- by default nothing is cached  (consider PUBLISHER evel as default)
- setting "publisher" in service level
- setting "publisher" in axis2

Scenarios

- broker shutdown and start back

Thanks

On Tue, Sep 18, 2018 at 2:03 PM Thishani Lucas  wrote:

> Hi All,
>
> We are pleased to announce the first release candidate of WSO2 Enterprise
> Integrator 6.4.0.
>
> *Known Issues: *https://github.com/wso2/product-ei/issues
>
> *Source and Binary Distribution Files: *
> https://github.com/wso2/product-ei/releases/tag/v6.4.0-rc1
>
> *The Tag to be Voted Upon: *
> https://github.com/wso2/product-ei/tree/v6.4.0-rc1
>
> Please vote as follows:
>
> [+] Stable - Go ahead and release
> [-] Broken - Do not release (explain why)
>
> ~The WSO2 Integration Team~
>
> --
> *Thishani Lucas*
> *Software Engineer*
> *WSO2 Lanka (Private) Limited**: http://wso2.com *
> *lean.enterprise.middle-ware*
>
> *Tel: +94 77 2556931 *
>
> *LinkedIn: https://www.linkedin.com/in/thishani-lucas/
> *
>
>
> 
> ___
> Dev mailing list
> Dev@wso2.org
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>


-- 
*Hasitha Abeykoon*
Associate Technical Lead; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* 
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] Requesting suggestions for micro integrator secure vault script name

2018-08-07 Thread Hasitha Hiranya
Hi Arshardh,

I am +1 for the simple name "*securevault*"

Thanks

On Tue, Aug 7, 2018 at 10:36 AM Arshardh Ifthikar  wrote:

> Hi all,
> The Micro Integrator profile of the Enterprise Integrator, did not support
> secure vault [1]. One reason for this was, the absence of an user interface
> to add new entries to the secure vault.
>
> Since the micro integrator does not consist of a management console, users
> will be given the opportunity to add entries to the micro integrator secure
> vault via executing a script. Once the user enters the alias and the
> password, the entry will be stored in the micro integrator registry as
> properties, and will be used subsequently for the vault-lookup function.
>
> [image: image.png]
>
> The above mentioned script located within the micro integrator bin folder,
> needs an appropriate name. This particular script is currently named, "
> *securevault*". Please mention any suggestions for a different name.
>
> [1]
> https://docs.wso2.com/display/EI630/Working+with+Passwords+in+the+ESB+profile
>
> Thanks,
> Arshardh
>
> --
> *Arshardh Ifthikar*
> Software Engineer | WSO2 Inc.
>
> Email: arsha...@wso2.com
> Mobile: +94719806525
> Web: http://wso2.com
>
> 
> ___
> Dev mailing list
> Dev@wso2.org
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>


-- 
*Hasitha Abeykoon*
Associate Technical Lead; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* 
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] Reason for not supporting JMS Proprerties in AMQP STRICT mode

2018-03-05 Thread Hasitha Hiranya
Hi Shammi,

Do you remember a reason? :)
@Asanka, was this parameter by us (WSO2) or was it inherited from Qpid?

Thanks

On Mon, Mar 5, 2018 at 10:52 AM, Asanka Abeyweera  wrote:

> Hi all,
>
> Why have we restricted using JMS porperties in AMQP_STRICT mode? Please
> refer [1] for implementation.
>
> [1] https://github.com/wso2/andes/blob/master/modules/andes-
> core/client/src/main/java/org/wso2/andes/client/message/
> AMQMessageDelegate_0_8.java#L59
>
> --
> Asanka Abeyweera
> Associate Technical Lead
> WSO2 Inc.
>
> Phone: +94 712228648
> Blog: a5anka.github.io
>
> 
>



-- 
*Hasitha Abeykoon*
Associate Technical Lead; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* 
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


[Dev] WSO2 Enterprise Integrator 6.1.1-update15 Released !

2018-01-07 Thread Hasitha Hiranya
Hi all,

The WSO2 Integration team is pleased to announce the release of Enterprise
Integrator 6.1.1-update15. It is available for download from here
.

*Tasks/Bug Fixes and Improvements*

https://wso2.org/jira/issues/?filter=14504

https://github.com/wso2/product-ei/issues?q=is%3Aissue+is%3Aclosed+milestone%3A6.1.1-update-15



*​​List of Open Issues*

https://wso2.org/jira/issues/?filter=13994

https://github.com/wso2/product-ei/issues?q=is%3Aopen+is%3Aissue


*Documentation*

https://docs.wso2.com/display/EI611/WSO2+Enterprise+Integrator+Documentation


*Mailing Lists*

Join our mailing lists and correspond with the developers directly.

Developer List : dev@wso2.org | Subscribe | Mail Archive

WSO2 Architecture List: architect...@wso2.org

User Forum : StackOverflow 


*How To Contribute*

Your feedback is most welcome!

*Reporting Issues​*

We encourage you to report issues, improvements and feature requests
regarding WSO2 Integrator through WSO2 EI GIT Issues
.

~ The WSO2 Integration Team ~

-- 
*Hasitha Abeykoon*
Associate Technical Lead; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* 
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] [Architecture] APIM Statistics introduce new field to the Analytics events

2018-01-03 Thread Hasitha Hiranya
Hi,

One scenario I faced with a customer is as follows.

1. A Custom HTTP header is coming with each request specifying the region
request was originated.
2. At gateway, this needs to be extracted as an field and published to
Analyser.
3. Analyser summarises the data and put to a DB (hourly/daily/monthly stats)
4. A dashboard can pull that data and show.

As per current implementation, we need to

1. Write a custom handler to extract values
2. Create a new stream to publish new field
3. Learn apache spark queries to perform summarisation
4. Learn Jaggery and create the dashboard

Are we discussing a customisable way to provide above functionality here?
If so, yes, it will be a great value addition.

Thanks

On Tue, Jan 2, 2018 at 9:26 AM, Fazlan Nazeem  wrote:

> +1 to add those extra information. This will strengthen our analytics
> story.
>
> @Rukshan,
>
> 1) Any specific reason to move those attributes from meta to value fields?
> 2) How are we planning to populate the data center ID? Environment
> variable?
>
> Please create a git issue if we haven't done it yet.
>
> On Mon, Dec 25, 2017 at 10:14 AM, Harsha Kumara  wrote:
>
>> Adding Fazlan. Shall we create a JIRA and prioritize this.
>>
>> On Mon, Dec 25, 2017 at 10:14 AM, Harsha Kumara  wrote:
>>
>>> +1 to include this. It's a basic requirement to differentiate the prod
>>> and sandbox traffic in the system. Also, correlation Id will help to track
>>> the request and response if needed.
>>>
>>> On Sat, Dec 23, 2017 at 12:25 PM, Rukshan Premathunga 
>>> wrote:
>>>
 Hi All,

 Can we check the possibility of the $Subject. In the latest
 APIM(wso2am-2.1.0-update4), correlation ID and the key type(sand or prod)
 is include in the event as JSON attribute[1]. I think it is better to moved
 those attributes as a single value attribute and passed to the Analyzer.
 So we can upgrade the stream versioning and do these changes.

 Also it is better to persist key type, data center ID in the STAT_DB
 and we can filter production and Sandbox analytics future. So when
 migrating we need to alter tables with key type. But we can assume that
 existing data are from the production key and insert those key type when
 migrating.

 So Any idea about this?


 [1]  meta_clientType:{"keyType":"PRODUCTION","correlationID",
 "19c4350a-2079-406a-bece-808954b4f2d7"}
 Thanks and Regards

 --
 Rukshan Chathuranga.
 Software Engineer.
 WSO2, Inc.
 +94711822074 <+94%2071%20182%202074>

 ___
 Architecture mailing list
 architect...@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


>>>
>>>
>>> --
>>> Harsha Kumara
>>> Software Engineer, WSO2 Inc.
>>> Mobile: +94775505618 <+94%2077%20550%205618>
>>> Blog:harshcreationz.blogspot.com
>>>
>>
>>
>>
>> --
>> Harsha Kumara
>> Software Engineer, WSO2 Inc.
>> Mobile: +94775505618 <+94%2077%20550%205618>
>> Blog:harshcreationz.blogspot.com
>>
>
>
>
> --
> Thanks & Regards,
>
> *Fazlan Nazeem*
> Senior Software Engineer
> WSO2 Inc
> Mobile : +94772338839
> <%2B94%20%280%29%20773%20451194>
> fazl...@wso2.com
>
> ___
> Architecture mailing list
> architect...@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 
*Hasitha Abeykoon*
Associate Technical Lead; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* 
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] Difference between SESSION_TRANSACTED Ack Mode and transport.jms.SessionTransacted property

2018-01-03 Thread Hasitha Hiranya
Hi Asanka/Heshitha,

Yes. If we create a transacted session all ACK modes are invalidated.
Only commit() and rollback() is possible in a transacted session.
Hence one flag is enough to denote if it is transactional.

Thanks


On Wed, Jan 3, 2018 at 11:41 AM, Asanka Abeyweera  wrote:

> I think that pattern corresponds to how the 1st method (createSession(boolean
> transacted) type works. That is we ignore the acknowledge mode and use
> the transport.jms.SessionTransacted parameter for creating transacted
> sessions. Maybe to improve the user experience we can omit the
> transport.jms.SessionTransacted parameter and use the acknowledge mode
> for all modes including transacted sessions. WDYT?
>
> On Wed, Jan 3, 2018 at 11:17 AM, Chanika Geeganage 
> wrote:
>
>> According to the spec, if session transacted, the session should be
>> committed/ rollback. But in our code we set isTransacted flag to true only
>> if transport.jms.SessionTransacted is set, but not when the acknowledge
>> mode is set to SESSION_TRANSACTED, and therefore session commit/rollback
>> happens only when transport.jms.SessionTransacted is set [1]. Do we have
>> to change that logic to commit/rollback when the acknowledge mode is set to
>> SESSION_TRANSACTED also?
>>
>> [1] https://github.com/wso2/carbon-mediation/blob/master/compone
>> nts/inbound-endpoints/org.wso2.carbon.inbound.endpoint/
>> src/main/java/org/wso2/carbon/inbound/endpoint/protocol/jms/
>> JMSPollingConsumer.java#L236
>>
>>
>>
>>
>> On Wed, Jan 3, 2018 at 11:00 AM, Asanka Abeyweera 
>> wrote:
>>
>>> Hi Heshitha,
>>>
>>> There are two methods we can use to create a transacted session in JMS,
>>>
>>>1. createSession(boolean transacted, int acknowledgeMode)- you can
>>>set the transacted parameter to true to create a transacted session.
>>>Acknowledge mode is ignored when the transacted parameter is set to true.
>>>2. createSession(int sessionMode) - you can use SESSION_TRANSACTED
>>>as acknowledge mode to create a transacted session. AFAIK this
>>>method is only vailable in JMS 2.
>>>
>>> You can use either of the methods depending on the JMS version used and
>>> the behaviuor should be similar.
>>>
>>> On Wed, Jan 3, 2018 at 10:06 AM, Heshitha Hettihewa 
>>> wrote:
>>>
 Hi,

 Inside JMS inbound endpoint code base there is a ack mode for
 SESSION_TRANSACTED [1] as well as transport.jms.SessionTransacted
 property[2]. In JMS specs(in 1.0, 1.1 and 2.0) SESSION_TRANSACTED ack mode
 is not defined. But this is used in Java JMS api [3]. Are these two methods
 used for the same purpose?. Or is there any difference?.

 [1]. https://github.com/wso2/carbon-mediation/blob/master/compone
 nts/inbound-endpoints/org.wso2.carbon.inbound.endpoint/src/m
 ain/java/org/wso2/carbon/inbound/endpoint/protocol/jms/facto
 ry/JMSConnectionFactory.java#L155
 [2]. https://github.com/wso2/carbon-mediation/blob/master/compone
 nts/inbound-endpoints/org.wso2.carbon.inbound.endpoint/src/m
 ain/java/org/wso2/carbon/inbound/endpoint/protocol/jms/facto
 ry/JMSConnectionFactory.java#L138
 [3]. https://docs.oracle.com/javaee/7/api/javax/jms/Session.html#
 SESSION_TRANSACTED

 Thanks,
 Heshitha.
 --
 Heshitha Hettihewa
 *Software Engineer*
 Mobile : +94716866386
 <%2B94%20%280%29%20773%20451194>
 heshit...@wso2.com

>>>
>>>
>>>
>>> --
>>> Asanka Abeyweera
>>> Associate Technical Lead
>>> WSO2 Inc.
>>>
>>> Phone: +94 712228648 <+94%2071%20222%208648>
>>> Blog: a5anka.github.io
>>>
>>> 
>>>
>>
>>
>>
>> --
>> Best Regards..
>>
>> Chanika Geeganage
>> +94773522586 <+94%2077%20352%202586>
>> WSO2, Inc.; http://wso2.com
>>
>>
>
>
> --
> Asanka Abeyweera
> Associate Technical Lead
> WSO2 Inc.
>
> Phone: +94 712228648
> Blog: a5anka.github.io
>
> 
>



-- 
*Hasitha Abeykoon*
Associate Technical Lead; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* 
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


[Dev] WSO2 Committers += Maryam Ziyad

2017-11-21 Thread Hasitha Hiranya
Hi Devs,

It is my pleasure to welcome Maryam Ziyad as a WSO2 Committer. Maryam has
made a great contributions to Integration Team during the last few months
and in recognition of her commitment and contributions, she has been voted
as a Committer for WSO2.

@Maryam, welcome aboard and keep up the good work.

Thanks
-- 
*Hasitha Abeykoon*
Associate Technical Lead; WSO2 Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* 
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] Problems on MB Cluster Enterprise Integrator 6.1.0

2017-07-08 Thread Hasitha Hiranya
Nice!

On Sat, Jul 8, 2017 at 10:40 PM, Júnior <fjunio...@gmail.com> wrote:

> Hi,
>
> I was able to find the problem.
>
> It was in broker.xml, I was using the same thrift server ip for both.
>
> When I used each ip address on the file, it worked.
>
> Thanks!
>
> 2017-07-07 17:56 GMT-03:00 Júnior <fjunio...@gmail.com>:
>
>> Hello Hasitha,
>>
>> I have tried that, but I keep receiving this error message in the second
>> node:
>>
>>
>> oreImpl
>> TID: [-1234] [] [2017-07-07 20:51:13,838]  WARN
>> {org.wso2.andes.server.cluster.CoordinationConfigurableClusterAgent} -
>>  Node id was null for member Member [.xxx.X.X]:5711. Node id will be
>> read again after 2 seconds.
>>
>>
>> After 4 attempts it shutdown the node.
>>
>> Follow my axis2 configuration for clustering:
>>
>>
>>
>> 
>> true
>> aws
>> localhost
>>
>> 5711
>> accesskey
>> secretkey
>> secrutiy-group
>> us-east-2
>> ClusterName
>> mb_int
>>
>> 
>> 
>> https://${hostName}:${h
>> ttpsPort}/"/>
>> 
>> 
>>
>>  
>>
>>
>> When i start the second node, I can see in the logs that has joined the
>> cluster, but as it is not able to get the hazelcast node id of the first
>> node, it shutdowns the second one.
>>
>>
>> Any clue on this is very welcome.
>>
>> Thanks,
>>
>> 2017-07-05 14:20 GMT-03:00 Júnior <fjunio...@gmail.com>:
>>
>>> Thank you Hasitha.
>>>
>>> It thought leaving it as default, it would generate one.
>>>
>>> The ports are open, I can see in the logs it saying the new member has
>>> joined, but it keeps trying to get the node id of the other member, and
>>> when it is not able to do, it shutdown the node.
>>>
>>> I will try and let you know the results.
>>>
>>> Thanks,
>>>
>>> 2017-07-05 8:52 GMT-03:00 Hasitha Hiranya <hasit...@wso2.com>:
>>>
>>>> Hi,
>>>>
>>>> 
>>>> 
>>>> default
>>>>
>>>> Set a node id in broker.xml file at [EI_HOME]/wso2/broker/conf
>>>>
>>>> BTW, are necessary ports open for Hazelcast to communicate?
>>>>
>>>> Thanks
>>>>
>>>> On Mon, Jul 3, 2017 at 6:51 PM, Júnior <fjunio...@gmail.com> wrote:
>>>>
>>>>> Hello,
>>>>>
>>>>> I am trying to setup a cluster for the Broker Profile on AWS.
>>>>>
>>>>> I am able to start the first node without problem, but when we start
>>>>> the second node, it doesn't start because it says it is not able to get 
>>>>> the
>>>>> node id of the other member:
>>>>>
>>>>> TID: [-1234] [] [2017-07-03 12:55:10,193] ERROR
>>>>> {org.wso2.andes.server.registry.ApplicationRegistry} -
>>>>>  org.wso2.andes.kernel.AndesException: Failed to read Node id of
>>>>> hazelcast member Member [X.X.X.X]:5711
>>>>>
>>>>> On the nodes I have leave the nodeId on broker.xml as default, so it
>>>>> will generate a random one.
>>>>>
>>>>> Do you have any clue on where should I set this node id?
>>>>>
>>>>> Thanks,
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Francisco Ribeiro
>>>>> *SCEA|SCJP|SCWCD|IBM Certified SOA Associate*
>>>>>
>>>>> ___
>>>>> Dev mailing list
>>>>> Dev@wso2.org
>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> *Hasitha Abeykoon*
>>>> Senior Software Engineer; WSO2, Inc.; http://wso2.com
>>>> *cell:* *+94 719363063*
>>>> *blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com>
>>>>
>>>>
>>>
>>>
>>> --
>>> Francisco Ribeiro
>>> *SCEA|SCJP|SCWCD|IBM Certified SOA Associate*
>>>
>>
>>
>>
>> --
>> Francisco Ribeiro
>> *SCEA|SCJP|SCWCD|IBM Certified SOA Associate*
>>
>
>
>
> --
> Francisco Ribeiro
> *SCEA|SCJP|SCWCD|IBM Certified SOA Associate*
>



-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com>
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] Problems on MB Cluster Enterprise Integrator 6.1.0

2017-07-05 Thread Hasitha Hiranya
Hi,



default

Set a node id in broker.xml file at [EI_HOME]/wso2/broker/conf

BTW, are necessary ports open for Hazelcast to communicate?

Thanks

On Mon, Jul 3, 2017 at 6:51 PM, Júnior  wrote:

> Hello,
>
> I am trying to setup a cluster for the Broker Profile on AWS.
>
> I am able to start the first node without problem, but when we start the
> second node, it doesn't start because it says it is not able to get the
> node id of the other member:
>
> TID: [-1234] [] [2017-07-03 12:55:10,193] ERROR 
> {org.wso2.andes.server.registry.ApplicationRegistry}
> -  org.wso2.andes.kernel.AndesException: Failed to read Node id of
> hazelcast member Member [X.X.X.X]:5711
>
> On the nodes I have leave the nodeId on broker.xml as default, so it will
> generate a random one.
>
> Do you have any clue on where should I set this node id?
>
> Thanks,
>
>
>
> --
> Francisco Ribeiro
> *SCEA|SCJP|SCWCD|IBM Certified SOA Associate*
>
> ___
> Dev mailing list
> Dev@wso2.org
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>


-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* 
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] Tool to Analyze Performance of MB 4 Message Store

2017-05-07 Thread Hasitha Hiranya
Hi Malaka,

Does JMH give latencies to write to/read from Databases?
What are the metrics on which you are going to judge DB performance? Are
they evaluated by JMH?

Thanks

On Fri, May 5, 2017 at 2:59 PM, Malaka Gangananda  wrote:

> Hi Asanka,
>
> At present we are doing a research on database systems which we can use.
>
> Thanks.
>
> On Fri, May 5, 2017 at 2:18 PM, Asanka Abeyweera 
> wrote:
>
>> Hi Malaka,
>>
>> What are the other database systems we are going to compare? Have we
>> decided them yet?
>>
>> On Fri, May 5, 2017 at 1:18 PM, Malaka Gangananda 
>> wrote:
>>
>>> Hi Firzan,
>>>
>>> Yes we are going to compare  performance against level DB as well since
>>> it is used by ActiveMQ also.
>>>
>>> Thanks.
>>>
>>> On Fri, May 5, 2017 at 12:11 PM, Firzhan Naqash 
>>> wrote:
>>>
 Hi Malaka,

 Will you be considering to check the performance against level DB as
 well? Since it's a flat file based DB system, I believe that we can use it
 to achieve significant performance gain.

 On May 5, 2017 8:36 AM, "Malaka Gangananda"  wrote:

> Hi All,
>
> Adding reference for JMH : http://java-performance.info/jmh/
>
> Thanks,
>
> On Fri, May 5, 2017 at 11:23 AM, Malaka Gangananda 
> wrote:
>
>> Hi All,
>>
>> I am implementing message store for MB4 while doing that I am
>> developing a tool to analyze and compare performance of message store
>> functionalities when different database instances are being used with MB.
>> Also this tool will have the capability to evolve  with message store and
>> evaluate new functionalities of message store.To generate the benchmarks 
>> I
>> have used JMH.
>>
>> Thnks.
>> --
>> Malaka.
>> --
>> Malaka Gangananda - Software Engineer | WSO2
>> Email : mala...@wso2.com
>> Mobile : +94713564340 <+94%2071%20356%204340>
>> Web : http://wso2.com
>>   
>>
>
>
>
> --
> Malaka.
> --
> Malaka Gangananda - Software Engineer | WSO2
> Email : mala...@wso2.com
> Mobile : +94713564340 <+94%2071%20356%204340>
> Web : http://wso2.com
>   
>
> ___
> Dev mailing list
> Dev@wso2.org
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>
>>>
>>>
>>> --
>>> Malaka.
>>> --
>>> Malaka Gangananda - Software Engineer | WSO2
>>> Email : mala...@wso2.com
>>> Mobile : +94713564340 <+94%2071%20356%204340>
>>> Web : http://wso2.com
>>>   
>>>
>>> ___
>>> Dev mailing list
>>> Dev@wso2.org
>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>
>>>
>>
>>
>> --
>> Asanka Abeyweera
>> Senior Software Engineer
>> WSO2 Inc.
>>
>> Phone: +94 712228648 <+94%2071%20222%208648>
>> Blog: a5anka.github.io
>>
>> 
>>
>
>
>
> --
> Malaka.
> --
> Malaka Gangananda - Software Engineer | WSO2
> Email : mala...@wso2.com
> Mobile : +94713564340
> Web : http://wso2.com
>   
>
> ___
> Dev mailing list
> Dev@wso2.org
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>


-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* 
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] Folder Structure for C5 based MB

2017-04-27 Thread Hasitha Hiranya
+1 for a single feature repo, with separated, individually unit testable
modules.


On Thu, Apr 27, 2017 at 2:08 PM, Nuwan Dias  wrote:

> Yes, embed in the sense we would package the jars so that we can run MB as
> a separate process/runtime.
>
> On Thu, Apr 27, 2017 at 1:56 PM, Hasitha Amal De Silva 
> wrote:
>
>>
>>
>> On Thu, Apr 27, 2017 at 1:55 PM, Hasitha Amal De Silva > > wrote:
>>
>>> [+NuwanD]
>>>
>>> On Thu, Apr 27, 2017 at 1:53 PM, Pamod Sylvester  wrote:
>>>
 (+) NuwanD

 +1, also APIM would embed the broker with all the features included ?
 (same as it's being used in EI) correct me if i am wrong ?

 Thanks,
 Pamod

 On Thu, Apr 27, 2017 at 1:49 PM, Hasitha Amal De Silva <
 hasit...@wso2.com> wrote:

> Hi Kishanthan,
>
> Agreed. As per Nandika, the product folder here is invalid since MB
> will only result in a set of components + features to be used by other
> carbon products.
>
> Based on that standing, we will not need to do product releases but do
> only component+feature releases.
>
> Thanks
>
>
> On Thu, Apr 27, 2017 at 1:46 PM, Madhawa Gunasekara  > wrote:
>
>> Hi Eranda,
>>
>> +1 to make it into one repo. AFAIU We don't need to have product
>> folder here, Since We don't create a p2 profile in this repo. We should
>> include only components and features in this repo.
>>
>> Thanks,
>> Madhawa
>>
>> On Thu, Apr 27, 2017 at 11:32 AM, Eranda Rajapakshe > > wrote:
>>
>>> Hi, HasithaD and I are working on bootstrapping the C5 based Message
>>> Broker product.
>>>
>>> In the current version of WSO2 Message broker (3.x) we have
>>> following 3 repos.
>>>
>>>
>>>1.
>>>
>>>Andes - contains the messaging core, apache qpid fork and JMX
>>>monitoring objects.
>>>2.
>>>
>>>Carbon-business-messaging - contains admin services, wraps andes
>>>as a osgi service, and the UI impl.
>>>3.
>>>
>>>Product-mb - contains test cases, and distribution
>>>configurations.
>>>
>>>
>>> For MB 4x, we have come up with a more unified structure based on a
>>> single repo (refer [2] as an example). The intention here is to reduce
>>> build and maintenance complexity. However, if there is a need to use
>>> separate components/features within MB into other products, we need to 
>>> go
>>> for separate repos as and when required.
>>>
>>> We will be working on product-mb/4.x.x branch [1]. Please let us
>>> know any suggestion and comments on this.
>>>
>>> [1]. https://github.com/wso2/product-mb/tree/4.x.x
>>>
>>> [2].
>>>
>>> product-mb
>>>
>>> ├── components
>>>
>>> │ ├── org.wso2.carbon.andes
>>>
>>> │ ├── org.wso2.carbon.mb.services
>>>
>>> │ ├── org.wso2.carbon.mb.ui
>>>
>>> │ └── …..
>>>
>>> ├── features
>>>
>>> │ ├── org.wso2.carbon.andes.feature
>>>
>>> │ ├── org.wso2.carbon.mb.services.feature
>>>
>>> │ ├── org.wso2.carbon.mb.ui.feature
>>>
>>> │ └── …...
>>>
>>> ├── pom.xml
>>>
>>> ├── LICENSE.txt
>>>
>>> ├── README.md
>>>
>>> └── product
>>>
>>>   ├── carbon-home
>>>
>>>   │   └── README.md
>>>
>>>   ├── carbon.product
>>>
>>>   ├── pom.xml
>>>
>>>   └── src
>>>
>>>   └── assembly
>>>
>>>  ├── bin.xml
>>>   └── filter.properties
>>>
>>> Thanks,
>>> --
>>> *Eranda Rajapakshe*
>>> Software Engineer
>>> WSO2 Inc.
>>> Mobile : +94784822608
>>>
>>> ___
>>> Dev mailing list
>>> Dev@wso2.org
>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>
>>>
>>
>>
>> --
>> *Madhawa Gunasekara*
>> Software Engineer
>> WSO2 Inc.; http://wso2.com
>> lean.enterprise.middleware
>>
>> mobile: +94 719411002 <+94+719411002>
>> blog: *http://madhawa-gunasekara.blogspot.com
>> *
>> linkedin: *http://lk.linkedin.com/in/mgunasekara
>> *
>>
>
>
>
> --
> Cheers,
>
> Hasitha Amal De Silva
> Senior Software Engineer
> Mobile : +94772037426 <077%20203%207426>
> Blog: http://devnutshell.tumblr.com/
> WSO2 Inc.: http://wso2.com ( lean.enterprise.middleware. )
>



 --
 *Pamod Sylvester *

 *WSO2 Inc.; http://wso2.com *
 cell: +94 77 7779495 <+94%2077%20777%209495>

>>>
>>>
>>>
>>> --
>>> Cheers,
>>>
>>> 

Re: [Dev] WSO2 Message Broker 3.2.0 RC2 Released !!

2017-04-24 Thread Hasitha Hiranya
Hi all,

Tested the following scenarios .

1. Failover for queues - with publish/subscribe
2. Failover for durable topic subscriptions - with publish/subscribe

No issues found. So, +1 to release.

Thanks

On Mon, Apr 24, 2017 at 2:08 PM, Sasikala Kottegoda 
wrote:

> Hi all,
>
> Tested the following scenarios in distributed transactions.
>
>1. publish message to queue. Transactionally receive and publish to
>another queue.
>2. Publish errorneous message to the same queue. Keep recovering
>messages until the malformed message gets moved to DLC.
>
>
> [+] Stable - go ahead and release
>
> Thank you,
> Sasikala
>
> On Thu, Apr 20, 2017 at 6:47 PM, Pamod Sylvester  wrote:
>
>> Hi Devs,
>>
>> This is the 2nd release candidate of WSO2 Message Broker 3.2.0.
>>
>> *This release fixes the following issues:*
>> *https://wso2.org/jira/browse/MB-1910?filter=13675
>> *
>>
>> *Known Issues:*
>> *https://wso2.org/jira/browse/MB-1757?filter=13676
>> *
>>
>> 
>> Please download MB 3.2.0 RC2 and test the functionality and vote. The
>> vote will be open for 72 hours or as needed.
>>
>> *Source & binary distribution files:*
>> https://github.com/wso2/product-mb/releases/tag/v3.2.0-RC2
>>
>> *The tag to be voted upon:*
>> https://github.com/wso2/product-mb/tree/v3.2.0-RC2
>>
>>
>> [+] Stable - go ahead and release
>> [-]  Broken - do not release (explain why)
>>
>> Thanks and Regards,
>>
>> --
>> *Pamod Sylvester *
>>
>> *WSO2 Inc.; http://wso2.com *
>> cell: +94 77 7779495 <077%20777%209495>
>>
>> ___
>> Dev mailing list
>> Dev@wso2.org
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> Sasikala Kottegoda
> *Senior Software Engineer*
> WSO2 Inc., http://wso2.com/
> lean. enterprise. middleware
> Mobile: +94 774835928
>
> [image: https://wso2.com/signature] 
>
> ___
> Dev mailing list
> Dev@wso2.org
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>


-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* 
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


[Dev] [Architecture] WSO2 Message Broker 3.2.0 RC1 Released !!

2017-04-07 Thread Hasitha Hiranya
Hi Devs,

This is the first release candidate of WSO2 Message Broker 3.2.0.

This release fixes the following issues:
https://wso2.org/jira/issues/?filter=13656

Known Issues
https://wso2.org/jira/issues/?filter=13655



Please download MB 3.2.0 RC1 and test the functionality and vote. The vote
will be open for 72 hours or as needed.

Source & binary distribution files:
https://github.com/wso2/product-mb/releases/tag/v3.2.0-RC1


The tag to be voted upon:
https://github.com/wso2/product-mb/tree/release-3.2.0-RC1



[+] Stable - go ahead and release
[-]  Broken - do not release (explain why)

Thanks and Regards

-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* 
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


[Dev] For reference - data changes between MB 3.1.0 and MB 3.2.0 (internal feature)

2017-04-02 Thread Hasitha Hiranya
Hi,

Please see attached.

1. Queue names should be fixed in about 5 tables (make all simple)
2. Queue data string is updated in the model
3. Subscriber data string is updated in the model
4. Subscriber has a UUID as subscriber ID now.
5. Subscriber connection is base64 encoded. Code will decode and work. In
3.1.0 there was nothing like that.
6. Inactive durable topic subscribers are derived from the queues now. No
entries in subscriber table.


Since there is a lot of changes in schema and code, IMO migrating from
3.1.0 to 3.2.0 is error prone. Mainly this is because the model of working
is different now.

Can we migrate a production MB customer to EI using below approach?

1. Create an EI cluster. MB cluster is in production.
2. Switch publishers to EI cluster. Let subscribers be done with MB cluster
3. Switch subscribers also to EI cluster.

For durable topic/queue subscribers above should work.

WDYT?


-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* 


data changes between mb 3.1.0 and 3.2.0
Description: Binary data
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] [MB] JMS session recovery causing messages which are buffered to move into the DLC before it's being received

2017-03-01 Thread Hasitha Hiranya
Not for messages that were in the andes client consumer buffer without
being actually consumed by the application.

On Thu, Mar 2, 2017 at 7:20 AM, Asanka Abeyweera <asank...@wso2.com> wrote:

> AFAIK we need to set the redelivered flag. I remember reading it in a spec
> or something.
>
> Sent from my mobile
>
> --
> Asanka Abeyweera
> Software Engineer
> WSO2 Inc.
>
> Phone: +94 71 222 8648
>
> On Mar 2, 2017 7:04 AM, "Hasitha Hiranya" <hasit...@wso2.com> wrote:
>
>> Hi Pamod and all,
>>
>> IMO, *we need both side's changes.*
>>
>> Andes client - when receover() is called, send reject to application
>> consumed messages, and clear internal buffer
>> Server - while recovering, do not increase redelivery count (do not
>> consider as a redelivery, as app has not consumed). Redelivery header flag
>> is not needed as well.
>>
>> Let us investigate and implement
>>
>> Thanks
>>
>>
>> On Wed, Mar 1, 2017 at 4:11 PM, Pamod Sylvester <pa...@wso2.com> wrote:
>>
>>> Hi All,
>>>
>>> Based on the issue mentioned in the $subject and described in [1] .
>>> Here's what we discussed,
>>>
>>> *Issue Summary*
>>>
>>> During an error, when recover() session is called by the consumer (i.e
>>> jms client/ESB), all unacked messages gets re-tried. This includes the
>>> messages which were received by the JMS consumer as well as the messages
>>> which were buffered in the client.
>>>
>>> As a result, the messages which were buffered in the client and which
>>> have not being received by the consumer get's diverted to the DLC after the
>>> retry count has being breached.
>>>
>>> *Problem Description*
>>>
>>> The could also be described as a gap between the AMQP and the JMS
>>> specifications. According to the AMQP the messages should be sent to the
>>> client as a batch. Though JMS provides a way to acknowledge messages
>>> individually. It doesn't provide a way to rollback an individual message.
>>>
>>> The only option is to recover the whole session, when the client choses
>>> to recover() the corresponding channel id of the client is sent to the
>>> broker, for it to recover all unacknowledged messages. When the server
>>> recovers unacked messages it will include the messages which were received
>>> by the JMS client as well messages which are buffered in the client and
>>> which were not received.
>>>
>>> *Proposed Solution*
>>>
>>> One way of solving this is through the following steps,
>>>
>>> *Andes client side changes *
>>>
>>>  1. When recover() is called from the client, distinguish the difference
>>> between the received messages and the messages which are buffered. We've
>>> done something similar for the rollback operation.
>>>  2. The messages which were received by the JMS client, could be
>>> explicitly rejected(). Sending a null ack for the message to the server.
>>> Since this messages need to be retried for the given number of times.
>>>  3. Once the rejection is sent the server will re-schedule the message
>>> until the max retry count is reached in the
>>>
>>> *server side changes*
>>>
>>> When session recover is called in the broker,
>>>
>>> *AndesSubscription.recoverMessages()*
>>>
>>> We could maintain a seperate flag for each *DeliverableAndesMetadata 
>>> *object.
>>> So that when it's being re-scheduled for delivery, in the 
>>> *MaximumNumOfDeliveryRule.evaluate()
>>> *would filter out these messages and will not increase the 
>>> *maximumRedeliveryTimes
>>> *for the message.
>>>
>>> The above is one way we could solve the problem. Would there be any
>>> implications to it ? or will there be a better way of solving this?  wdyt ?
>>>
>>> [1] https://wso2.org/jira/browse/MB-1887
>>>
>>> Thanks,
>>> Pamod
>>>
>>> --
>>> *Pamod Sylvester *
>>>
>>> *WSO2 Inc.; http://wso2.com <http://wso2.com>*
>>> cell: +94 77 7779495 <+94%2077%20777%209495>
>>>
>>
>>
>>
>> --
>> *Hasitha Abeykoon*
>> Senior Software Engineer; WSO2, Inc.; http://wso2.com
>> *cell:* *+94 719363063*
>> *blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com>
>>
>>


-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com>
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] [MB] JMS session recovery causing messages which are buffered to move into the DLC before it's being received

2017-03-01 Thread Hasitha Hiranya
Hi Pamod and all,

IMO, *we need both side's changes.*

Andes client - when receover() is called, send reject to application
consumed messages, and clear internal buffer
Server - while recovering, do not increase redelivery count (do not
consider as a redelivery, as app has not consumed). Redelivery header flag
is not needed as well.

Let us investigate and implement

Thanks


On Wed, Mar 1, 2017 at 4:11 PM, Pamod Sylvester  wrote:

> Hi All,
>
> Based on the issue mentioned in the $subject and described in [1] . Here's
> what we discussed,
>
> *Issue Summary*
>
> During an error, when recover() session is called by the consumer (i.e jms
> client/ESB), all unacked messages gets re-tried. This includes the messages
> which were received by the JMS consumer as well as the messages which were
> buffered in the client.
>
> As a result, the messages which were buffered in the client and which have
> not being received by the consumer get's diverted to the DLC after the
> retry count has being breached.
>
> *Problem Description*
>
> The could also be described as a gap between the AMQP and the JMS
> specifications. According to the AMQP the messages should be sent to the
> client as a batch. Though JMS provides a way to acknowledge messages
> individually. It doesn't provide a way to rollback an individual message.
>
> The only option is to recover the whole session, when the client choses to
> recover() the corresponding channel id of the client is sent to the broker,
> for it to recover all unacknowledged messages. When the server recovers
> unacked messages it will include the messages which were received by the
> JMS client as well messages which are buffered in the client and which were
> not received.
>
> *Proposed Solution*
>
> One way of solving this is through the following steps,
>
> *Andes client side changes *
>
>  1. When recover() is called from the client, distinguish the difference
> between the received messages and the messages which are buffered. We've
> done something similar for the rollback operation.
>  2. The messages which were received by the JMS client, could be
> explicitly rejected(). Sending a null ack for the message to the server.
> Since this messages need to be retried for the given number of times.
>  3. Once the rejection is sent the server will re-schedule the message
> until the max retry count is reached in the
>
> *server side changes*
>
> When session recover is called in the broker,
>
> *AndesSubscription.recoverMessages()*
>
> We could maintain a seperate flag for each *DeliverableAndesMetadata *object.
> So that when it's being re-scheduled for delivery, in the 
> *MaximumNumOfDeliveryRule.evaluate()
> *would filter out these messages and will not increase the 
> *maximumRedeliveryTimes
> *for the message.
>
> The above is one way we could solve the problem. Would there be any
> implications to it ? or will there be a better way of solving this?  wdyt ?
>
> [1] https://wso2.org/jira/browse/MB-1887
>
> Thanks,
> Pamod
>
> --
> *Pamod Sylvester *
>
> *WSO2 Inc.; http://wso2.com *
> cell: +94 77 7779495
>



-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* 
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] Metrics issue when doing long running tests for Message Broker

2016-10-09 Thread Hasitha Hiranya
Hi Malith and all,

MB team (sub team under Integration) is planning to do beta release of MB
3.2.0 on 14th Friday OCT 2016. This issue is reported as Critical. Thus
appreciate if we can look into the issue and come to a resolution. We will
help to reproduce the issue if needed.

Thanks

On Thu, Oct 6, 2016 at 8:25 AM, Malith Jayasinghe <mali...@wso2.com> wrote:

> Hi Hasitha,
>
> Thanks for reporting this issue. I don't think we tested the metrics with
> postgresql. We will get back to you soon.
>
> On Wed, Oct 5, 2016 at 5:29 PM, Hasitha Hiranya <hasit...@wso2.com> wrote:
>
>> Hi Performance Team ,
>>
>> We observed following exception when doing long running tests for MB
>> 3.2.0 [1].
>> Have we tested metrics with postgresql? Any idea on the issue? We
>> created jira [2] to follow up
>>
>> [1].
>>
>> TID: [] [] [2016-10-05 17:02:44,321] ERROR 
>> {org.wso2.carbon.metrics.jdbc.reporter.JDBCReporter}
>> -  Error when reporting timers {org.wso2.carbon.metrics.jdbc.
>> reporter.JDBCReporter}
>> java.sql.BatchUpdateException: Batch entry 0 INSERT INTO METRIC_TIMER
>> (SOURCE,TIMESTAMP,NAME,COUNT,MAX,MEAN,MIN,STDDEV,P50,P75,P95
>> ,P98,P99,P999,MEAN_RATE,M1_RATE,M5_RATE,M15_RATE,RATE_UNIT,DURATION_UNIT)
>> VALUES ('MBNODE30',1475701364303,'org.wso2.mb.database.read',140,
>> 107728.4415579,37167.08968820929,0.321192,49845.87357880
>> 018,2.830612,107728.4415579,107728.4415579,107728.44
>> 15579,107728.4415579,107728.4415579,0.020532036
>> 0573999,0.009795331416994773,0.04902573050340198,0.04158178
>> 311107816,'calls/second','milliseconds') was aborted.  Call
>> getNextException to see the cause.
>> at org.postgresql.jdbc.BatchResultHandler.handleError(BatchResu
>> ltHandler.java:137)
>> at org.postgresql.core.v3.QueryExecutorImpl$1.handleError(
>> QueryExecutorImpl.java:436)
>> at org.postgresql.core.v3.QueryExecutorImpl.processResults(Quer
>> yExecutorImpl.java:2024)
>> at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecut
>> orImpl.java:377)
>> at org.postgresql.jdbc.PgStatement.executeBatch(PgStatement.java:1026)
>> at org.postgresql.jdbc.PgPreparedStatement.executeBatch(PgPrepa
>> redStatement.java:1661)
>> at org.wso2.carbon.metrics.jdbc.reporter.JDBCReporter.reportTim
>> ers(JDBCReporter.java:389)
>> at org.wso2.carbon.metrics.jdbc.reporter.JDBCReporter.report(JD
>> BCReporter.java:200)
>> at com.codahale.metrics.ScheduledReporter.report(ScheduledRepor
>> ter.java:162)
>> at com.codahale.metrics.ScheduledReporter$1.run(ScheduledReport
>> er.java:117)
>> at java.util.concurrent.Executors$RunnableAdapter.call(
>> Executors.java:511)
>> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
>> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFu
>> tureTask.access$301(ScheduledThreadPoolExecutor.java:180)
>> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFu
>> tureTask.run(ScheduledThreadPoolExecutor.java:294)
>>
>> [2]. https://wso2.org/jira/browse/MB-1833
>>
>> Thanks
>> --
>> *Hasitha Abeykoon*
>> Senior Software Engineer; WSO2, Inc.; http://wso2.com
>> *cell:* *+94 719363063*
>> *blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com>
>>
>>
>
>
> --
> Malith Jayasinghe
>
> WSO2, Inc. (http://wso2.com)
> Email   : mali...@wso2.com
> Mobile : 0770704040
> Lean . Enterprise . Middleware
>



-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com>
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


[Dev] Metrics issue when doing long running tests for Message Broker

2016-10-05 Thread Hasitha Hiranya
Hi Performance Team ,

We observed following exception when doing long running tests for MB 3.2.0
[1].
Have we tested metrics with postgresql? Any idea on the issue? We created
jira [2] to follow up

[1].

TID: [] [] [2016-10-05 17:02:44,321] ERROR
{org.wso2.carbon.metrics.jdbc.reporter.JDBCReporter} -  Error when
reporting timers {org.wso2.carbon.metrics.jdbc.reporter.JDBCReporter}
java.sql.BatchUpdateException: Batch entry 0 INSERT INTO METRIC_TIMER
(SOURCE,TIMESTAMP,NAME,COUNT,MAX,MEAN,MIN,STDDEV,P50,P75,P95,P98,P99,P999,MEAN_RATE,M1_RATE,M5_RATE,M15_RATE,RATE_UNIT,DURATION_UNIT)
VALUES
('MBNODE30',1475701364303,'org.wso2.mb.database.read',140,107728.4415579,37167.08968820929,0.321192,49845.87357880018,2.830612,107728.4415579,107728.4415579,107728.4415579,107728.4415579,107728.4415579,0.0205320360573999,0.009795331416994773,0.04902573050340198,0.04158178311107816,'calls/second','milliseconds')
was aborted.  Call getNextException to see the cause.
at
org.postgresql.jdbc.BatchResultHandler.handleError(BatchResultHandler.java:137)
at
org.postgresql.core.v3.QueryExecutorImpl$1.handleError(QueryExecutorImpl.java:436)
at
org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2024)
at
org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:377)
at org.postgresql.jdbc.PgStatement.executeBatch(PgStatement.java:1026)
at
org.postgresql.jdbc.PgPreparedStatement.executeBatch(PgPreparedStatement.java:1661)
at
org.wso2.carbon.metrics.jdbc.reporter.JDBCReporter.reportTimers(JDBCReporter.java:389)
at
org.wso2.carbon.metrics.jdbc.reporter.JDBCReporter.report(JDBCReporter.java:200)
at com.codahale.metrics.ScheduledReporter.report(ScheduledReporter.java:162)
at com.codahale.metrics.ScheduledReporter$1.run(ScheduledReporter.java:117)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)

[2]. https://wso2.org/jira/browse/MB-1833

Thanks
-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* 
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] Error when browsing and calculating the number of messages with QueueBrowser

2016-09-25 Thread Hasitha Hiranya
Hi Shazni,

Could you please raise a bug in jira for WSO2 MB. We will track and fix if
there is an issue.

Thanks



On Sun, Sep 25, 2016 at 10:36 PM, Shazni Nazeer <sha...@wso2.com> wrote:

> Hi Hasitha,
>
> Thanks. Yes i can use it. I'll try to use the AndesAdminService and let
> know the results.
>
> However, it's better if we can determine what's wrong with the coding
> approach. Coding would make things lot more easier to handle other
> scenarios that may come by.
>
> Shazni Nazeer
> Associate Technical Lead | WSO2
>
> Mob : +94 37331
> LinkedIn : http://lk.linkedin.com/in/shazninazeer
> Blog : http://shazninazeer.blogspot.com
>
> <http://wso2.com/signature>
>
> On Fri, Sep 23, 2016 at 10:05 AM, Hasitha Hiranya <hasit...@wso2.com>
> wrote:
>
>> Hi Shazni,
>>
>> WSO2 Message Broker exposes Admin Services which you can get message
>> count of a queue.
>> Is there any chance of using that?
>>
>> Thanks
>>
>> On Fri, Sep 23, 2016 at 2:21 PM, Shazni Nazeer <sha...@wso2.com> wrote:
>>
>>> HI,
>>>
>>> I have the following code snippet to calculate the number of message in
>>> the JMS queue in Message Broker.
>>>
>>>  ctx = new InitialContext(properties);
>>>  QueueConnectionFactory connectionFactory = 
>>> (QueueConnectionFactory) ctx.lookup(CF_NAME);
>>>  queueConnection = connectionFactory.createQueueConnection();
>>>
>>>  queueSession = queueConnection.createQueueSession(false, 
>>> QueueSession.AUTO_ACKNOWLEDGE);
>>>  Queue queue = (Queue) ctx.lookup(destinationName);
>>>
>>>  QueueBrowser queueBrowser = queueSession.createBrowser(queue);
>>>
>>>  queueConnection.start();
>>>
>>>  Enumeration e = queueBrowser.getEnumeration();
>>>  int numMsgs = 0;
>>>
>>>  while (e.hasMoreElements()) {
>>>  Message message = (Message) e.nextElement();
>>>  numMsgs++;
>>>  }
>>>
>>>
>>> When the statement e.nextElement(); is executed it throws an exception.
>>> The error message I could see in the debug session when executing this line
>>> is "java.lang.ClassCastException: 
>>> org.wso2.andes.client.message.CloseConsumerMessage
>>> cannot be cast to org.wso2.andes.client.message.AbstractJMSMessage"
>>>
>>> What's wrong with this snippet? Why is it retrieving
>>> CloseConsumerMessage?
>>>
>>> Is there any better way to determine the number of messages in the queue
>>> programmatically?
>>>
>>> Shazni Nazeer
>>> Associate Technical Lead | WSO2
>>>
>>> Mob : +94 37331
>>> LinkedIn : http://lk.linkedin.com/in/shazninazeer
>>> Blog : http://shazninazeer.blogspot.com
>>>
>>> <http://wso2.com/signature>
>>>
>>
>>
>>
>> --
>> *Hasitha Abeykoon*
>> Senior Software Engineer; WSO2, Inc.; http://wso2.com
>> *cell:* *+94 719363063*
>> *blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com>
>>
>>
>


-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com>
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] Error when browsing and calculating the number of messages with QueueBrowser

2016-09-23 Thread Hasitha Hiranya
Hi Shazni,

WSO2 Message Broker exposes Admin Services which you can get message count
of a queue.
Is there any chance of using that?

Thanks

On Fri, Sep 23, 2016 at 2:21 PM, Shazni Nazeer  wrote:

> HI,
>
> I have the following code snippet to calculate the number of message in
> the JMS queue in Message Broker.
>
>  ctx = new InitialContext(properties);
>  QueueConnectionFactory connectionFactory = (QueueConnectionFactory) 
> ctx.lookup(CF_NAME);
>  queueConnection = connectionFactory.createQueueConnection();
>
>  queueSession = queueConnection.createQueueSession(false, 
> QueueSession.AUTO_ACKNOWLEDGE);
>  Queue queue = (Queue) ctx.lookup(destinationName);
>
>  QueueBrowser queueBrowser = queueSession.createBrowser(queue);
>
>  queueConnection.start();
>
>  Enumeration e = queueBrowser.getEnumeration();
>  int numMsgs = 0;
>
>  while (e.hasMoreElements()) {
>  Message message = (Message) e.nextElement();
>  numMsgs++;
>  }
>
>
> When the statement e.nextElement(); is executed it throws an exception.
> The error message I could see in the debug session when executing this line
> is "java.lang.ClassCastException: 
> org.wso2.andes.client.message.CloseConsumerMessage
> cannot be cast to org.wso2.andes.client.message.AbstractJMSMessage"
>
> What's wrong with this snippet? Why is it retrieving CloseConsumerMessage?
>
> Is there any better way to determine the number of messages in the queue
> programmatically?
>
> Shazni Nazeer
> Associate Technical Lead | WSO2
>
> Mob : +94 37331
> LinkedIn : http://lk.linkedin.com/in/shazninazeer
> Blog : http://shazninazeer.blogspot.com
>
> 
>



-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* 
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


[Dev] [WSO2 MB] Add a button to dump message status information

2016-09-15 Thread Hasitha Hiranya
Hi Team,

WSO2 MB has a MBean operation which can be invoked to dump the message
status of all messages holding in memory. This is useful for trouble
shooting. When suddenly if messages are stuck without being delivered, we
can get the dump and inspect at which state they are stuck.

Since, WDYT abt subject? I have bought this up while ago.

People do not have access to MBeans. So what abt a admin service? And a UI
button?
(all message status will be dumped. No tenant story).

Will it be ok to allow to download the dumped file? Or should we let it be
at logs folder and let Devops to handle with it?

Appreciate your thoughts.

-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* 
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] [MB] Unmatched messages when using message selectors

2016-09-12 Thread Hasitha Hiranya
Hi,

Yes. Keep a queue for unapproved messages.
Use CLIENT_ACKNOWLEDGE
Get messages from unapproved_queue (u will receive a batch, abt 1000 to
client buffer)
process.
If approved, send the message to approved_queue
If not send copy of the message to original queue
ACK to session.

Thanks


On Mon, Sep 12, 2016 at 1:56 PM, Shazni Nazeer <sha...@wso2.com> wrote:

> Hi Hasitha,
>
> Thanks for the confirmation.
>
> Looks like for my requirement, selectors is not the choice.
>
> My requirement is to have a queue with messages which can be approved by
> another party. Need to maintain the queue messages which have not been
> approved. Possibly the best option would be to use another queue for
> unapproved messages and keep it untouched.
>
> Shazni Nazeer
> Associate Technical Lead | WSO2
>
> Mob : +94 37331
> LinkedIn : http://lk.linkedin.com/in/shazninazeer
> Blog : http://shazninazeer.blogspot.com
>
> <http://wso2.com/signature>
>
> On Mon, Sep 12, 2016 at 5:42 AM, Hasitha Hiranya <hasit...@wso2.com>
> wrote:
>
>> Hi Shazni,
>>
>> This is the expected behavior of MB.
>> Messages will go to DLC if not matched. Things to note here is
>>
>> 1. MB does not support selectors cluster-wide (if there is a subscriber
>> with a matching selector on some other node, sorry)
>> 2. We cannot keep the message in the queue because of "slot based message
>> distribution logic" we have. It complicates the slot story. Thus messages
>> are moved to DLC.
>>
>> Is there a possibility for you to use Admin Services to route messages
>> back to original queue? Even then, if not matched to any subscriber,
>> messages will get back to DLC.
>>
>> Thanks
>>
>> On Sun, Sep 11, 2016 at 9:31 PM, Shazni Nazeer <sha...@wso2.com> wrote:
>>
>>> Hi all,
>>>
>>> I created a queue in WSO2 MB and placed a couple of messages with given
>>> correlation id's using the management console. And I wrote a sample message
>>> receiver to receive messages from the queue with a selector matching the
>>> correlation id. I could successfully retrieve the message.
>>>
>>> However, I could also see that the messages which didn't match are moved
>>> to the dead letter channel (DLC) queue. This is o.k in certain
>>> circumstances.
>>>
>>> I also could find the [1] where the new feature requirement is to delete
>>> the messages. Therefore moving to DLC seems to be the default behavior.
>>>
>>> But what if I want to keep the unmatched messages untouched in the queue
>>> it self for further processing. Is there a configuration to achieve this?
>>> Or do we have other means to bring back to the original queue. (Of course
>>> not by using the management console)
>>>
>>> [1] https://wso2.org/jira/browse/MB-1597
>>>
>>> Shazni Nazeer
>>> Associate Technical Lead | WSO2
>>>
>>> Mob : +94 37331
>>> LinkedIn : http://lk.linkedin.com/in/shazninazeer
>>> Blog : http://shazninazeer.blogspot.com
>>>
>>> <http://wso2.com/signature>
>>>
>>
>>
>>
>> --
>> *Hasitha Abeykoon*
>> Senior Software Engineer; WSO2, Inc.; http://wso2.com
>> *cell:* *+94 719363063*
>> *blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com>
>>
>>
>


-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com>
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] [MB] Unmatched messages when using message selectors

2016-09-11 Thread Hasitha Hiranya
Hi Shazni,

This is the expected behavior of MB.
Messages will go to DLC if not matched. Things to note here is

1. MB does not support selectors cluster-wide (if there is a subscriber
with a matching selector on some other node, sorry)
2. We cannot keep the message in the queue because of "slot based message
distribution logic" we have. It complicates the slot story. Thus messages
are moved to DLC.

Is there a possibility for you to use Admin Services to route messages back
to original queue? Even then, if not matched to any subscriber, messages
will get back to DLC.

Thanks

On Sun, Sep 11, 2016 at 9:31 PM, Shazni Nazeer  wrote:

> Hi all,
>
> I created a queue in WSO2 MB and placed a couple of messages with given
> correlation id's using the management console. And I wrote a sample message
> receiver to receive messages from the queue with a selector matching the
> correlation id. I could successfully retrieve the message.
>
> However, I could also see that the messages which didn't match are moved
> to the dead letter channel (DLC) queue. This is o.k in certain
> circumstances.
>
> I also could find the [1] where the new feature requirement is to delete
> the messages. Therefore moving to DLC seems to be the default behavior.
>
> But what if I want to keep the unmatched messages untouched in the queue
> it self for further processing. Is there a configuration to achieve this?
> Or do we have other means to bring back to the original queue. (Of course
> not by using the management console)
>
> [1] https://wso2.org/jira/browse/MB-1597
>
> Shazni Nazeer
> Associate Technical Lead | WSO2
>
> Mob : +94 37331
> LinkedIn : http://lk.linkedin.com/in/shazninazeer
> Blog : http://shazninazeer.blogspot.com
>
> 
>



-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* 
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] Improving MB Slot Coordinator to Work in a NATed/Containerized Environment

2016-08-27 Thread Hasitha Hiranya
Hi,

Thank You, Isuru...!!

If you add a new property to broker.xml config file, that file needs a
update as well. So broker.xml of carbon-business-messaging [1] has to be
changed I guess. Please add a proper description to the property in the
file for the parameter you are adding.

[1].
https://github.com/wso2/carbon-business-messaging/blob/master/features/andes/org.wso2.carbon.andes.server.feature/resources/conf/broker.xml

Thanks

On Fri, Aug 26, 2016 at 8:15 PM, Imesh Gunaratne  wrote:

> [+ Ramith]
>
> Great work Isuru!! Well written!!
> I think it might be useful for explaining why this feature was needed in
> the PR description.
>
> Thanks!
>
> On Fri, Aug 26, 2016 at 5:37 PM, Isuru Haththotuwa 
> wrote:
>
>> Hi MB team,
>>
>> Please review the P/R for $subject [1], for the jira ticket reported at
>> [2]. I'm yet to write a test for this, will send a separate P/R once done.
>>
>> [1]. https://github.com/wso2/andes/pull/685
>>
>> [2]. https://wso2.org/jira/browse/MB-1736
>>
>>
>> --
>> Thanks and Regards,
>>
>> Isuru H.
>> +94 716 358 048
>>
>>
>>
>> ___
>> Dev mailing list
>> Dev@wso2.org
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> *Imesh Gunaratne*
> Software Architect
> WSO2 Inc: http://wso2.com
> T: +94 11 214 5345 M: +94 77 374 2057
> W: https://medium.com/@imesh TW: @imesh
> lean. enterprise. middleware
>
>
> ___
> Dev mailing list
> Dev@wso2.org
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>


-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* 
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] Error while deploying sequence with a connector via a CAR file

2016-03-26 Thread Hasitha Hiranya
Hi,

And I do not see connector is bundled into the CAR file.

[image: Inline image 1]

Thanks

On Sat, Mar 26, 2016 at 2:31 PM, Hasitha Hiranya <hasit...@wso2.com> wrote:

> Hi,
>
> I have following sequence. When it is deployed via a CAR file (I added
> salesforce connector to the CAR by right click >> add remove connector in
> Dev Studio) it gives error [1]. Any idea what I am doing wrong here? I am
> using ESB 4.9.0.
>
>
> 
> http://ws.apache.org/ns/synapse;>
>   
>  xmlns:ns="http://org.apache.synapse/xsd"/>
>   
>   
> 
>   
> 
>   $1
> 
>   
> 
> 
>xmlns:ns="http://org.apache.synapse/xsd"/>
> 
>   
>   
> 0
> 0
> {//sfdc:sObjects}
>   
>   
> 
>
> [1].
>
>
> [2016-03-26 14:20:34,061] ERROR - MediatorFactoryFinder Unknown mediator
> referenced by configuration element : {
> http://ws.apache.org/ns/synapse}salesforce
> [2016-03-26 14:20:34,062] ERROR - SequenceDeploymentInterceptor Sequence
> Deployment from the file :
> /learn/demo/new_esb/wso2esb-4.9.0/tmp/carbonapps/-1234/1458982232842ESBProject_1.0.0.car/salesForceInvokeSequence_1.0.0/salesForceInvokeSequence-1.0.0.xml
> : Failed.
> *org.apache.synapse.SynapseException: Unknown mediator referenced by
> configuration element : {http://ws.apache.org/ns/synapse}salesforce
> <http://ws.apache.org/ns/synapse%7Dsalesforce>*
> at
> org.apache.synapse.config.xml.MediatorFactoryFinder.getMediator(MediatorFactoryFinder.java:219)
> at
> org.apache.synapse.config.xml.AbstractListMediatorFactory.addChildren(AbstractListMediatorFactory.java:46)
> at
> org.apache.synapse.config.xml.SequenceMediatorFactory.createSpecificMediator(SequenceMediatorFactory.java:87)
> at
> org.apache.synapse.config.xml.AbstractMediatorFactory.createMediator(AbstractMediatorFactory.java:94)
> at
> org.apache.synapse.config.xml.MediatorFactoryFinder.getMediator(MediatorFactoryFinder.java:224)
> at
> org.apache.synapse.deployers.SequenceDeployer.deploySynapseArtifact(SequenceDeployer.java:58)
> at
> org.wso2.carbon.sequences.SequenceDeploymentInterceptor.deploySynapseArtifact(SequenceDeploymentInterceptor.java:42)
> at
> org.apache.synapse.deployers.AbstractSynapseArtifactDeployer.deploy(AbstractSynapseArtifactDeployer.java:194)
> at
> org.wso2.carbon.application.deployer.synapse.SynapseAppDeployer.deployArtifacts(SynapseAppDeployer.java:130)
> at
> org.wso2.carbon.application.deployer.internal.ApplicationManager.deployCarbonApp(ApplicationManager.java:263)
> at
> org.wso2.carbon.application.deployer.CappAxis2Deployer.deploy(CappAxis2Deployer.java:72)
> at
> org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:136)
> at
> org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:807)
> at
> org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:144)
> at
> org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:377)
> at
> org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:254)
> at
> org.apache.axis2.deployment.RepositoryListener.startListener(RepositoryListener.java:371)
> at
> org.apache.axis2.deployment.scheduler.SchedulerTask.checkRepository(SchedulerTask.java:59)
> at
> org.apache.axis2.deployment.scheduler.SchedulerTask.run(SchedulerTask.java:67)
> at
> org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.runAxisDeployment(CarbonDeploymentSchedulerTask.java:93)
> at
> org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.run(CarbonDeploymentSchedulerTask.java:138)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
> 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)
> [2016-03-26 14:20:34,065] ERROR - AbstractSynapseArtifactDeployer
> Deployment of the Synapse Artifact from file :
> /learn/demo/new_esb/wso2esb-4.9.0/tmp/carbonapps/-1234/1458982232842ESBProject_1.0.0.car/salesForceInvokeSequence_1.0.0/salesForceInvokeSequence-1.0.0.xml
> : Failed!
> org.apache.synapse.deployers.SynapseArtifactDeploymentException: Sequence
> Deployment from the file :
> /learn/demo/new_esb/wso2esb-4.9.0/tmp/carbonapps

[Dev] Error while deploying sequence with a connector via a CAR file

2016-03-26 Thread Hasitha Hiranya
Hi,

I have following sequence. When it is deployed via a CAR file (I added
salesforce connector to the CAR by right click >> add remove connector in
Dev Studio) it gives error [1]. Any idea what I am doing wrong here? I am
using ESB 4.9.0.



http://ws.apache.org/ns/synapse;>
  
http://org.apache.synapse/xsd"/>
  
  

  

  $1

  


  http://org.apache.synapse/xsd"/>

  
  
0
0
{//sfdc:sObjects}
  
  


[1].


[2016-03-26 14:20:34,061] ERROR - MediatorFactoryFinder Unknown mediator
referenced by configuration element : {
http://ws.apache.org/ns/synapse}salesforce
[2016-03-26 14:20:34,062] ERROR - SequenceDeploymentInterceptor Sequence
Deployment from the file :
/learn/demo/new_esb/wso2esb-4.9.0/tmp/carbonapps/-1234/1458982232842ESBProject_1.0.0.car/salesForceInvokeSequence_1.0.0/salesForceInvokeSequence-1.0.0.xml
: Failed.
*org.apache.synapse.SynapseException: Unknown mediator referenced by
configuration element : {http://ws.apache.org/ns/synapse}salesforce
*
at
org.apache.synapse.config.xml.MediatorFactoryFinder.getMediator(MediatorFactoryFinder.java:219)
at
org.apache.synapse.config.xml.AbstractListMediatorFactory.addChildren(AbstractListMediatorFactory.java:46)
at
org.apache.synapse.config.xml.SequenceMediatorFactory.createSpecificMediator(SequenceMediatorFactory.java:87)
at
org.apache.synapse.config.xml.AbstractMediatorFactory.createMediator(AbstractMediatorFactory.java:94)
at
org.apache.synapse.config.xml.MediatorFactoryFinder.getMediator(MediatorFactoryFinder.java:224)
at
org.apache.synapse.deployers.SequenceDeployer.deploySynapseArtifact(SequenceDeployer.java:58)
at
org.wso2.carbon.sequences.SequenceDeploymentInterceptor.deploySynapseArtifact(SequenceDeploymentInterceptor.java:42)
at
org.apache.synapse.deployers.AbstractSynapseArtifactDeployer.deploy(AbstractSynapseArtifactDeployer.java:194)
at
org.wso2.carbon.application.deployer.synapse.SynapseAppDeployer.deployArtifacts(SynapseAppDeployer.java:130)
at
org.wso2.carbon.application.deployer.internal.ApplicationManager.deployCarbonApp(ApplicationManager.java:263)
at
org.wso2.carbon.application.deployer.CappAxis2Deployer.deploy(CappAxis2Deployer.java:72)
at
org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:136)
at
org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:807)
at
org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:144)
at
org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:377)
at
org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:254)
at
org.apache.axis2.deployment.RepositoryListener.startListener(RepositoryListener.java:371)
at
org.apache.axis2.deployment.scheduler.SchedulerTask.checkRepository(SchedulerTask.java:59)
at
org.apache.axis2.deployment.scheduler.SchedulerTask.run(SchedulerTask.java:67)
at
org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.runAxisDeployment(CarbonDeploymentSchedulerTask.java:93)
at
org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.run(CarbonDeploymentSchedulerTask.java:138)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
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)
[2016-03-26 14:20:34,065] ERROR - AbstractSynapseArtifactDeployer
Deployment of the Synapse Artifact from file :
/learn/demo/new_esb/wso2esb-4.9.0/tmp/carbonapps/-1234/1458982232842ESBProject_1.0.0.car/salesForceInvokeSequence_1.0.0/salesForceInvokeSequence-1.0.0.xml
: Failed!
org.apache.synapse.deployers.SynapseArtifactDeploymentException: Sequence
Deployment from the file :
/learn/demo/new_esb/wso2esb-4.9.0/tmp/carbonapps/-1234/1458982232842ESBProject_1.0.0.car/salesForceInvokeSequence_1.0.0/salesForceInvokeSequence-1.0.0.xml
: Failed.
at
org.apache.synapse.deployers.AbstractSynapseArtifactDeployer.handleSynapseArtifactDeploymentError(AbstractSynapseArtifactDeployer.java:475)
at
org.apache.synapse.deployers.SequenceDeployer.deploySynapseArtifact(SequenceDeployer.java:84)
at
org.wso2.carbon.sequences.SequenceDeploymentInterceptor.deploySynapseArtifact(SequenceDeploymentInterceptor.java:42)
at
org.apache.synapse.deployers.AbstractSynapseArtifactDeployer.deploy(AbstractSynapseArtifactDeployer.java:194)
at
org.wso2.carbon.application.deployer.synapse.SynapseAppDeployer.deployArtifacts(SynapseAppDeployer.java:130)
at

Re: [Dev] WSO2 Committers += Hasunie Adhikari

2016-02-29 Thread Hasitha Hiranya
Congratulations Hasuni...!!!


On Mon, Feb 29, 2016 at 5:13 PM, Mohamed ZAJITH 
wrote:

> Congratulations Hasuni
>
>
>
>
> On Mon, Feb 29, 2016 at 3:28 PM, Ruwan Yatawara  wrote:
>
>> Congratulations Hasunie!
>>
>> Thanks and Regards,
>>
>> Ruwan Yatawara
>>
>> Senior Software Engineer,
>> WSO2 Inc.
>>
>> email : ruw...@wso2.com
>> mobile : +94 77 9110413
>> blog : http://ruwansrants.blogspot.com/
>> www: :http://wso2.com
>>
>>
>> On Mon, Feb 29, 2016 at 3:24 PM, Harshan Liyanage 
>> wrote:
>>
>>> Congratz Hasuni !!
>>>
>>> Harshan Liyanage
>>> Software Engineer
>>> Mobile: *+94724423048*
>>> Email: hars...@wso2.com
>>> Blog : http://harshanliyanage.blogspot.com/
>>> *WSO2, Inc. :** wso2.com *
>>> lean.enterprise.middleware.
>>>
>>> On Thu, Feb 25, 2016 at 8:31 PM, Manoj Gunawardena 
>>> wrote:
>>>
 Congratulations Hasuni...!!!

 On Thu, Feb 25, 2016 at 8:05 AM, Geesara Prathap 
 wrote:

> Congratulations Hasunie !!!
>
> On Wed, Feb 24, 2016 at 12:05 PM, Menaka Jayawardena 
> wrote:
>
>> Congratulations Hasuni...!!!
>>
>> On Wed, Feb 24, 2016 at 11:46 AM, Prabath Abeysekera <
>> praba...@wso2.com> wrote:
>>
>>> Hi Everyone,
>>>
>>> It's my pleasure to welcome Hasunie Adhikari as a WSO2 Committer.
>>> Hasunie has been a key member of the EMM/IoT team contributing to many
>>> aspects of product development ever since she joined us. In recognition 
>>> of
>>> her contributions, ownership shown towards the tasks/responsibilities
>>> assigned to her, and commitment, she's been voted as a WSO2 committer.
>>>
>>> Hasunie, Welcome aboard and keep up the awesome work!
>>>
>>> Cheers,
>>> Prabath
>>> --
>>> Prabath Abeysekara
>>> Technical Lead
>>> WSO2 Inc.
>>> Email: praba...@wso2.com
>>> Mobile: +94774171471
>>>
>>> ___
>>> Dev mailing list
>>> Dev@wso2.org
>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>
>>>
>>
>>
>> --
>> Menaka Madushanka Jayawardena
>> Software Engineering Intern
>> men...@wso2.com
>> Mobile:- +94 71 8851183/ +94 71 3505470
>> LinkedIn - Menaka Jayawardena
>> 
>>
>> ___
>> Dev mailing list
>> Dev@wso2.org
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> Geesara Prathap Kulathunga
> Software Engineer
> WSO2 Inc; http://wso2.com
> Mobile : +940772684174
>
>
> ___
> Dev mailing list
> Dev@wso2.org
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>


 --
 Manoj Gunawardena
 Tech Lead
 WSO2, Inc.: http://wso2.com
 lean.enterprise.middleware
 Mobile : +94 77 2291643

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


>>>
>>> ___
>>> Dev mailing list
>>> Dev@wso2.org
>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>
>>>
>>
>> ___
>> Dev mailing list
>> Dev@wso2.org
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> *Regards.*
> *MohamedZajith*
> *Linkedin*
> 
>
> ___
> Dev mailing list
> Dev@wso2.org
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>


-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* 
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] MB C5-migration new folder structure

2016-02-09 Thread Hasitha Hiranya
Hi Asitha,

Yep. If we install above 4 features on a vanila Cabon server, it should
become a MB server.

Thanks

On Tue, Feb 9, 2016 at 4:26 PM, Asitha Nanayakkara <asi...@wso2.com> wrote:

> Adding dev@
>
> On Tue, Feb 9, 2016 at 4:03 PM, Hasitha Hiranya <hasit...@wso2.com> wrote:
>
>> hi Asitha,
>>
>> Ah, so there is no need for components be in a separate repo?
>> I think the reason to keep components in a separate repo was to share the
>> components between various product level features.
>>
>> Agreed, if we want to do a release for a specific feature then we have to
> release the whole product. If we have a separate repo for features we won't
> have that issue. At the moment we don't have such requirement. Will this be
> a valid requriment in future?
>
> Even though we are moving all the components and features to product mb
> repo still we will have four features. Namely they are
> Andes feature - andes core functionality will be implemented in this
> feature
> MB-UI feature - ui components of MB
> AMQP-feature - AMQP transport implementation
> MQTT feature - MQTT transport implementation
>
> So these features can be used in other products. For instance we can have
> a lean MB with Andes feature and MQTT feature.
>
> Regards,
> Asitha
>
>
>
>> Let us use Dev/Architecture mail threads to discuss these.
>>
>> Thanks
>>
>> On Tue, Feb 9, 2016 at 3:55 PM, Asitha Nanayakkara <asi...@wso2.com>
>> wrote:
>>
>>> Hi all,
>>>
>>> We (Hemika and I) are in the process of bootstrapping the product.
>>>
>>> We have come up with a folder structure for the project[2]. We will be
>>> working on product-mb/c5-migration branch [1].
>>>
>>> We will be moving all the components and features to product-mb repo
>>> (since we don't have any shared features in there) and eventually will get
>>> rid of the cabon-business-messaging repo
>>>
>>> Any concerns,thoughts and suggestions on the approach?
>>>
>>> [1] https://github.com/wso2/product-mb/tree/c5-migration
>>> [2]
>>> .
>>> ├── carbon-mb
>>> │   ├── components
>>> │   │   ├── andes
>>> │   │   │   ├── andes.iml
>>> │   │   │   ├── pom.xml
>>> │   │   │   ├── src
>>> │   │   │   └── target
>>> │   │   ├── mb-ui
>>> │   │   │   ├── mb-ui.iml
>>> │   │   │   ├── pom.xml
>>> │   │   │   ├── src
>>> │   │   │   └── target
>>> │   │   └── transports
>>> │   │   ├── amqp
>>> │   │   └── mqtt
>>> │   └── features
>>> │   ├── andes.feature
>>> │   │   ├── andes.feature.iml
>>> │   │   ├── pom.xml
>>> │   │   └── target
>>> │   ├── etc
>>> │   │   └── feature.properties
>>> │   ├── mb-ui.feature
>>> │   │   ├── mb-ui.feature.iml
>>> │   │   ├── pom.xml
>>> │   │   └── target
>>> │   └── transports
>>> │   ├── amqp.feature
>>> │   └── mqtt.feature
>>> ├── LICENSE.txt
>>> ├── pom.xml
>>> ├── README.md
>>> ├── README.txt
>>> ├── tests
>>> │   └── osgi-tests
>>> │   ├── carbon-mb-osgi-tests.iml
>>> │   ├── pom.xml
>>> │   └── target
>>> │   ├── carbon-mb-osgi-tests-3.5.0-SNAPSHOT.jar
>>> │   ├── classes
>>> │   ├── maven-archiver
>>> │   ├── maven-shared-archive-resources
>>> │   └── test-classes
>>> └── tools
>>> ├── mb-tools.iml
>>> ├── pom.xml
>>> └── target
>>> ├── classes
>>> │   └── META-INF
>>> ├── maven-archiver
>>> │   └── pom.properties
>>> ├── maven-shared-archive-resources
>>> │   └── META-INF
>>> ├── mb-tools-3.5.0-SNAPSHOT.jar
>>> └── test-classes
>>> └── META-INF
>>>
>>>
>>> Regards,
>>>
>>> --
>>> *Asitha Nanayakkara*
>>> Software Engineer
>>> WSO2, Inc. http://wso2.com/
>>> Mob: + 94 77 85 30 682
>>>
>>>
>>
>>
>> --
>> *Hasitha Abeykoon*
>> Senior Software Engineer; WSO2, Inc.; http://wso2.com
>> *cell:* *+94 719363063*
>> *blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com>
>>
>>
>
>
> --
> *Asitha Nanayakkara*
> Software Engineer
> WSO2, Inc. http://wso2.com/
> Mob: + 94 77 85 30 682
>
>


-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com>
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] MB 3.0.0 is not starting on Windows 7/Java 1.7

2015-12-21 Thread Hasitha Hiranya
Is this worth mentioning in docs anyway?

On Tue, Dec 22, 2015 at 11:21 AM, Nadeesha Meegoda 
wrote:

> Hi all,
>
> Thanks for figuring this out.
>
> Regards,
> Nadeesha
>
> On Tue, Dec 22, 2015 at 11:19 AM, Isuru Perera  wrote:
>
>> Yes! The 32-bit JVM cannot allocate enough memory for the MB.
>>
>> On Tue, Dec 22, 2015 at 11:14 AM, Jason De Silva  wrote:
>>
>>> Hi Nadeesha,
>>>
>>> As Isuru pointed since you have tried it out with 32 bit JDK which will
>>> not be able to allocate 2 gb memory [1] whereas MB needs 2 gb memory [2]
>>> which was the cause for the product to not start on 32 bit JDK.
>>>
>>> [1]
>>> http://www.oracle.com/technetwork/java/hotspotfaq-138619.html#gc_heap_32bit
>>> [2] https://docs.wso2.com/display/MB300/Installation+Prerequisites
>>>
>>> Regards,
>>>
>>>
>>> On Mon, Dec 21, 2015 at 9:20 PM, Nadeesha Meegoda 
>>> wrote:
>>>
 Hi Isuru,

 Yes I am running MB on the 32-bit JDK. I have installed both 32 bit and
 64 bit JDK in my machine. However other products seems to start without any
 error in both 32bit and 64bit JDK. I also checked MB in 64bit JDK now. MB
 starts fine with that.


 Thanks,
 Nadeesha

 On Mon, Dec 21, 2015 at 6:13 PM, Isuru Perera  wrote:

> Looks like you are running MB on the 32-bit JDK. Can you try with
> 64-bit JDK?
>
> On Mon, Dec 21, 2015 at 5:08 PM, Nadeesha Meegoda 
> wrote:
>
>> Hi Yasassri,
>>
>> Thanks. I will investigate on this more. The other products in same
>> directory are starting without any issue. That's why I raised the 
>> concern.
>>
>> Regards,
>> Nadeesha
>>
>> On Mon, Dec 21, 2015 at 4:09 PM, Yasassri Ratnayake <
>> yasas...@wso2.com> wrote:
>>
>>> Hi,
>>>
>>> We were able to successfully start MB without any issue with Java
>>> 1.8 and with Java 1.7 in windows environment. I tested with your exact 
>>> java
>>> version as well (1.7.0_79). I believe you haven't set your environment
>>> variables properly. As per your error it says "The system cannot
>>> find the file specified.".  I think this is self explanatory.
>>>
>>> Please compare with the following logs and check whats missing.
>>>
>>> TID: [] [] [2015-12-21 10:23:49,834]  WARN
>>> {org.apache.axiom.util.stax.dialect.StAXDialectDetector} -  Unable to
>>> determine dialect of the StAX implementation at
>>> bundleresource://13.fwk2427473/
>>> {org.apache.axiom.util.stax.dialect.StAXDialectDetector}
>>> TID: [] [] [2015-12-21 10:23:49,834]  WARN
>>> {org.apache.axiom.util.stax.dialect.StAXDialectDetector} -  Unable to
>>> determine dialect of the StAX implementation at
>>> bundleresource://13.fwk2427473/
>>> {org.apache.axiom.util.stax.dialect.StAXDialectDetector}
>>> TID: [] [] [2015-12-21 10:23:49,756]  INFO
>>> {org.wso2.andes.wso2.internal.QpidBundleActivator} -  Setting 
>>> BundleContext
>>> in PluginManager {org.wso2.andes.wso2.internal.QpidBundleActivator}
>>> TID: [-1234] [] [2015-12-21 10:23:51,303]  INFO
>>> {org.wso2.carbon.core.internal.CarbonCoreActivator} -  Starting WSO2
>>> Carbon... {org.wso2.carbon.core.internal.CarbonCoreActivator}
>>> TID: [-1234] [] [2015-12-21 10:23:51,303]  INFO
>>> {org.wso2.carbon.core.internal.CarbonCoreActivator} -  Operating System 
>>> :
>>> Windows Server 2012 R2 6.3, amd64
>>> {org.wso2.carbon.core.internal.CarbonCoreActivator}
>>> TID: [-1234] [] [2015-12-21 10:23:51,303]  INFO
>>> {org.wso2.carbon.core.internal.CarbonCoreActivator} -  Java Home
>>> :
>>> C:\Program Files\Java\jdk1.7.0_79\jre
>>> {org.wso2.carbon.core.internal.CarbonCoreActivator}
>>> TID: [-1234] [] [2015-12-21 10:23:51,303]  INFO
>>> {org.wso2.carbon.core.internal.CarbonCoreActivator} -  Java Version 
>>> :
>>> 1.7.0_79 {org.wso2.carbon.core.internal.CarbonCoreActivator}
>>> TID: [-1234] [] [2015-12-21 10:23:51,303]  INFO
>>> {org.wso2.carbon.core.internal.CarbonCoreActivator} -  Java VM  
>>> :
>>> Java HotSpot(TM) 64-Bit Server VM 24.79-b02,Oracle Corporation
>>> {org.wso2.carbon.core.internal.CarbonCoreActivator}
>>> TID: [-1234] [] [2015-12-21 10:23:51,303]  INFO
>>> {org.wso2.carbon.core.internal.CarbonCoreActivator} -  Carbon Home  
>>> :
>>> C:\Users\ADMINI~1\DOWNLO~1\WSO2MB~1.0\WSO2MB~1.0\bin\..
>>> {org.wso2.carbon.core.internal.CarbonCoreActivator}
>>> TID: [-1234] [] [2015-12-21 10:23:51,303]  INFO
>>> {org.wso2.carbon.core.internal.CarbonCoreActivator} -  Java Temp Dir
>>> :
>>> C:\Users\ADMINI~1\DOWNLO~1\WSO2MB~1.0\WSO2MB~1.0\bin\..\tmp
>>> {org.wso2.carbon.core.internal.CarbonCoreActivator}
>>> TID: [-1234] [] [2015-12-21 10:23:51,303]  INFO
>>> 

Re: [Dev] [VOTE] Release WSO2 Carbon Kernel 4.4.3 RC3

2015-12-15 Thread Hasitha Hiranya
Hi,

Tested WSO2 MB with Carbon kernel 4.4.3 RC3. All integration tests and
automated cluster tests are passed.
Thus +1 for release.

Thanks

On Tue, Dec 15, 2015 at 3:45 PM, Nipuni Perera  wrote:

> Hi Devs,
>
> Thanks for testing and verifying the Carbon kernel 4.4.3 RC3. We are
> closing this vote now. This vote has passed with 8 +1s and 0 -1s.
> Therefore we will proceed with the Carbon kernel 4.4.3 release.
>
> Carbon Team.
>
> On Tue, Dec 15, 2015 at 1:41 PM, Nipuni Perera  wrote:
>
>> Hi,
>>
>> Tested deployment-synchronizer and Caching in AS-5.3.1-SNAPSHOT cluster
>> (1-manager node, 2- worker nodes with Nginx load balancer). No issues
>> found.
>>
>> Thanks,
>> Nipuni
>>
>> On Mon, Dec 14, 2015 at 4:35 PM, Nipuni Perera  wrote:
>>
>>> Hi,
>>>
>>> Tested AS 5.3.1-SNAPSHOT with kernel 4.4.3-RC3. No issues found.
>>>
>>> [x] Stable - Go ahead and release
>>>
>>> Thanks,
>>> Nipuni
>>>
>>> On Mon, Dec 14, 2015 at 4:07 PM, Damith Senanayake 
>>> wrote:
>>>
 Hi,
 Tested user management and user core functionality. No issues found.

 [x] Stable - Go ahead and release

 thanks

 On Mon, Dec 14, 2015 at 3:05 PM, Sachith Withana 
 wrote:

> Hi all,
>
> Built WSO2 DAS-3.0.1-SNAPSHOT with Kernel 4.4.3-RC3 with tests. No
> issues found.
>
> [x] Stable - Go ahead and release
>
> Cheers,
> Sachith
>
> On Mon, Dec 14, 2015 at 11:39 AM, Milinda Perera 
> wrote:
>
>> Hi,
>>
>> Tested WSO BRS-2.2.0-SNAPSHOT with kernel 4.4.3-RC3, Build with
>> integration test get success and BRS basic functionalities also works 
>> fine.
>>
>> [x] Stable - Go ahead and release
>>
>> Thanks,
>> Milinda
>>
>> On Mon, Dec 14, 2015 at 10:30 AM, Jagath Sisirakumara Ariyarathne <
>> jaga...@wso2.com> wrote:
>>
>>> Hi,
>>>
>>> Built latest ESB pack with all integration tests. No issues observed.
>>>
>>> [x] Stable - go ahead and release
>>>
>>> Thanks.
>>>
>>> On Mon, Dec 14, 2015 at 10:08 AM, Maheshakya Wijewardena <
>>> mahesha...@wso2.com> wrote:
>>>
 Hi,

 I have built ML 1.1.0 Beta pack including all tests with kernel
 4.4.3 RC3. No issues found.

 [x] Stable - Go ahead and release.

 Best regards.

 On Mon, Dec 14, 2015 at 8:21 AM, Hasitha Aravinda  wrote:

> Hi
>
> I have tested BPS 3.5.1-SNAPSHOT with kernel 4.4.3
> ​ RC3​
> ​
> . No issue found.
>
> [x] Stable - Go ahead and release.
>
> Thanks
> Hasitha.
>
> On Fri, Dec 11, 2015 at 8:15 PM, Nipuni Perera 
> wrote:
>
>>
>> Hi Devs,
>>
>> This is the RC3 release candidate of WSO2 Carbon Kernel 4.4.3.
>>
>> This release fixes the following issues:
>> https://wso2.org/jira/issues/?filter=12540
>>
>> Please download and test your products with kernel 4.4.3 RC3
>> and vote. Vote will be open for 72 hours or as longer as needed.
>>
>> *​Source and binary distribution files:*
>> http://svn.wso2.org/repos/wso2/people/nipuni/4.4.3-rc3/
>>
>> *Maven staging repository:*
>> http://maven.wso2.org/nexus/content/repositories/orgwso2carbon-168
>> /
>>
>> *The tag to be voted upon:*
>> https://github.com/wso2/carbon-kernel/releases/tag/v4.4.3-RC3
>>
>>
>> [ ] Broken - do not release (explain why)
>> [ ] Stable - go ahead and release
>>
>> Thank you
>> Carbon Team
>>
>> --
>> Nipuni Perera
>> Software Engineer; WSO2 Inc.; http://wso2.com
>> Email: nip...@wso2.com
>> Git hub profile: https://github.com/nipuni
>> Blog : http://nipunipererablog.blogspot.com/
>> Mobile: +94 (71) 5626680
>> 
>>
>>
>> ___
>> Dev mailing list
>> Dev@wso2.org
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> --
> Hasitha Aravinda,
> Senior Software Engineer,
> WSO2 Inc.
> Email: hasi...@wso2.com
> Mobile : +94 718 210 200
>
> ___
> Dev mailing list
> Dev@wso2.org
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>


 --
 Pruthuvi Maheshakya Wijewardena
 Software Engineer
 WSO2 : http://wso2.com/
 Email: mahesha...@wso2.com
 

Re: [Dev] Warning when sending message to WSO2 MB

2015-11-30 Thread Hasitha Hiranya
Hi,

This warning comes when loading keystore and truststore within Andes client
(WSO2 MB JMS client) inside ESB. ESB always try to make a connection to MB
in your scenario?

i.e

1. make a connection
2. send message i
3. close connection
4. step 1 again and loop

If so, this warning can be continuous. Otherwise it would only be a startup
warning.

On a side note making connections per message is not a good thing. You need
to cache message producer inside ESB.

@Sajini,
Please validate above answer as you have been through the code.

Thanks

On Tue, Dec 1, 2015 at 1:25 AM, Manoj Kumara  wrote:

> Hi Dev's,
>
> I have setup WSO2 ESB 4.9.0 with WSO2 MB 3.0.0 in my environment. When
> sending a message to a queue created on MB I noticed following warning.
> What is the cause for this.
>
> *[2015-11-30 19:48:22,734] WARN - AMQConnectionDelegate_8_0 Loading
> keystore and truststore from system properties*
>
>
> Regards,
> Manoj
>



-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* 
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] Implementing -Dsetup in a Carbon product

2015-11-23 Thread Hasitha Hiranya
Hi,

Thanks, Nirmal/Anuruddha, sources were useful

Thanks

On Sun, Nov 22, 2015 at 6:09 PM, Nirmal Fernando <nir...@wso2.com> wrote:

> Hi Hasitha,
>
> Check this
> https://github.com/wso2/carbon-ml/blob/master/components/ml/org.wso2.carbon.ml.database/src/main/java/org/wso2/carbon/ml/database/internal/MLDatabaseService.java#L63
> to
> https://github.com/wso2/carbon-ml/blob/master/components/ml/org.wso2.carbon.ml.database/src/main/java/org/wso2/carbon/ml/database/internal/MLDatabaseService.java#L83
>
> On Sat, Nov 21, 2015 at 9:24 PM, Hasitha Hiranya <hasit...@wso2.com>
> wrote:
>
>> Hi Anuruddha,
>>
>> Thanks for the response.
>> Spotted following code,
>>
>>
>> https://github.com/wso2/carbon-ml/blob/master/components/ml/org.wso2.carbon.ml.database/src/main/java/org/wso2/carbon/ml/database/internal/MLConfigurationParser.java
>> <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fwso2%2Fcarbon-ml%2Fblob%2Fmaster%2Fcomponents%2Fml%2Forg.wso2.carbon.ml.database%2Fsrc%2Fmain%2Fjava%2Forg%2Fwso2%2Fcarbon%2Fml%2Fdatabase%2Finternal%2FMLConfigurationParser.java=D=1=AFQjCNH63jvktgn2Dmqgr2oQ6vOyi7Jvbg>
>>
>> Here we use javax.xml.bind.Unmarshaller
>>
>> With
>>
>>
>> https://github.com/wso2/carbon-ml/blob/master/components/ml/org.wso2.carbon.ml.commons/src/main/java/org/wso2/carbon/ml/commons/domain/config/MLConfiguration.java
>> <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fwso2%2Fcarbon-ml%2Fblob%2Fmaster%2Fcomponents%2Fml%2Forg.wso2.carbon.ml.commons%2Fsrc%2Fmain%2Fjava%2Forg%2Fwso2%2Fcarbon%2Fml%2Fcommons%2Fdomain%2Fconfig%2FMLConfiguration.java=D=1=AFQjCNF4WmeQsRT5aAVMMbLsd7bAoqIFhQ>
>>
>> Is this the way to decrypt the xml tags properly? Are we looking at the
>> correct place?
>>
>> Thanks
>>
>> On Sat, Nov 21, 2015 at 6:46 PM, Anuruddha Premalal <anurud...@wso2.com>
>> wrote:
>>
>>> Hi Hiranya,
>>>
>>> [1] might help you.
>>>
>>> [1]
>>> https://github.com/wso2/carbon-ml/tree/master/components/ml/org.wso2.carbon.ml.database
>>>
>>> On Sat, Nov 21, 2015 at 8:58 AM, Hasitha Hiranya <hasit...@wso2.com>
>>> wrote:
>>>
>>>> Hi,
>>>>
>>>> In our carbon product, we have a new database to deal with. We have the
>>>> DB script that creates the necessary tables to work with the product in a
>>>> specified  database pointed by
>>>> /repository/conf/datasources/masterdatasource.xml.
>>>>
>>>> If we write a code to source the DB Script, we need to
>>>> read masterdatasource.xml file ourselves and decode necessary xml values
>>>> from data source configuration. Is this the correct way of doing it?
>>>>
>>>> Or does Carbon have some interface or configuration object where it
>>>> loads the configs in masterdatasource.xml so that our code can read from?
>>>>
>>>> Thanks
>>>> --
>>>> *Hasitha Abeykoon*
>>>> Senior Software Engineer; WSO2, Inc.; http://wso2.com
>>>> *cell:* *+94 719363063*
>>>> *blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com>
>>>>
>>>>
>>>> ___
>>>> Dev mailing list
>>>> Dev@wso2.org
>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>
>>>>
>>>
>>>
>>> --
>>> *Anuruddha Premalal*
>>> Software Eng. | WSO2 Inc.
>>> Mobile : +94717213122
>>> Web site : www.anuruddha.org
>>>
>>>
>>
>>
>> --
>> *Hasitha Abeykoon*
>> Senior Software Engineer; WSO2, Inc.; http://wso2.com
>> *cell:* *+94 719363063*
>> *blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com>
>>
>>
>
>
> --
>
> Thanks & regards,
> Nirmal
>
> Team Lead - WSO2 Machine Learner
> Associate Technical Lead - Data Technologies Team, WSO2 Inc.
> Mobile: +94715779733
> Blog: http://nirmalfdo.blogspot.com/
>
>
>


-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com>
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] Implementing -Dsetup in a Carbon product

2015-11-21 Thread Hasitha Hiranya
Hi Anuruddha,

Thanks for the response.
Spotted following code,

https://github.com/wso2/carbon-ml/blob/master/components/ml/org.wso2.carbon.ml.database/src/main/java/org/wso2/carbon/ml/database/internal/MLConfigurationParser.java
<https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fwso2%2Fcarbon-ml%2Fblob%2Fmaster%2Fcomponents%2Fml%2Forg.wso2.carbon.ml.database%2Fsrc%2Fmain%2Fjava%2Forg%2Fwso2%2Fcarbon%2Fml%2Fdatabase%2Finternal%2FMLConfigurationParser.java=D=1=AFQjCNH63jvktgn2Dmqgr2oQ6vOyi7Jvbg>

Here we use javax.xml.bind.Unmarshaller

With

https://github.com/wso2/carbon-ml/blob/master/components/ml/org.wso2.carbon.ml.commons/src/main/java/org/wso2/carbon/ml/commons/domain/config/MLConfiguration.java
<https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fwso2%2Fcarbon-ml%2Fblob%2Fmaster%2Fcomponents%2Fml%2Forg.wso2.carbon.ml.commons%2Fsrc%2Fmain%2Fjava%2Forg%2Fwso2%2Fcarbon%2Fml%2Fcommons%2Fdomain%2Fconfig%2FMLConfiguration.java=D=1=AFQjCNF4WmeQsRT5aAVMMbLsd7bAoqIFhQ>

Is this the way to decrypt the xml tags properly? Are we looking at the
correct place?

Thanks

On Sat, Nov 21, 2015 at 6:46 PM, Anuruddha Premalal <anurud...@wso2.com>
wrote:

> Hi Hiranya,
>
> [1] might help you.
>
> [1]
> https://github.com/wso2/carbon-ml/tree/master/components/ml/org.wso2.carbon.ml.database
>
> On Sat, Nov 21, 2015 at 8:58 AM, Hasitha Hiranya <hasit...@wso2.com>
> wrote:
>
>> Hi,
>>
>> In our carbon product, we have a new database to deal with. We have the
>> DB script that creates the necessary tables to work with the product in a
>> specified  database pointed by
>> /repository/conf/datasources/masterdatasource.xml.
>>
>> If we write a code to source the DB Script, we need to
>> read masterdatasource.xml file ourselves and decode necessary xml values
>> from data source configuration. Is this the correct way of doing it?
>>
>> Or does Carbon have some interface or configuration object where it loads
>> the configs in masterdatasource.xml so that our code can read from?
>>
>> Thanks
>> --
>> *Hasitha Abeykoon*
>> Senior Software Engineer; WSO2, Inc.; http://wso2.com
>> *cell:* *+94 719363063*
>> *blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com>
>>
>>
>> ___
>> Dev mailing list
>> Dev@wso2.org
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> *Anuruddha Premalal*
> Software Eng. | WSO2 Inc.
> Mobile : +94717213122
> Web site : www.anuruddha.org
>
>


-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com>
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


[Dev] Implementing -Dsetup in a Carbon product

2015-11-20 Thread Hasitha Hiranya
Hi,

In our carbon product, we have a new database to deal with. We have the DB
script that creates the necessary tables to work with the product in a
specified  database pointed by
/repository/conf/datasources/masterdatasource.xml.

If we write a code to source the DB Script, we need to
read masterdatasource.xml file ourselves and decode necessary xml values
from data source configuration. Is this the correct way of doing it?

Or does Carbon have some interface or configuration object where it loads
the configs in masterdatasource.xml so that our code can read from?

Thanks
-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* 
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] [VOTE] Release WSO2 Message Broker 3.0.0 RC 2

2015-11-07 Thread Hasitha Hiranya
Hi all,

I tested the following scenarios in a MB cluster


   - multiple publisher multiple consumer  - queues
   - multiple publisher multiple consumer  - topics
   - multiple publisher multiple consumer  - durable topic shared
   - multiple publisher multiple consumer  - queues -  with subscription
   break in middle
   - hierarchical topic subs - subscribers on multiple nodes
   - topics with wildcards (* and #) - subscribers on multiple nodes


Did not encounter issues
Thus +1.  Stable - go ahead and release

Thanks

On Sat, Nov 7, 2015 at 3:28 AM, Akalanka Pagoda Arachchi  wrote:

> Hi Devs,
>
> This is the second release candidate of WSO2 Message Broker 3.0.0.
>
> This release fixes the following issues:
> https://wso2.org/jira/issues/?filter=12508
>
> 
> Please download, test and vote.
>
> Source & binary distribution files:
> https://github.com/wso2/product-mb/releases/tag/v3.0.0-RC2
>
> Maven staging repo:
> http://maven.wso2.org/nexus/content/repositories/orgwso2mb-118/
>
> The tag to be voted upon:
> https://github.com/wso2/product-mb/tree/v3.0.0-RC2
>
>
> [+] Stable - go ahead and release
> [-]  Broken - do not release (explain why)
>
> Thanks and Regards,
> MB Team.
>
> --
> *Darshana Akalanka Pagoda Arachchi,*
> *Software Engineer*
> *078-4721791*
>
> ___
> Dev mailing list
> Dev@wso2.org
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>


-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* 
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


[Dev] [Architecture] WSO2 Message Broker 3.0.0 Beta Released !

2015-10-25 Thread Hasitha Hiranya
Hi All,

WSO2  MB Team is pleased to announce the release of WSO2 Message Broker
3.0.0-Beta. You can now download the distribution which is at [1].
Bug

   - [MB-378 ] - Permission handling
   with "Topic and children" option
   - [MB-698 ] - Messages disappear
   from queue after rerouting/restoring from DeadLetterChannel
   - [MB-1014 ] - Messages left on
   database when subscriber failover
   - [MB-1050 ] - Exception thrown
   when publisher removed
   - [MB-1113 ] - In multiple
   publisher subscriber scenario exception thrown - "Exception occurred while
   processing inbound events"
   - [MB-1115 ] - Exception thrown
   when tried to reroute messages in DLC
   - [MB-1128 ] - MySQL Deadlock when
   killing the publishers/subscribers
   - [MB-1162 ] - Exception thrown
   when restored and rerouted messages in dlc
   - [MB-1163 ] - Exception thrown
   when RDBMS slot management is enabled
   - [MB-1168 ] - Queue name
   declarations with different data lengths seen in the scripts
   - [MB-1231 ] - Add the latest and
   correct jar files to client-lib folder
   - [MB-1245 ] -
   DurableTopicsSubscribers are not getting unsubscribed
   - [MB-1267 ] - Tenant Topic
   subscriptions are showing in Super tenant space
   - [MB-1271 ] -
   IllegalArgumentException: Underflow error logged when restarting the MB
   instance
   - [MB-1313 ] - When you subscribe
   to a topic that Subscriber is listed under durable topic subscribers
   - [MB-1323 ] - Topic can be
   deleted when there are subscribers in a subtopic
   - [MB-1326 ] - Deadlock when
   closing subscribers in Oracle
   - [MB-1333 ] - [MQTT] Messages are
   consumed from different topics if the topics are created by the same
   subscriber
   - [MB-1334 ] - [MQTT] Error when
   unsubscribing from broker
   - [MB-1366 ] - Messages remained
   in the DB eventhough subscriptions are active
   - [MB-1370 ] - Server went OOM
   when consuming messages from both nodes
   - [MB-1379 ] - Tenant users cannot
   publish messages to queues via MC
   - [MB-1386 ] - Queue/Topic names
   should be trimmed before saving
   - [MB-1387 ] - [Tenant] Allows to
   subscribe to a topic with " / "
   - [MB-1389 ] - Subscribers are
   removed from durable topics when they change the JMS selectors and
   subscribe again
   - [MB-1391 ] - If a message is
   published from UI to a topic with a name which has a space in-between the
   message is not routed to the subscribers
   - [MB-1404 ] - [MQTT] When
   subscribed with "+/+/+" the subscriber receives retained messages from
   multilevel topics
   - [MB-1415 ] - The full payload is
   not displyed in MC when the payload is huge
   - [MB-1416 ] - A user with a topic
   permission role only assigned to pub/sub to a specific subtopic can
   subscribe to immediate children
   - [MB-1419 ] - Message lost when
   unacked and no of redelivery attempts are exceeded
   - [MB-1422 ] - [MQTT] The retained
   flag is not set to true when client recieves a retained message
   - [MB-1423 ] - [MQTT] Cannot add
   multiple subscription with the same client ID
   - [MB-1424 ] - When unsubscribed
   from a subtopic with a wild card the subtopic can not be deleted
   - [MB-1427 ] - Prevent topic
   creation which has two full stops subsequently e.g - Sports..
   - [MB-1431 ] - [AMQP] Wild card
   characters shouldn't be allowed when publishing to topics
   - [MB-1433 ] - Publishers can
   publish messages to queues even though those queues do not exist
   - [MB-1437 ] - Observed a deadlock
   when adding multiple durable topics in clustered environment
   - [MB-1438 

[Dev] How to make mySQL DB case sensitive

2015-10-15 Thread Hasitha Hiranya
Hi Devs,

How can we do the subject? Are we doing this in registry/user store DBs?

Thanks

-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* 
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] How to make mySQL DB case sensitive

2015-10-15 Thread Hasitha Hiranya
Hi Mahesh,

Already tried it.
Gives me following error


[image: Inline image 1]

I am using mysql  Ver 14.14 Distrib 5.6.23, for osx10.8 (x86_64)

Thanks

On Thu, Oct 15, 2015 at 5:48 PM, Mahesh Chinthaka <mahe...@wso2.com> wrote:

> Hi Hasitha,
>
> AFAIK you can set collation at both the database creation and table
> creation level.
> And you can set individual tables treated as case sensitive if you want.
>
> Please refer[1]
>
> [1] -
> http://stackoverflow.com/questions/4879846/how-to-configure-mysql-to-be-case-sensitive
>
> On Thu, Oct 15, 2015 at 5:43 PM, Hasitha Hiranya <hasit...@wso2.com>
> wrote:
>
>> Hi Devs,
>>
>> How can we do the subject? Are we doing this in registry/user store DBs?
>>
>> Thanks
>>
>> --
>> *Hasitha Abeykoon*
>> Senior Software Engineer; WSO2, Inc.; http://wso2.com
>> *cell:* *+94 719363063*
>> *blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com>
>>
>>
>> ___
>> Dev mailing list
>> Dev@wso2.org
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> *Mahesh Chinthaka Vidanagama* | Software Engineer
> WSO2, Inc | lean. enterprise. middleware.
> #20, Palm Grove, Colombo 03, Sri Lanka
> Mobile: +94 71 63 63 083 | Work: +94 112 145 345
> Email: mahe...@wso2.com | Web: www.wso2.com
>



-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com>
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


[Dev] Hazelcast Issue - sequence is too small. the current head sequence...

2015-10-06 Thread Hasitha Hiranya
Hi Peter,

We are using Hazelcast in our Message Broker project. We are getting
following exception when using a iTopic for syncing data.

Appreciate any idea why this happen? Are we doing something wrong in our
client application?

We found code [1] throwing the exception.

Oct 06, 2015 4:26:44 PM
com.hazelcast.ringbuffer.impl.operations.ReadManyOperation
SEVERE: [192.168.1.50]:4000 [wso2.mb.domain] [3.5] sequence:8 is too small.
The current headSequence is:9
com.hazelcast.ringbuffer.StaleSequenceException: sequence:8 is too small.
The current headSequence is:9
at
com.hazelcast.ringbuffer.impl.RingbufferContainer.checkBlockableReadSequence(RingbufferContainer.java:176)
at
com.hazelcast.ringbuffer.impl.operations.ReadManyOperation.beforeRun(ReadManyOperation.java:55)
at
com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:131)
at
com.hazelcast.spi.impl.operationexecutor.classic.OperationThread.processOperation(OperationThread.java:154)
at
com.hazelcast.spi.impl.operationexecutor.classic.OperationThread.process(OperationThread.java:110)
at
com.hazelcast.spi.impl.operationexecutor.classic.OperationThread.doRun(OperationThread.java:101)
at
com.hazelcast.spi.impl.operationexecutor.classic.OperationThread.run(OperationThread.java:76)


[1].
https://github.com/hazelcast/hazelcast/blob/master/hazelcast/src/main/java/com/hazelcast/ringbuffer/impl/RingbufferContainer.java

Thanks

-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* 
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] [DEV][MB][MQTT] How to handle permission denied to subscribe a topic due to tenancy

2015-10-02 Thread Hasitha Hiranya
Hi,

Yes, Connection Refused, not authorized is the best we can do.

@Pamod, any batter alternative?

Thanks!

On Fri, Oct 2, 2015 at 10:55 PM, Yasassri Ratnayake 
wrote:

> Hi Pumudu,
>
> MQTT spec doesn't talk about a permission model, So IMO the closest error
> we can propagate to the client is "0x05 Connection Refused, not authorized".
>
>
> With Regards,
>
> On Fri, Oct 2, 2015 at 6:17 PM, Pumudu Ruhunage  wrote:
>
>> Hi All,
>>
>> If a tenant don't have permission to subscribe to a given topic (tenant '
>> a.com' try to subscribe to tenant 'b.com') currently it will keep
>> connected even though it's not subscribed, because user authentication was
>> successful. This is misleading to subscriber as no return code sent and
>> it's actively connected to broker.
>> AFAIK mqtt don't define how to handle tenancy scenarios in it's spec.
>> Couldn't find a definition in MQTT spec 3.1.0/3.1.1 on how to reject if
>> permission denied to subscribe to a given topic(due to tenancy).
>>
>> One option to handle this scenario is to send return code 5 (Connection
>> Refused, not authorized) to client if it doesn't have permission to
>> subscribe to given topic. This way client will disconnect if it don't have
>> permission to subscribe. Is this acceptable or are there any alternatives
>> to handle this scenario?
>>
>> jira https://wso2.org/jira/browse/MB-1409
>>
>> Thanks,
>> Pumudu
>> --
>> Pumudu Ruhunage
>> Associate Software Engineer | WSO2 Inc
>> M: +94 779 664493  | http://wso2.com
>>
>> ___
>> Dev mailing list
>> Dev@wso2.org
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> Yasassri Ratnayake
> Software Engineer - QA
> WSO2 Inc ; http://wso2.com
> lean.enterprise.middleware
> *Mobile : +94715933168*
> *Blogs : http://yasassriratnayake.blogspot.com
> *
> *http://wso2logs.blogspot.com *
>
> ___
> Dev mailing list
> Dev@wso2.org
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>


-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* 
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] [MB] Shared Subscription - unsubscribe operation - expected behavior

2015-08-30 Thread Hasitha Hiranya
By AMQP semantics "unsubscribe" call breaks into two subsequent calls.

1. subscription close
2. queue delete

If only one subscriber is there these calls does not matter. When there are
multiple (shared durable), with the existing impl I guess
we will delete the queue. Meaning rest of the subscribers will not get
messages.



On Mon, Aug 31, 2015 at 11:16 AM, Asanka Abeyweera 
wrote:

> I think we should follow what we do with the queue subscriptions. For
> queues we don't remove all the subscriptions when a single subscriber sends
> an unsubscribe request.
>
> Therefore +1 for option 2.
> .
>
> On Mon, Aug 31, 2015 at 11:02 AM, Pamod Sylvester  wrote:
>
>> Hi All,
>>
>> When enabled shared subscriptions, it creates subscription groups which
>> are distinguished through the client ids of the consumers. hence, for a
>> given durable topic it allows multiple subscriptions to be bound with the
>> same client id, in return when a message is delivered, for the consumers
>> bound with the same client id, the messages will be load balanced.
>>
>> The question is,
>>
>> in the event where one of the subscriptions with a given client id sends
>> an unsubscribe request,
>>
>> 1) should we remove all the other subscriptions bound to the topic with
>> the same client id or
>> 2) should we remove only that particular subscription ?
>>
>> To elaborate more, the following is an example,
>>
>> i.e let's say there're 10 subscriptions with the same client id bound to
>> a topic as shared durable subscriptions, if the 10th subscriber sends a
>> un-subscription request should we remove all other 9 subscriptions
>> belonging to the group or should we remove only that particular
>> subscription and eventually remove the underlaying queue which persists
>> offline messages when we identify when the request is sent by the last
>> subscription belonging to the shared subscription group (client id).
>>
>> What should be the best way to handle this ?
>>
>> Thanks,
>> Pamod
>> --
>> *Pamod Sylvester *
>>
>> *WSO2 Inc.; http://wso2.com *
>> cell: +94 77 7779495
>>
>
>
>
> --
> Asanka Abeyweera
> Software Engineer
> WSO2 Inc.
>
> Phone: +94 712228648
> Blog: a5anka.github.io
>



-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* 
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] [MB] How to clean up non-durable topic subscriptions if MB node killed in cluster setup

2015-08-23 Thread Hasitha Hiranya
Hi Pumudu,

LocalSubscriptions are local to the node. You can deliver messages only to
the Localsubscriptions. Clustersubscription is the object carrying basic
info about subscriptions which does not have an actual channel associated
with it.

To solve the problem I have introduce a method to get a mock local
subscription using the cluster subscription.

Thanks

On Tue, Aug 18, 2015 at 6:22 PM, Pumudu Ruhunage pum...@wso2.com wrote:

 Adding some info to first question.
 As I understood there are two types of andes subscriptions for cluster and
 local. When I try to call removeLocalSubscription() inside
 createDisconnectOrRemoveClusterSubscription() to remove subscriptions from
 local database i'm getting following exception[1].
 This prevents removing redundant subscriptions from database during
 startup while initializing in cluster mode.

 Why do we need two type of andes subscriptions? can't we keep same
 subscription type for both cluster and local in MB?



 [1] Caused by: java.lang.ClassCastException:
 org.wso2.andes.subscription.BasicSubscription cannot be cast to
 org.wso2.andes.kernel.LocalSubscription

 at
 org.wso2.andes.subscription.SubscriptionStore.removeLocalSubscription(SubscriptionStore.java:645)

 at
 org.wso2.andes.subscription.SubscriptionStore.createDisconnectOrRemoveClusterSubscription(SubscriptionStore.java:487)

 at
 org.wso2.andes.kernel.AndesSubscriptionManager.updateClusterSubscriptionMaps(AndesSubscriptionManager.java:234)

 at
 org.wso2.andes.server.cluster.coordination.ClusterCoordinationHandler.handleClusterSubscriptionsChanged(ClusterCoordinationHandler.java:134)

 at
 org.wso2.andes.kernel.AndesSubscriptionManager.notifyClusterSubscriptionHasChanged(AndesSubscriptionManager.java:298)

 at
 org.wso2.andes.kernel.AndesSubscriptionManager.reloadSubscriptionsFromStorage(AndesSubscriptionManager.java:275)

 at
 org.wso2.andes.kernel.AndesRecoveryTask.reloadSubscriptions(AndesRecoveryTask.java:188)

 at
 org.wso2.andes.kernel.AndesRecoveryTask.recoverExchangesQueuesBindingsSubscriptions(AndesRecoveryTask.java:94)

 at
 org.wso2.andes.kernel.AndesKernelBoot.syncNodeWithClusterState(AndesKernelBoot.java:443)

 at
 org.wso2.andes.kernel.AndesKernelBoot.bootAndesKernel(AndesKernelBoot.java:116)

 at org.wso2.andes.server.Broker.startupImpl(Broker.java:290)



 Thanks,
 Pumudu

 On Tue, Aug 18, 2015 at 4:43 PM, Pumudu Ruhunage pum...@wso2.com wrote:

 Hi All,

 I faced two issues while fixing this.

 1. There is a method for clear cluster subscriptions
 ('closeAllClusterSubscriptionsOfNode()' in 'andesSubscriptionManager')
 while initializing a cluster node. But it dosen't clean up database when
 executed. Is there a specific reason not to delete non-durable
 subscriptions from database when call this method?

 2. Currently all subscriptions(durable/non-durable) are stored in
 MB_DURABLE_SUBSCRIPTION table. Is there a reason for this? Can't we change
 this table name to something meaningful if we continue to keep all
 subscriptions in same table?

 WDYT?

 Thanks,
 Pumudu

 On Thu, Aug 13, 2015 at 2:41 PM, Pumudu Ruhunage pum...@wso2.com wrote:

 Hi All,

 Thanks for the inputs. +1 for implementing both cases.
 will do both implementations.

 Regards,
 Pumudu

 On Thu, Aug 13, 2015 at 11:40 AM, Hemika Kodikara hem...@wso2.com
 wrote:

 Hi All,

 We have already done a similar implementation for durable topics on
 member removed.

 +1 for Asanka's suggestion to remove non-topic subscriptions on both
 occasions.

 Regards,
 Hemika

 Hemika Kodikara
 Software Engineer
 WSO2 Inc.
 lean . enterprise . middleware
 http://wso2.com

 Mobile : +9477762

 On Thu, Aug 13, 2015 at 11:09 AM, Asitha Nanayakkara asi...@wso2.com
 wrote:


 On Thu, Aug 13, 2015 at 3:17 PM, Asanka Abeyweera asank...@wso2.com
 wrote:

 Hi Asitha,

 I don't think we can achieve this by only doing the cleanup at the
 coordinator selection point. We have to clean the topic subscriptions 
 for a
 non-coordinator node when it leaves (In this case a new coordinator will
 not be elected).

 Oh! yes agreed!


 On Thu, Aug 13, 2015 at 5:04 AM, Asitha Nanayakkara asi...@wso2.com
 wrote:



 On Wed, Aug 12, 2015 at 10:53 PM, Asanka Abeyweera 
 asank...@wso2.com wrote:

 Hi Pumudu,

 I think we have to do the clean up in both places. Case 1 is
 required when the only node in the cluster leaves and come back. Case 
 2 is
 required when a single node leaves in a multi node cluster.

 On Wed, Aug 12, 2015 at 5:38 PM, Pumudu Ruhunage pum...@wso2.com
 wrote:

 Hi,

 Currently if MB node got killed unexpectedly non-durable topic
 subscriptions bind to that node will remain in cluster. This can cause
 unexpected behaviors in cluster since that node has already removed.

 IMO these topic subscriptions can clean up in two methods.

 1. During each MB node start up, remove all non-durable topic
 subscriptions for it's local node id. (This will ensure newly started 
 node
 won't receive any non-durable topic messages related to 

[Dev] Message loss during failover when nodes are killed - complex edge cases

2015-07-14 Thread Hasitha Hiranya
Hi Asitha,

I want to know in high level what happens to slots when a node is killed.

1. A new slot coordinator should be elected. Until then other nodes might
connect to that node.


2015-07-14 17:59:18,207] ERROR {org.wso2.andes.thrift.MBThriftClient} -
 Could not connect to the Thrift Server
10.100.1.146:7611java.net.ConnectException:
Connection refused
org.apache.thrift.transport.TTransportException: java.net.ConnectException:
Connection refused
at org.apache.thrift.transport.TSocket.open(TSocket.java:187)
at
org.wso2.andes.thrift.MBThriftClient.reConnectToServer(MBThriftClient.java:281)
at org.wso2.andes.thrift.MBThriftClient.getSlot(MBThriftClient.java:78)
at
org.wso2.andes.kernel.slot.SlotCoordinatorCluster.getSlot(SlotCoordinatorCluster.java:44)
at
org.wso2.andes.kernel.slot.SlotDeliveryWorker.requestSlot(SlotDeliveryWorker.java:301)
at
org.wso2.andes.kernel.slot.SlotDeliveryWorker.run(SlotDeliveryWorker.java:109)
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: 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 org.apache.thrift.transport.TSocket.open(TSocket.java:182)
... 8 more
[2015-07-14 17:59:18,210] ERROR
{org.wso2.andes.kernel.slot.SlotDeliveryWorker} -  Error occurred while
connecting to the thrift coordinator Coordinator has changed
org.wso2.andes.kernel.slot.ConnectionException: Coordinator has changed
at org.wso2.andes.thrift.MBThriftClient.getSlot(MBThriftClient.java:83)
at
org.wso2.andes.kernel.slot.SlotCoordinatorCluster.getSlot(SlotCoordinatorCluster.java:44)
at
org.wso2.andes.kernel.slot.SlotDeliveryWorker.requestSlot(SlotDeliveryWorker.java:301)
at
org.wso2.andes.kernel.slot.SlotDeliveryWorker.run(SlotDeliveryWorker.java:109)
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:
java.net.SocketException: Connection reset
at
org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:129)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:86)
at
org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:429)
at
org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:318)
at
org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:219)
at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:69)
at
org.wso2.andes.thrift.slot.gen.SlotManagementService$Client.recv_getSlotInfo(SlotManagementService.java:101)
at
org.wso2.andes.thrift.slot.gen.SlotManagementService$Client.getSlotInfo(SlotManagementService.java:87)
at org.wso2.andes.thrift.MBThriftClient.getSlot(MBThriftClient.java:73)
... 6 more
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:196)
at java.net.SocketInputStream.read(SocketInputStream.java:122)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:275)
at java.io.BufferedInputStream.read(BufferedInputStream.java:334)
at
org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:127)
... 14 more
[2015-07-14 17:59:18,211] ERROR {org.wso2.andes.thrift.MBThriftClient} -
 Could not initialize the Thrift client. java.net.ConnectException:
Connection refused
org.apache.thrift.transport.TTransportException: java.net.ConnectException:
Connection refused
at org.apache.thrift.transport.TSocket.open(TSocket.java:187)
at
org.wso2.andes.thrift.MBThriftClient.getServiceClient(MBThriftClient.java:225)
at
org.wso2.andes.thrift.MBThriftClient.updateMessageId(MBThriftClient.java:117)
at
org.wso2.andes.kernel.slot.SlotCoordinatorCluster.updateMessageId(SlotCoordinatorCluster.java:53)
at
org.wso2.andes.kernel.slot.SlotMessageCounter.submitSlot(SlotMessageCounter.java:203)
at
org.wso2.andes.kernel.slot.SlotMessageCounter$1.run(SlotMessageCounter.java:103)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
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

Re: [Dev] Issue in removing messages of non durable topics

2015-07-06 Thread Hasitha Hiranya
@Pamod,

Any idea on this?

Thanks

On Mon, Jul 6, 2015 at 4:30 PM, Hasitha Hiranya hasit...@wso2.com wrote:

 Hi,

 Identified an issue regarding message purging when last subscriber for a
 topic is disconnected from broker cluster.

 @org.wso2.andes.kernel.OrphanedMessageHandler


 private void removeMessagesOfDestinationForNode(String destination,
 String ownerName,
 boolean isTopic) throws AndesException {

 try {

 Long startMessageID = null;
 Long endMessageID = null;

 //Will first retrieve the last unassigned slot id
 String nodeID =
 ClusterResourceHolder.getInstance().getClusterManager().getMyNodeID();
 //Will get the storage queue name
 *String storageQueue =
 AndesUtils.getStorageQueueForDestination(destination, nodeID, isTopic);*
 *//We get the relevant slot from the coordinator if running on
 cluster mode*
 *Slot unassignedSlot =
 MessagingEngine.getInstance().getSlotCoordinator().getSlot(storageQueue);*
 *//We need to get the starting message ID to inform the DB to
 start slicing the message from there*
 *//This step would be done in order to ensure that tombstones
 will not be fetched during the querying*
 *//operation*
 *startMessageID = unassignedSlot.getStartMessageId();*
 endMessageID = unassignedSlot.getEndMessageId();

 // This is a class used by AndesSubscriptionManager. Andes
 Subscription Manager is behind Disruptor layer.
 // Hence the call should be made to MessagingEngine NOT Andes.
 // Calling Andes methods from here will lead to probable
 deadlocks if Futures are used.
 // NOTE: purge call should be made to MessagingEngine not Andes
 if (0  endMessageID) {
 //If the slot id is 0, which means for the given storage
 queue there're no unassigned slots which means
 //we don't need to purge messages in this case
 //The purpose of purge operation is to make sure that
 unassigned slots will be removed if no subs exists
 MessagingEngine.getInstance().purgeMessages(destination,
 ownerName, isTopic, startMessageID);
 }
 } catch (ConnectionException e) {
 String mesage = Error while establishing a connection with
 the thrift server;
 log.error(mesage);
 throw new AndesException(mesage, e);
 }

 }

 Why we need a start message id here ?
 What about purging the whole internal queue (related to topic) ?

 *MessagingEngine.getInstance().purgeMessages(destination, ownerName,
 isTopic, 0);*

 Thanks
 --
 *Hasitha Abeykoon*
 Senior Software Engineer; WSO2, Inc.; http://wso2.com
 *cell:* *+94 719363063*
 *blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com




-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] WSO2 Committers += Pumudu Ruhunage

2015-06-24 Thread Hasitha Hiranya
Congratulations Pumudu!!

On Wed, Jun 24, 2015 at 8:51 AM, Akalanka Pagoda Arachchi 
darsha...@wso2.com wrote:

 Congratz Pumudu...

 On Wed, Jun 24, 2015 at 7:16 AM, Pranavan Theivendiram 
 pranavan...@cse.mrt.ac.lk wrote:

 Congratulations Pumudu :)

 *T. Pranavan*
 *BSc Eng Undergraduate| Department of Computer Science  Engineering
 ,University of Moratuwa*
 *Mobile| *0775136836

 On 24 June 2015 at 16:44, Hemika Kodikara hem...@wso2.com wrote:

 Congratulations Pumudu!

 Hemika Kodikara
 Software Engineer
 WSO2 Inc.
 lean . enterprise . middleware
 http://wso2.com

 Mobile : +9477762

 On Wed, Jun 24, 2015 at 4:32 PM, Sasikala Kottegoda sasik...@wso2.com
 wrote:


 Officially congratulations Pumudu!!! :)


 On Wed, Jun 24, 2015 at 10:59 AM, Ramith Jayasinghe ram...@wso2.com
 wrote:

 Hi Pumudu,
 Congratulations!
 It is with great pleasure that we welcome you as a WSO2 committer.
 Keep up the good work!
 regards,

 --
 Ramith Jayasinghe
 Technical Lead
 WSO2 Inc., http://wso2.com
 lean.enterprise.middleware

 E: ram...@wso2.com



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




 --
 Sasikala Kottegoda
 *Software Engineer*
 WSO2 Inc., http://wso2.com/
 lean. enterprise. middleware
 Mobile: +94 774835928/712792401

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



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



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




 --
 *Darshana Akalanka Pagoda Arachchi,*
 *Software Engineer*
 *078-4721791*

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




-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] [Architecture] Suggestion to add a separate DLC table for WSO2MB in order to enhance performance

2015-06-17 Thread Hasitha Hiranya
Hi Sasikala,

+1 for the idea.

The respective cassandra column family (DLCMetaData) structure will be the
same as the current cassandra MetaData column family. Each row will have
storageQueue as the key, each message as a column with the message_id as
the column name and metadata as the value as follows:

How does it store messages in Cassandra in current impl?

Thanks




On Wed, Jun 17, 2015 at 4:22 AM, Sasikala Kottegoda sasik...@wso2.com
wrote:

 Hi all,

 Currently WSO2MB stores message metadata in a single table with the
 following attributes:

1. MESSAGE_ID
2. QUEUE_ID
3. MESSAGE_METADATA

 Also, WSO2MB supports movement of messages to a DLC (dead letter channel)
 when a problem is identified in the receiver's end. When moving a message
 from a queue to a DLC, the DLCQueueName (which is tenant specific) is
 retrieved, the metadata row under the relevant storageQueue is removed and
 a new metadata row is added with the QUEUE_ID set to the DLC queue.

 Therefore, when we need to,

- reroute messages for a specific queue
- purge a particular queue

 we need to retrieve MESSAGE_METADATA of each row with the QUEUE_ID set to
 any DLCQueue and extract the actual storageQueue (The storageQueue is one
 of the information stored under the MESSAGE_METADATA attribute). This
 operation is highly computationally expensive since we need to read all
 rows for all DLC queues even though we might actually have a few relevant
 rows.

 What I'm suggesting is to have a seperate MB_DLC_METADATA table with the
 following attributes (same as the MB_METADATA table):

1. MESSAGE_ID
2. SOTRAGE_QUEUE_ID
3. MESSAGE_METADATA

 The respective cassandra column family (DLCMetaData) structure will be the
 same as the current cassandra MetaData column family. Each row will have
 storageQueue as the key, each message as a column with the message_id as
 the column name and metadata as the value as follows:

 Queue_ID

 m_id1

 m_id2

 m_id3

 meta1

 meta2

 meta3


 By having this we will be able to easily filter out messages by the
 storageQueue from which the messages were moved. Therefore, it will save a
 lot of time and memory in the previously mentioned scenarios and in any
 other DLC specific operations.

 Comments and suggestions are highly valued.

 Thank you

 --
 Sasikala Kottegoda
 *Software Engineer*
 WSO2 Inc., http://wso2.com/
 lean. enterprise. middleware
 Mobile: +94 774835928/712792401

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




-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] [Architecture] Suggestion to add a separate DLC table for WSO2MB in order to enhance performance

2015-06-17 Thread Hasitha Hiranya
Hi Sasikala,

OK. This means in RDBMS problem will be solved.
Thanks for clarification.

Thanks

On Wed, Jun 17, 2015 at 4:53 AM, Sasikala Kottegoda sasik...@wso2.com
wrote:

 Hi Hasitha,

 Each row has the storageQueue as the key, each message as a column with
 the message_id as the column name and metadata as the value. Same as the
 suggested new column family.

 Thank you

 On Wed, Jun 17, 2015 at 3:12 PM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 Hi Sasikala,

 +1 for the idea.

 The respective cassandra column family (DLCMetaData) structure will be
 the same as the current cassandra MetaData column family. Each row will
 have storageQueue as the key, each message as a column with the message_id
 as the column name and metadata as the value as follows:

 How does it store messages in Cassandra in current impl?

 Thanks




 On Wed, Jun 17, 2015 at 4:22 AM, Sasikala Kottegoda sasik...@wso2.com
 wrote:

 Hi all,

 Currently WSO2MB stores message metadata in a single table with the
 following attributes:

1. MESSAGE_ID
2. QUEUE_ID
3. MESSAGE_METADATA

 Also, WSO2MB supports movement of messages to a DLC (dead letter
 channel) when a problem is identified in the receiver's end. When moving a
 message from a queue to a DLC, the DLCQueueName (which is tenant specific)
 is retrieved, the metadata row under the relevant storageQueue is removed
 and a new metadata row is added with the QUEUE_ID set to the DLC queue.

 Therefore, when we need to,

- reroute messages for a specific queue
- purge a particular queue

 we need to retrieve MESSAGE_METADATA of each row with the QUEUE_ID set
 to any DLCQueue and extract the actual storageQueue (The storageQueue is
 one of the information stored under the MESSAGE_METADATA attribute). This
 operation is highly computationally expensive since we need to read all
 rows for all DLC queues even though we might actually have a few relevant
 rows.

 What I'm suggesting is to have a seperate MB_DLC_METADATA table with the
 following attributes (same as the MB_METADATA table):

1. MESSAGE_ID
2. SOTRAGE_QUEUE_ID
3. MESSAGE_METADATA

 The respective cassandra column family (DLCMetaData) structure will be
 the same as the current cassandra MetaData column family. Each row will
 have storageQueue as the key, each message as a column with the message_id
 as the column name and metadata as the value as follows:

 Queue_ID

 m_id1

 m_id2

 m_id3

 meta1

 meta2

 meta3


 By having this we will be able to easily filter out messages by the
 storageQueue from which the messages were moved. Therefore, it will save a
 lot of time and memory in the previously mentioned scenarios and in any
 other DLC specific operations.

 Comments and suggestions are highly valued.

 Thank you

 --
 Sasikala Kottegoda
 *Software Engineer*
 WSO2 Inc., http://wso2.com/
 lean. enterprise. middleware
 Mobile: +94 774835928/712792401

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




 --
 *Hasitha Abeykoon*
 Senior Software Engineer; WSO2, Inc.; http://wso2.com
 *cell:* *+94 719363063*
 *blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com




 --
 Sasikala Kottegoda
 *Software Engineer*
 WSO2 Inc., http://wso2.com/
 lean. enterprise. middleware
 Mobile: +94 774835928/712792401




-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] [ESB] ClientApiNonBlocking Property JMS Transport

2015-06-15 Thread Hasitha Hiranya
@Doc team,

Please review and make necessary changes.

Thanks

On Mon, Jun 15, 2015 at 1:22 PM, Akalanka Pagoda Arachchi 
darsha...@wso2.com wrote:

 Hi Rajkumar,

 You will need to use a blocking call when JMS transactions are involved.
 In other cases, JMS can be used without this.

 Furthermore, since Callout mediator is used when implementing JMS
 transactions, it will be a blocking call anyway. So this
 property documentation might need some changes.

 Thanks,
 Akalanka.

 On Mon, Jun 15, 2015 at 1:43 PM, Rajkumar Rajaratnam rajkum...@wso2.com
 wrote:

 Hi,

 Doc [1] says that removal of ClientApiNonBlocking property could be vital
 when queueing transports like JMS are involved.

 - Does it mean that we should always remove this property when JMS is
 involved somewhere in our proxy? Lets say, I am consuming messages using
 JMS and sending it out using JMS, do I still need to remove this property?
 Or do we need to remove this property only if ESB consumes messages using a
 streaming transports (like VFS) and sending it out using JMS? If yes, then
 doc seems to be confusing.

 Please share your thoughts on this.

 [1]
 https://docs.wso2.com/display/ESB481/Generic+Properties#GenericProperties-ClientApiNonBlockingBlocking

 Thanks.

 --
 Rajkumar Rajaratnam
 Committer  PMC Member, Apache Stratos
 Software Engineer, WSO2

 Mobile : +94777568639
 Blog : rajkumarr.com

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




 --
 *Darshana Akalanka Pagoda Arachchi,*
 *Software Engineer*
 *078-4721791*

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




-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] [MB] Revamping MB Test Framework to cut down time.

2015-06-13 Thread Hasitha Hiranya
+1 . For functionality testing in memory mode will be enough.
but proper unit tests should be there for every store in that case.

On Sat, Jun 13, 2015 at 12:10 AM, Ramith Jayasinghe ram...@wso2.com wrote:

 +1

 On Sat, Jun 13, 2015 at 1:59 AM, Akalanka Pagoda Arachchi 
 darsha...@wso2.com wrote:

 Hi Hemika,

 Also I think we can use a subset of all the available test cases in the
 in-memory mode rather than running them all again in the in-memory mode.
 Since in-memory mode does not guarantee the delivery and was suggested to
 be used as a developer testing mode rather than a production deployment
 mode, this would be fine.

 WDYT Ramith?

 Thanks,
 Akalanka.

 On Tue, Jun 9, 2015 at 7:24 AM, Dharshana Warusavitharana 
 dharsha...@wso2.com wrote:

 Hi Ramith,

 Yes TestNg provides the facility of running tests in parallel.
 Considering carbon servers the only possible level is in methods level
 you can achieve this by defining parallel property in testNg.xml as
 follows

 suite name=Test-method Suite parallel=methods thread-count=2 

 Since we are performing configuration level changes such as server
 startup and user deployment in listener level , parallel level test
 execution on Test and Suite level will not be possible.

 But you may be able to execute test methods parallel. But we have to
 test what will happen is depend on and priorities are used in method level.

 As per our experience your test suite must be matured and  100%
 confident before peeping out to this. When it come to test failure it is
 really hard to debug. So what i recommend at the moment is make the tests
 stable and confident before moving in to this.

 Thank you,
 Dharshana.






 On Tue, Jun 9, 2015 at 3:19 PM, Waruna Perera waru...@wso2.com wrote:

 Adding Krishantha

 On Tue, Jun 9, 2015 at 1:41 PM, Ramith Jayasinghe ram...@wso2.com
 wrote:

 generally very nice to do this.
 @Krishantha,
 Can we run integration tests in parallel against a carbon server?

 On Tue, Jun 9, 2015 at 1:34 PM, Hemika Kodikara hem...@wso2.com
 wrote:

 Hi All,

 When executing the MB integration tests, we noticed that it takes a
 long time to get executed. I have several suggestions that could help us 
 to
 cut down time.

 1. Running tests classes in parallel [1]. Here we have to state how
 many classes to run in parallel.

 2. Disable message receiving loggings in test cases. This can either
 be disabled or be turned into debug logs. If we are changing it to debug
 logs, we would need a way to enable debug logs(Have to look into this).

 3. Reduce the number of messages published in each test case.

 What are your thoughts on the above suggestions ?

 [1] -
 http://howtodoinjava.com/2014/12/02/testng-executing-parallel-tests/

 Regards,
 Hemika

 Hemika Kodikara
 Software Engineer
 WSO2 Inc.
 lean . enterprise . middleware
 http://wso2.com

 Mobile : +9477762




 --
 Ramith Jayasinghe
 Technical Lead
 WSO2 Inc., http://wso2.com
 lean.enterprise.middleware

 E: ram...@wso2.com
 P: +94 777542851


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




 --
 Waruna Perera
 Senior Software Engineer - Test Automation
 Mobile: +94 77 3867037
 WSO2, Inc.; http://wso2.com/
 lean . enterprise . middlewear.

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




 --

 Dharshana Warusavitharana
 Senior Software Engineer , Test Automation
 WSO2 Inc. http://wso2.com
 email : dharsha...@wso2.com dharsha...@wso2.com
 Tel  : +94 11 214 5345
 Fax :+94 11 2145300
 cell : +94770342233
 blog : http://dharshanaw.blogspot.com

 lean . enterprise . middleware

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




 --
 *Darshana Akalanka Pagoda Arachchi,*
 *Software Engineer*
 *078-4721791 078-4721791*




 --
 Ramith Jayasinghe
 Technical Lead
 WSO2 Inc., http://wso2.com
 lean.enterprise.middleware

 E: ram...@wso2.com
 P: +94 777542851


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




-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] [MB] Mechanism to prevent reading from the server until flow control is applied to all publishers

2015-06-05 Thread Hasitha Hiranya
+1 for giving the control to protocol level.
AMQP has its own way of flow controlling. Some protocols may not have it
OOB.


On Fri, Jun 5, 2015 at 7:06 AM, Pamod Sylvester pa...@wso2.com wrote:

 for AMQP isn't it possible to apply TCP back pressure and then release
 each channel when invoking flow control for individual publishers.

 I am not sure whether the capability is provided out of the box in MINA,

 i.e what i am suggesting is somewhat a solution where all acceptance
 handlers would be notified when global flow controlling is triggered at a
 glance it would stop reading from all the channels. Then when we iterate
 through each publisher channel to apply flow controlling we release each
 corresponding individual channel for reading then trigger the flow
 controlling operation.

 The goal is to prevent messages from being bombarded if the buffer is
 full, db has timed out etc. Mainly to avoid broker from going OOM at such
 situations.

 also, if the above functionality is not provided out of the box this will
 be too complex to implement :)

 Thanks,
 Pamod

 On Fri, Jun 5, 2015 at 5:04 PM, Asitha Nanayakkara asi...@wso2.com
 wrote:

 Yes. when we stop auto read we won't be able to read. But in MQTT there
 is no flow control mechanism. Hence, we can use stop auto read to do flow
 control (publishers)
 And I agree this may not work in AMQP since we have the flow control
 mechanism within the protocol itself. We may need to send some packets back
 and forth.

 What I suggest is to give that extra bit of information (global flow
 control is enabled or disabled) to the protocol so that at protocol level
 we can take advantage of that information if that is applicable. If not we
 may have to iterate through all the publishers.

 On Fri, Jun 5, 2015 at 4:51 PM, Asanka Abeyweera asank...@wso2.com
 wrote:

 Hi Asitha,

 Thank you for the explanation. Say we go ahead an stop auto read in
 Netty (or Mina) when global flow control triggered. Will it be an issue to
 send the flow control enable messages to publishers since some packets have
 to go back and forth?

 On Fri, Jun 5, 2015 at 4:35 PM, Asitha Nanayakkara asi...@wso2.com
 wrote:

 Hi Asanka,

 For AMQP yes we need to iterate. Since we need to block each channel
 separately.  At the moment with TCP back pressure for MQTT, what Pamod is
 suggesting is to block all the publishers at once. With a separate listener
 for global flow control we can give the protocol developer the ability do
 his own implementation when Andes core notifies global flow control limit
 is reached.

 @Pamod correct me if I misunderstood the use-case.

 Thanks,
 Asitha


 On Fri, Jun 5, 2015 at 3:24 PM, Asanka Abeyweera asank...@wso2.com
 wrote:

 Hi Asitha,

 Event with this approach, at the end doesn't it boils down to
 iterating over a list to inform the listeners.



 On Fri, Jun 5, 2015 at 3:03 PM, Asitha Nanayakkara asi...@wso2.com
 wrote:

 Hi Pamod,

 In Andes core, we can have a listener to inform global flow control.
 Similar to FlowControlListner. With that when the global flow control 
 limit
 is reached we can invoke this listener interface. In the protocol level
 implementation of this global flow control listener interface, we can
 either iterate or directly flow control all publishers depending on the
 protocol capability. WDYT?

 Thanks,
 Asitha

 On Fri, Jun 5, 2015 at 2:45 PM, Pamod Sylvester pa...@wso2.com
 wrote:

 Hi All,

 Flow control is activated when the distruptor buffer is full,
 database encounters an error etc. When its being applied, currently it
 iterates through the list of publisher channels, notifying the 
 publishers
 individually to flow control.

 in the FlowControlManager its illustrated through the following code
 segment.

 private synchronized void
 blockListenersOnBufferBasedFlowControl() {
 if (!globalBufferBasedFlowControlEnabled) {
 globalBufferBasedFlowControlEnabled = true;

 for (AndesChannel channel : channels) {

 channel.notifyGlobalBufferBasedFlowControlActivation();
 }

 scheduledBufferBasedFlowControlTimeoutFuture =
 executor.schedule(flowControlTimeoutTask, 1, TimeUnit.MINUTES);
 log.info(Global buffer based flow control enabled.);
 }
 }


 Since its being iterated and flow controlled individually there
 could be a slight latency when applying flow control to the last 
 publisher
 in the list. (Until flow control is applied the publisher/s would 
 continue
 to send messages)

 The question is, lets say there're  1 of publishers which need
 to be flow controlled at a given time. Will there be a possibility for 
 the
 broker to go OOM due to the above mentioned reason. i.e flow control is
 applied due to buffer nearly became full ?

 If that's the case, what would be the best way to deal with it ?

 One suggestion would be to at a glance, stop the server from
 accepting messages totally.( i.e in Netty server we could do it by 
 adding a
 

Re: [Dev] Handling version change in C-App

2015-06-04 Thread Hasitha Hiranya
Hi,

This is one of the solutions people are using.

Name the CAR file as xxx-car-v-1.0
Name all the artifacts inside it as artifact-xxx-v-1.0

Then deploy CAR files. Old ones will not be replaced. The references in
each artifact to one another should be updated.
We can do this to endpoints.
But doing this to all will be cumbersome.

Thanks

On Thu, Jun 4, 2015 at 8:11 AM, Manoj Kumara ma...@wso2.com wrote:

 Hi Himasha,
 Please see my inline comments,


 The scenario that we come across is as below.

  1. Deploy a C-App containing BPEL artifacts
  2. Invoke an instance (instance 1)
  3. Redeploy the C-App with updated BPEL artifacts.
  4.When redeploying the previous C-App is undeployed  which removes the
  invoked instance (instance 1) as well.


 This is the expected behavior. Since CApp get redeployed previously
 deployed artifacts also get un-deployed.


 For our BPEL C-App deployer we have implemented AppDeploymentHandler. We
 are unable to identify whether the undeployment is a direct undeployment (
 user undeploying the C-App from console) or if it is getting undeployed due
 to a new upload of the same C-App. We are unable to handle the version
 change since AppDeploymentHandler only provides  deployArtifacts
 and undeployArtifacts methods.


  At the moment we don't have CApp version support. When an updated CApp
 get uploaded previous one get undeployed and new one will be deployed.

 Regards,
 Manoj

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




-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] [ESB] JMS Inbound Endpoint Topic Consumer Configuration

2015-05-27 Thread Hasitha Hiranya
Hi,

Is this something we need to document?

Thanks

On Wed, May 27, 2015 at 10:07 AM, eranda rajapaksha erand...@gmail.com
wrote:

 Hi,

 It works fine after changing the cache level.

 Thanks a lot!

 On Wed, May 27, 2015 at 12:13 PM, Malaka Silva mal...@wso2.com wrote:

 Hi Eranda,

 Increase the transport.jms.CacheLevel to maximum and check.

 You should see registered consumers in activemq topic ui view.

 On Tue, May 26, 2015 at 10:20 PM, eranda rajapaksha erand...@gmail.com
 wrote:

 Hi,

 I am trying to configure WSO2 ESB JMS inbound endpoint as a Topic
 Listener with ActiveMQ broker.
 I used following configuration on wso2esb-4.9.0-M8-SNAPSHOT and it
 worked fine, but when I use the same configuration with wso2esb-4.9.0-ALPHA
 it doesn't work. (it doesn't consume messages from the given ActiveMQ topic)
 Is there any change that I have to do in the configuration with
 wso2esb-4.9.0-ALPHA?

 ?xml version=1.0 encoding=UTF-8?
 definitions xmlns=http://ws.apache.org/ns/synapse;
registry provider=org.wso2.carbon.mediation.registry.WSO2Registry
   parameter name=cachableDuration15000/parameter
/registry
taskManager
 provider=org.wso2.carbon.mediation.ntask.NTaskTaskManager
   parameter name=cachableDuration15000/parameter
/taskManager
sequence name=request onError=fault
   call
  endpoint
 address uri=
 http://localhost:9000/services/SimpleStockQuoteService;
  format=soap12/
  /endpoint
   /call
   drop/
/sequence
sequence name=fault
   log level=full
  property name=MESSAGE value=Executing default
 #34;fault#34; sequence/
  property name=ERROR_CODE
 expression=get-property('ERROR_CODE')/
  property name=ERROR_MESSAGE
 expression=get-property('ERROR_MESSAGE')/
   /log
   drop/
/sequence
sequence name=main
   log level=full/
   drop/
/sequence
inboundEndpoint name=jms_inbound
 sequence=request
 onError=fault
 protocol=jms
 suspend=false
   parameters
  parameter name=interval1000/parameter
  parameter
 name=transport.jms.DestinationexampleTopic/parameter
  parameter name=transport.jms.CacheLevel1/parameter
  parameter
 name=transport.jms.ConnectionFactoryJNDINameTopicConnectionFactory/parameter
  parameter name=sequentialtrue/parameter
  parameter
 name=java.naming.factory.initialorg.apache.activemq.jndi.ActiveMQInitialContextFactory/parameter
  parameter
 name=java.naming.provider.urltcp://localhost:61616/parameter
  parameter
 name=transport.jms.SessionAcknowledgementAUTO_ACKNOWLEDGE/parameter
  parameter
 name=transport.jms.SessionTransactedfalse/parameter
  parameter
 name=transport.jms.ConnectionFactoryTypetopic/parameter
   /parameters
/inboundEndpoint
 /definitions


 Thank you!

 --
 *Eranda Rajapakshe*
 Computer Science and Engineering Undergraduate,
 University of Moratuwa.
 Tel : +94784822608
 Email : erand...@gmail.com eran...@wso2.com

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




 --

 Best Regards,

 Malaka Silva
 Senior Tech Lead
 M: +94 777 219 791
 Tel : 94 11 214 5345
 Fax :94 11 2145300
 Skype : malaka.sampath.silva
 LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77
 Blog : http://mrmalakasilva.blogspot.com/

 WSO2, Inc.
 lean . enterprise . middleware
 http://www.wso2.com/
 http://www.wso2.com/about/team/malaka-silva/
 http://wso2.com/about/team/malaka-silva/

 Save a tree -Conserve nature  Save the world for your future. Print this
 email only if it is absolutely necessary.




 --
 *Eranda Rajapakshe*
 Computer Science and Engineering Undergraduate,
 University of Moratuwa.
 Tel : +94784822608
 Email : erand...@gmail.com eran...@wso2.com

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




-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] Define Tomcat Context Path

2015-05-22 Thread Hasitha Hiranya
Hi Akalanka,

Following might be useful.

http://stackoverflow.com/questions/7276989/howto-set-the-context-path-of-a-web-application-in-tomcat-7-0

Thanks

On Fri, May 22, 2015 at 3:17 PM, Akalanka Pagoda Arachchi 
darsha...@wso2.com wrote:

 Hi Kasun,

 Thank you, but rather I wanted to do this in tomcat itself. Not in our AS.

 Thanks,
 Akalanka.

 On Fri, May 22, 2015 at 3:39 PM, KasunG Gajasinghe kas...@wso2.com
 wrote:


 Currently, AS does not support that feature.

 On Fri, May 22, 2015 at 1:08 PM, Akalanka Pagoda Arachchi 
 darsha...@wso2.com wrote:

 Hi all,

 I am trying to deploy a web app in tomcat 8 where the context path
 should be different from the war file name.

 We should be able to do this by adding a context.xml file in META-INF
 folder in we app according to [1]. I created this file with the following
 content, but this does not change the context path to EdwDataServices.

 Any idea on this?

 ?xml version=1.0 encoding=UTF-8?
 Context path=/EdwDataServices
 docBase=webapps/EdwDataServiceWeb-1.0.0-SNAPSHOT.war /

 Thanks,
 Akalanka.

 [1] - https://tomcat.apache.org/tomcat-8.0-doc/config/context.html

 --
 *Darshana Akalanka Pagoda Arachchi,*
 *Software Engineer*
 *078-4721791 078-4721791*

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




 --

 *Kasun Gajasinghe*Senior Software Engineer, WSO2 Inc.
 email: kasung AT spamfree wso2.com
 linked-in: http://lk.linkedin.com/in/gajasinghe
 blog: http://kasunbg.org






 --
 *Darshana Akalanka Pagoda Arachchi,*
 *Software Engineer*
 *078-4721791*

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




-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] [MB] 'jmstansport' sample in MB is not related to JMS.

2015-05-21 Thread Hasitha Hiranya
AFAIR In good old days these two were mandatory tests for the platform.
Now the things has changed.
Thus +1

On Fri, May 22, 2015 at 12:10 AM, Ramith Jayasinghe ram...@wso2.com wrote:

 HI,
  I'm in favour of deprecating this one.
  @Shammi, @Hasitha: thoughts?

 On Thu, May 21, 2015 at 2:53 PM, Hemika Kodikara hem...@wso2.com wrote:

 Hi All,

 In MB 3.0.0, we have a sample called jmstansport. As far as I
 understood in this sample was that a service is hosted using a wsdl and its
 methods are called using generated stubs. So in my opinion, this is not
 related to JMS.

 I was looking into the sample because of the following JIRA :
 https://wso2.org/jira/browse/MB-536

 Initially I got a different exception which I was able to fix using the
 following jar.

 axis2-transport-jms-1.1.0-wso2v11.jar

 My concern is that should we keep this in MB samples ?

 Correct me if my findings are wrong.

 Source code for sample [1].

 [1] -
 https://github.com/wso2/product-mb/tree/master/modules/samples/product/jmstransport

 Regards,
 Hemika

 Hemika Kodikara
 Software Engineer
 WSO2 Inc.
 lean . enterprise . middleware
 http://wso2.com

 Mobile : +9477762




 --
 Ramith Jayasinghe
 Technical Lead
 WSO2 Inc., http://wso2.com
 lean.enterprise.middleware

 E: ram...@wso2.com
 P: +94 777542851




-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] [MB] Error while starting MB 3.0.0 cluster setup

2015-05-20 Thread Hasitha Hiranya
Better to highlight this in our docs as well.


On Wed, May 20, 2015 at 11:16 PM, Indika Sampath indi...@wso2.com wrote:

 I looked into master-datasources.xml and there are two RDBMS datasources
 configured for WSO2MBStoreDB (H2 and MySQL). H2 is default database we
 distributed with MB pack. Please comment it [1] before you configure any
 other RDBMS datasource.

 !-- WSO2 MB embedded H2 Store --
 datasource
 nameWSO2_MB_STORE_DB/name
 descriptionThe datasource used for message broker
 database/description
 jndiConfig
 nameWSO2MBStoreDB/name
 /jndiConfig
 definition type=RDBMS
 configuration

 urljdbc:h2:repository/database/WSO2MB_DB;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=6/url
 driverClassNameorg.h2.Driver/driverClassName
 maxActive50/maxActive
 maxWait6/maxWait
 testOnBorrowtrue/testOnBorrow
 validationQuerySELECT 1/validationQuery
 validationInterval3/validationInterval
 /configuration
 /definition
 /datasource

 Cheers!


 On Thu, May 21, 2015 at 8:33 AM, Amalka Subasinghe ama...@wso2.com
 wrote:

 attached broker.xml and master-datasources.xml files

 On Wed, May 20, 2015 at 11:31 PM, Hemika Kodikara hem...@wso2.com
 wrote:

 Hi Amalka,

 Can you attach the broker.xml file and master-datasources.xml files ?

 Regards,
 Hemika

 Hemika Kodikara
 Software Engineer
 WSO2 Inc.
 lean . enterprise . middleware
 http://wso2.com

 Mobile : +9477762

 On Wed, May 20, 2015 at 10:54 PM, Amalka Subasinghe ama...@wso2.com
 wrote:

 I'm using M7 pack. but I have to create the databases manually.

 On Wed, May 20, 2015 at 10:51 PM, Indika Sampath indi...@wso2.com
 wrote:

 Hi Amalka,

 You don't need to externally run db script. Below set of tables
 created when you start MB 3.0.0 pack with -Dsetup option. Which milestone
 pack did you configure ?

 MB_BINDING
 MB_CONTENT
 MB_DURABLE_SUBSCRIPTION
 MB_EXCHANGE
 MB_EXPIRATION_DATA
 MB_METADATA
 MB_NODE
 MB_QUEUE
 MB_QUEUE_COUNTER
 MB_QUEUE_MAPPING

 Cheers!

 On Wed, May 20, 2015 at 10:14 PM, Amalka Subasinghe ama...@wso2.com
 wrote:

 Hi,

 I'm trying to setup MB cluster with 2 MB nodes. When I start the MB
 node with -Dsetup following error was thrown.
 Do I need to create tables manually for wso2_mb (MB store db)?

 2015-05-20 22:01:04,676] ERROR
 {org.wso2.andes.server.registry.ApplicationRegistry} -
 org.wso2.andes.kernel.AndesException: Error occurred while retrieving all
 queue information.
 Exception during startup: java.lang.Exception:
 org.wso2.andes.kernel.AndesException: Error occurred while retrieving all
 queue information.
 java.lang.Exception: org.wso2.andes.kernel.AndesException: Error
 occurred while retrieving all queue information.
 at
 org.wso2.andes.server.registry.ApplicationRegistry.initialise(ApplicationRegistry.java:266)
 at
 org.wso2.andes.server.registry.ApplicationRegistry.initialise(ApplicationRegistry.java:147)
 at org.wso2.andes.server.Broker.startupImpl(Broker.java:147)
 at org.wso2.andes.server.Broker.startup(Broker.java:108)
 at org.wso2.andes.server.Main.startBroker(Main.java:218)
 at org.wso2.andes.server.Main.execute(Main.java:207)
 at org.wso2.andes.server.Main.init(Main.java:48)
 at org.wso2.andes.server.Main.main(Main.java:41)
 at
 org.wso2.carbon.andes.internal.QpidServiceComponent.startAndesBroker(QpidServiceComponent.java:324)
 at
 org.wso2.carbon.andes.internal.QpidServiceComponent.setHazelcastInstance(QpidServiceComponent.java:226)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
 at
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:606)
 at
 org.eclipse.equinox.internal.ds.model.ComponentReference.bind(ComponentReference.java:376)
 at
 org.eclipse.equinox.internal.ds.model.ServiceComponentProp.bindReference(ServiceComponentProp.java:432)
 at
 org.eclipse.equinox.internal.ds.InstanceProcess.dynamicBind(InstanceProcess.java:416)
 at
 org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:334)
 at
 org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)
 at
 org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)
 at
 org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)
 at
 org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
 at
 org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
 at
 

Re: [Dev] Serving static content is not working with WSO2 Application Server

2015-05-18 Thread Hasitha Hiranya
Hi,

The reasons being,

1. Try to get this done using configurations only
2. This web service should be able to deploy on every WSO2 server (i.e
including ESB). Writing a normal web app we cannot do that.
3. Wrting axis2 service could not return file content as plain text. It was
always wrapped with response and return tags.

Thanks

On Sat, May 16, 2015 at 1:50 AM, Kasun Gajasinghe kas...@wso2.com wrote:

 Hi,

 Can you try adding this as a normal webapp instead of defining it at
 server.xml?

 On May 15, 2015, at 3:14 PM, Hasitha Hiranya hasit...@wso2.com wrote:

 Hi Devs,

 I tried to follow [1].

 My /repostory/conf/tomcatcatalina-server.xml file look like this



   Host name=localhost unpackWARs=true deployOnStartup=false
 autoDeploy=false
 appBase=${carbon.home}/repository/deployment/server/webapps/
 *  Context
  docBase=/work/temp/wso2as-5.2.1/repository/conf/myfolder
 path=/test/ping / *
   Valve
 className=org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve/
   Valve className=org.apache.catalina.valves.AccessLogValve
 directory=${carbon.home}/repository/logs
prefix=http_access_ suffix=.log
pattern=combined /
   Valve
 className=org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve
 threshold=600/
   Valve
 className=org.wso2.carbon.tomcat.ext.valves.CompositeValve/
   Valve
 className=org.wso2.carbon.bam.webapp.stat.publisher.WebAppStatisticPublisherValve/
   Valve
 className=org.wso2.carbon.statistics.webapp.RequestIntercepterValve/
   /Host


 If i access

 http://localhost:9763/test/ping/test.xml


 It says 404 not found. If i apply this to tomcat 7.x, it works.

 Can you help me to understand why and get it working?

 [1]
 https://www.moreofless.co.uk/static-content-web-pages-images-tomcat-outside-war/

 Thanks

 --
 *Hasitha Abeykoon*
 Senior Software Engineer; WSO2, Inc.; http://wso2.com
 *cell:* *+94 719363063*
 *blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com




-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


[Dev] Serving static content is not working with WSO2 Application Server

2015-05-15 Thread Hasitha Hiranya
Hi Devs,

I tried to follow [1].

My /repostory/conf/tomcatcatalina-server.xml file look like this



  Host name=localhost unpackWARs=true deployOnStartup=false
autoDeploy=false
appBase=${carbon.home}/repository/deployment/server/webapps/
*  Context
 docBase=/work/temp/wso2as-5.2.1/repository/conf/myfolder
path=/test/ping / *
  Valve
className=org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve/
  Valve className=org.apache.catalina.valves.AccessLogValve
directory=${carbon.home}/repository/logs
   prefix=http_access_ suffix=.log
   pattern=combined /
  Valve
className=org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve
threshold=600/
  Valve
className=org.wso2.carbon.tomcat.ext.valves.CompositeValve/
  Valve
className=org.wso2.carbon.bam.webapp.stat.publisher.WebAppStatisticPublisherValve/
  Valve
className=org.wso2.carbon.statistics.webapp.RequestIntercepterValve/
  /Host


If i access

http://localhost:9763/test/ping/test.xml


It says 404 not found. If i apply this to tomcat 7.x, it works.

Can you help me to understand why and get it working?

[1]
https://www.moreofless.co.uk/static-content-web-pages-images-tomcat-outside-war/

Thanks

-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


[Dev] [IMPORTANT] Greasemonkey Tests for MB 3.0.0 - Fail Tolerance

2015-05-08 Thread Hasitha Hiranya
Hi,

I suggest we need to do $Subject before release of MB 3.0.0.
As MB is used for reliable messaging High availability and fault tolerance
is vital.

This is the test scenario:

1. Set up a cluster with three nodes (MB1,MB2.MB3)
2. Set up a failover publisher and a failover subscriber.
3. Graceful shutdown/ kill / network out (OS shutdown) MB1/MB2/MB3 one at a
time (connected server).

We should see

1. No or less spike in publisher throughput
2. No or less spike in subscriber throughput
3. Zero message loss altogether

If we pass this test, MB 3.0.0 is pretty stable and sound.

Thanks

-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


[Dev] Message processor - forward to a sequence

2015-05-03 Thread Hasitha Hiranya
Hi,

I am trying to forward a message to a sequence after receiving it from the
queue/topic using message processor.

How can we configure this?

I tried giving a sequence as an endpoint hoping it would work, but did not
(message processor deactivates not recognizing it)

[image: Inline image 1]

Is there a way to achieve this in ESB?

Thanks

-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] Message processor - forward to a sequence

2015-05-03 Thread Hasitha Hiranya
Hi Maheeka/Isuru,

Yes. I need to get the JMS message from the queue/topic and direct it to a
sequence rather than sending it to the BE directly.

If so, what are the alternative options here?
A JMS proxy? But I need reliable delivery. re-try configurations, re-try
interval etc.

Thanks

On Sun, May 3, 2015 at 12:49 PM, Isuru Udana isu...@wso2.com wrote:

 Hi Maheeka,

 On Sun, May 3, 2015 at 11:16 PM, Maheeka Jayasuriya mahe...@wso2.com
 wrote:

 Hi Hasitha,

 Use the message.processor.reply.sequence property to define the
 forwarding sequence.

 Reply sequence is to get the response received from the backend service. I
 thought Hasitha's requirement is to direct the message in the message
 store, to a sequence from the message processor.


 In management console click on Show Additional Parameters and provide
 sequence name to Reply sequence name parameter.

 Thanks,
 Maheeka

 [1] https://docs.wso2.com/display/ESB481/Message+Forwarding+Processor

 Maheeka Jayasuriya
 Software Engineer
 Mobile : +9450661

 On Sun, May 3, 2015 at 8:24 PM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 Hi,

 I am trying to forward a message to a sequence after receiving it from
 the queue/topic using message processor.

 How can we configure this?

 I tried giving a sequence as an endpoint hoping it would work, but did
 not (message processor deactivates not recognizing it)

 [image: Inline image 1]

 Is there a way to achieve this in ESB?

 Thanks

 --
 *Hasitha Abeykoon*
 Senior Software Engineer; WSO2, Inc.; http://wso2.com
 *cell:* *+94 719363063*
 *blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com


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





 --
 *Isuru Udana*
 Associate Technical Lead
 WSO2 Inc.; http://wso2.com
 email: isu...@wso2.com cell: +94 77 3791887
 blog: http://mytecheye.blogspot.com/




-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] Message processor - forward to a sequence

2015-05-03 Thread Hasitha Hiranya
OK. I am trying a reliable delivery scenario.

1. Get message.
2. Go thro mediation flow.
3. If something went wrong put the original message to a queue (message
store)
4. re-try the failed message (using message processor) and and let it go
thro above mediation flow (it is not sending to a BE, but several steps)

@4 I need to go thro the flow again.

Thanks

On Sun, May 3, 2015 at 12:55 PM, Isuru Udana isu...@wso2.com wrote:

 What's your requirement to direct to a sequence ?


 On Sun, May 3, 2015 at 11:23 PM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 Hi Maheeka/Isuru,

 Yes. I need to get the JMS message from the queue/topic and direct it to
 a sequence rather than sending it to the BE directly.

 If so, what are the alternative options here?
 A JMS proxy? But I need reliable delivery. re-try configurations, re-try
 interval etc.

 Thanks

 On Sun, May 3, 2015 at 12:49 PM, Isuru Udana isu...@wso2.com wrote:

 Hi Maheeka,

 On Sun, May 3, 2015 at 11:16 PM, Maheeka Jayasuriya mahe...@wso2.com
 wrote:

 Hi Hasitha,

 Use the message.processor.reply.sequence property to define the
 forwarding sequence.

 Reply sequence is to get the response received from the backend service.
 I thought Hasitha's requirement is to direct the message in the message
 store, to a sequence from the message processor.


 In management console click on Show Additional Parameters and provide
 sequence name to Reply sequence name parameter.

 Thanks,
 Maheeka

 [1] https://docs.wso2.com/display/ESB481/Message+Forwarding+Processor

 Maheeka Jayasuriya
 Software Engineer
 Mobile : +9450661

 On Sun, May 3, 2015 at 8:24 PM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 Hi,

 I am trying to forward a message to a sequence after receiving it from
 the queue/topic using message processor.

 How can we configure this?

 I tried giving a sequence as an endpoint hoping it would work, but did
 not (message processor deactivates not recognizing it)

 [image: Inline image 1]

 Is there a way to achieve this in ESB?

 Thanks

 --
 *Hasitha Abeykoon*
 Senior Software Engineer; WSO2, Inc.; http://wso2.com
 *cell:* *+94 719363063*
 *blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com


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





 --
 *Isuru Udana*
 Associate Technical Lead
 WSO2 Inc.; http://wso2.com
 email: isu...@wso2.com cell: +94 77 3791887
 blog: http://mytecheye.blogspot.com/




 --
 *Hasitha Abeykoon*
 Senior Software Engineer; WSO2, Inc.; http://wso2.com
 *cell:* *+94 719363063*
 *blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com




 --
 *Isuru Udana*
 Associate Technical Lead
 WSO2 Inc.; http://wso2.com
 email: isu...@wso2.com cell: +94 77 3791887
 blog: http://mytecheye.blogspot.com/




-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] Message processor - forward to a sequence

2015-05-03 Thread Hasitha Hiranya
Hi Isuru,

Thanks for the clarification.
Suppose your suggestion is to use MS/MP in a more granular manner.
So if the calls to all these BE's should be reliable, does that mean at
each point we need to have a MS/MP integration separately?

Thanks

On Sun, May 3, 2015 at 1:23 PM, Isuru Udana isu...@wso2.com wrote:

 Hi Hasitha,

 On Sun, May 3, 2015 at 11:42 PM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 Hi Isuru,

 Above mediation flow has several BE calls. Not one. And message
 transformations in the middle of them.
 That is why I was trying to direct it to the same sequence.

 Is this approach is wrong?

 Yes it is not correct.

 Basically if you need to guaranteed delivery we need to send the message
 using the Forwarding message processor directly to the backend. Forwarding
 message processor internally uses a blocking client to invoke the backend.
 If you want to do some transformation, you can do that before putting to
 the to the store. However if you have some kind of service chaining
 scenario you have to re-design flows using reply sequences etc.

 Thanks.


 Thanks

 On Sun, May 3, 2015 at 1:09 PM, Isuru Udana isu...@wso2.com wrote:



 On Sun, May 3, 2015 at 11:33 PM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 OK. I am trying a reliable delivery scenario.

 1. Get message.
 2. Go thro mediation flow.
 3. If something went wrong put the original message to a queue (message
 store)
 4. re-try the failed message (using message processor) and and let it
 go thro above mediation flow (it is not sending to a BE, but several steps)

 If it is not sent to a BE, why we need reliable delivery, retry, etc.
 here ? I mean if there is no BE, there is nothing to do with reliable
 delivery. I think this is not a store and forward scenario.


 @4 I need to go thro the flow again.

 Thanks

 On Sun, May 3, 2015 at 12:55 PM, Isuru Udana isu...@wso2.com wrote:

 What's your requirement to direct to a sequence ?


 On Sun, May 3, 2015 at 11:23 PM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 Hi Maheeka/Isuru,

 Yes. I need to get the JMS message from the queue/topic and direct it
 to a sequence rather than sending it to the BE directly.

 If so, what are the alternative options here?
 A JMS proxy? But I need reliable delivery. re-try configurations,
 re-try interval etc.

 Thanks

 On Sun, May 3, 2015 at 12:49 PM, Isuru Udana isu...@wso2.com wrote:

 Hi Maheeka,

 On Sun, May 3, 2015 at 11:16 PM, Maheeka Jayasuriya 
 mahe...@wso2.com wrote:

 Hi Hasitha,

 Use the message.processor.reply.sequence property to define the
 forwarding sequence.

 Reply sequence is to get the response received from the backend
 service. I thought Hasitha's requirement is to direct the message in the
 message store, to a sequence from the message processor.


 In management console click on Show Additional Parameters and
 provide sequence name to Reply sequence name parameter.

 Thanks,
 Maheeka

 [1]
 https://docs.wso2.com/display/ESB481/Message+Forwarding+Processor

 Maheeka Jayasuriya
 Software Engineer
 Mobile : +9450661

 On Sun, May 3, 2015 at 8:24 PM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 Hi,

 I am trying to forward a message to a sequence after receiving it
 from the queue/topic using message processor.

 How can we configure this?

 I tried giving a sequence as an endpoint hoping it would work, but
 did not (message processor deactivates not recognizing it)

 [image: Inline image 1]

 Is there a way to achieve this in ESB?

 Thanks

 --
 *Hasitha Abeykoon*
 Senior Software Engineer; WSO2, Inc.; http://wso2.com
 *cell:* *+94 719363063*
 *blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com


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





 --
 *Isuru Udana*
 Associate Technical Lead
 WSO2 Inc.; http://wso2.com
 email: isu...@wso2.com cell: +94 77 3791887
 blog: http://mytecheye.blogspot.com/




 --
 *Hasitha Abeykoon*
 Senior Software Engineer; WSO2, Inc.; http://wso2.com
 *cell:* *+94 719363063*
 *blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com




 --
 *Isuru Udana*
 Associate Technical Lead
 WSO2 Inc.; http://wso2.com
 email: isu...@wso2.com cell: +94 77 3791887
 blog: http://mytecheye.blogspot.com/




 --
 *Hasitha Abeykoon*
 Senior Software Engineer; WSO2, Inc.; http://wso2.com
 *cell:* *+94 719363063*
 *blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com




 --
 *Isuru Udana*
 Associate Technical Lead
 WSO2 Inc.; http://wso2.com
 email: isu...@wso2.com cell: +94 77 3791887
 blog: http://mytecheye.blogspot.com/




 --
 *Hasitha Abeykoon*
 Senior Software Engineer; WSO2, Inc.; http://wso2.com
 *cell:* *+94 719363063*
 *blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com




 --
 *Isuru Udana*
 Associate Technical Lead
 WSO2 Inc.; http://wso2.com
 email: isu...@wso2.com cell: +94 77 3791887
 blog: http://mytecheye.blogspot.com/




-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc

Re: [Dev] Message processor - forward to a sequence

2015-05-03 Thread Hasitha Hiranya
Hi Isuru,

Above mediation flow has several BE calls. Not one. And message
transformations in the middle of them.
That is why I was trying to direct it to the same sequence.

Is this approach is wrong?

Thanks

On Sun, May 3, 2015 at 1:09 PM, Isuru Udana isu...@wso2.com wrote:



 On Sun, May 3, 2015 at 11:33 PM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 OK. I am trying a reliable delivery scenario.

 1. Get message.
 2. Go thro mediation flow.
 3. If something went wrong put the original message to a queue (message
 store)
 4. re-try the failed message (using message processor) and and let it go
 thro above mediation flow (it is not sending to a BE, but several steps)

 If it is not sent to a BE, why we need reliable delivery, retry, etc. here
 ? I mean if there is no BE, there is nothing to do with reliable delivery.
 I think this is not a store and forward scenario.


 @4 I need to go thro the flow again.

 Thanks

 On Sun, May 3, 2015 at 12:55 PM, Isuru Udana isu...@wso2.com wrote:

 What's your requirement to direct to a sequence ?


 On Sun, May 3, 2015 at 11:23 PM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 Hi Maheeka/Isuru,

 Yes. I need to get the JMS message from the queue/topic and direct it
 to a sequence rather than sending it to the BE directly.

 If so, what are the alternative options here?
 A JMS proxy? But I need reliable delivery. re-try configurations,
 re-try interval etc.

 Thanks

 On Sun, May 3, 2015 at 12:49 PM, Isuru Udana isu...@wso2.com wrote:

 Hi Maheeka,

 On Sun, May 3, 2015 at 11:16 PM, Maheeka Jayasuriya mahe...@wso2.com
 wrote:

 Hi Hasitha,

 Use the message.processor.reply.sequence property to define the
 forwarding sequence.

 Reply sequence is to get the response received from the backend
 service. I thought Hasitha's requirement is to direct the message in the
 message store, to a sequence from the message processor.


 In management console click on Show Additional Parameters and
 provide sequence name to Reply sequence name parameter.

 Thanks,
 Maheeka

 [1] https://docs.wso2.com/display/ESB481/Message+Forwarding+Processor

 Maheeka Jayasuriya
 Software Engineer
 Mobile : +9450661

 On Sun, May 3, 2015 at 8:24 PM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 Hi,

 I am trying to forward a message to a sequence after receiving it
 from the queue/topic using message processor.

 How can we configure this?

 I tried giving a sequence as an endpoint hoping it would work, but
 did not (message processor deactivates not recognizing it)

 [image: Inline image 1]

 Is there a way to achieve this in ESB?

 Thanks

 --
 *Hasitha Abeykoon*
 Senior Software Engineer; WSO2, Inc.; http://wso2.com
 *cell:* *+94 719363063*
 *blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com


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





 --
 *Isuru Udana*
 Associate Technical Lead
 WSO2 Inc.; http://wso2.com
 email: isu...@wso2.com cell: +94 77 3791887
 blog: http://mytecheye.blogspot.com/




 --
 *Hasitha Abeykoon*
 Senior Software Engineer; WSO2, Inc.; http://wso2.com
 *cell:* *+94 719363063*
 *blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com




 --
 *Isuru Udana*
 Associate Technical Lead
 WSO2 Inc.; http://wso2.com
 email: isu...@wso2.com cell: +94 77 3791887
 blog: http://mytecheye.blogspot.com/




 --
 *Hasitha Abeykoon*
 Senior Software Engineer; WSO2, Inc.; http://wso2.com
 *cell:* *+94 719363063*
 *blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com




 --
 *Isuru Udana*
 Associate Technical Lead
 WSO2 Inc.; http://wso2.com
 email: isu...@wso2.com cell: +94 77 3791887
 blog: http://mytecheye.blogspot.com/




-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] [MB] How to handle reroute operation for durable topic messages in dead letter channel

2015-04-09 Thread Hasitha Hiranya
Durable topic has a internal queue. we should be able to browse internal
queue. Many people has asked for that feature.



On Thu, Apr 9, 2015 at 1:27 AM, Pumudu Ruhunage pum...@wso2.com wrote:

 Hi Hasitha,

 Since this is a durable topic message will it make sense to reroute it to
 a queue ? Ideally shouldn't we reroute it to a durable topic, which is
 currently not handle by dlc?

 Thanks,

 On Wed, Apr 8, 2015 at 11:21 PM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 Hi Pumudu,

 Yes. There will be cases where customers would like this reroute
 function. Make sure to reroute to the same queue for that sub ID. Also,
 make a note that, by the time you reroute, that subscription can be
 unsubscribed by user and queue is no longer there.

 Thanks

 On Wed, Apr 8, 2015 at 11:33 AM, Pumudu Ruhunage pum...@wso2.com wrote:

 Hi,

 Currently if a durable topic message didn't receive client
 acknowledgement from subscriber it will retry 10 times and move that
 durable topic message to dlc queue. dlc have 3 operations delete, restore
 and reroute. Out of these, delete and restore operations are functional for
 durable topic messages in dlc.

 But problem is that reroute operation only support for queues in dlc.
 Since dlc can contain durable topic messages, will it be possible to
 reroute dlc messages to topics as well ? WDYT ?

 Regards,
 --
 Pumudu Ruhunage
 Associate Software Engineer | WSO2 Inc
 M: +94 779 664493  | http://wso2.com




 --
 *Hasitha Abeykoon*
 Senior Software Engineer; WSO2, Inc.; http://wso2.com
 *cell:* *+94 719363063*
 *blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com




 --
 Pumudu Ruhunage
 Associate Software Engineer | WSO2 Inc
 M: +94 779 664493  | http://wso2.com




-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] [MB] How to handle reroute operation for durable topic messages in dead letter channel

2015-04-08 Thread Hasitha Hiranya
Hi Pumudu,

Yes. There will be cases where customers would like this reroute function.
Make sure to reroute to the same queue for that sub ID. Also, make a note
that, by the time you reroute, that subscription can be unsubscribed by
user and queue is no longer there.

Thanks

On Wed, Apr 8, 2015 at 11:33 AM, Pumudu Ruhunage pum...@wso2.com wrote:

 Hi,

 Currently if a durable topic message didn't receive client acknowledgement
 from subscriber it will retry 10 times and move that durable topic message
 to dlc queue. dlc have 3 operations delete, restore and reroute. Out of
 these, delete and restore operations are functional for durable topic
 messages in dlc.

 But problem is that reroute operation only support for queues in dlc.
 Since dlc can contain durable topic messages, will it be possible to
 reroute dlc messages to topics as well ? WDYT ?

 Regards,
 --
 Pumudu Ruhunage
 Associate Software Engineer | WSO2 Inc
 M: +94 779 664493  | http://wso2.com




-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


[Dev] MB Recovery Code

2015-04-01 Thread Hasitha Hiranya
Hi Team,

There is a code written to sync following memory caches time to time with
the database. Individual node has a scheduled task to do this periodically.
Idea is, if a hazelcast notification was lost, even late, try to act
correct.

1. Subscriptions
2. Bindings
3. Exchanges
4. Queues

I have put a warning of some entry is added or deleted from above caches by
this task. I have seen this runs and prints warnings in long running tests.
Butter to check this code before release. I had my developer testing at old
times, but given this is critical for behavior of node, better double check.

Thanks

-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


[Dev] Logging For WSO2 MB 3.0.0

2015-03-24 Thread Hasitha Hiranya
Hi Team,

In WSO2 MB there are several areas we need debug logs.

1. Inbound  - when a message comes in , saving metadata and content to
message store.
2. outbound - when a message is received and sent to subscribers
3. slot - slot manager related logs, what are the slots received by node
4. subscription - subscription created/disconnected/deleted/synced cache
with DB/ sent cluster notification/got cluster notification
5. queues/bindings/exchanges related logs

What about grouping them in log4j.properties file? So that when a issue
comes, we can enable logs on the relevant section ? We can instruct the
customers easily as well.

WDYT?

Thanks

-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


[Dev] ESB + MB Testing - JMS Transactions

2015-03-20 Thread Hasitha Hiranya
Hi Team,

Please refer following documentation from ESB
https://docs.wso2.com/display/ESB481/JMS+Transactions

If the back-end is down (or any error happened during mediation)  message
should not be removed from the queue. Many customers want this.

So JMS transactions is the proper way to do this. We should focus our tests
on that as well.

Thanks
-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] Dynamic Queue Error When Using Destination Type as topic

2015-03-17 Thread Hasitha Hiranya
Hi,

Check the destination type parameter. It should be topic, not queue.
Also we need to have the prefix topic. in jndi.properties file.

Thanks

On Tue, Mar 17, 2015 at 1:06 PM, Isuru Haththotuwa isu...@wso2.com wrote:

 Hi Malaka and Hasitha,

 Thanks for the input.

 I changed the topic to dc1Topic (removed the prepending 'topic.') and
 listed the topics in the jndi.properties file. Now getting a different
 error [1].

 [1].
 java.lang.ClassCastException: org.wso2.andes.client.AMQTopic cannot be
 cast to javax.jms.Queue
 at
 org.apache.axis2.transport.jms.JMSOutTransportInfo.createJMSSender(JMSOutTransportInfo.java:380)

 at
 org.apache.axis2.transport.jms.JMSSender.sendMessage(JMSSender.java:127)
 at
 org.apache.axis2.transport.base.AbstractTransportSender.invoke(AbstractTransportSender.java:112)
 at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
 at
 org.apache.axis2.description.OutOnlyAxisOperationClient.executeImpl(OutOnlyAxisOperation.java:297)
 at
 org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
 at
 org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:482)
 at
 org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:59)
 at
 org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:338)
 at
 org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:333)
 at
 org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:59)
 at
 org.apache.synapse.endpoints.IndirectEndpoint.send(IndirectEndpoint.java:54)
 at
 org.apache.synapse.mediators.builtin.CallMediator.mediate(CallMediator.java:114)
 at
 org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:77)
 at
 org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:47)
 at
 org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:131)
 at
 org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:196)
 at
 org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:77)
 at
 org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:47)
 at
 org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:131)
 at org.apache.synapse.rest.Resource.process(Resource.java:297)
 at org.apache.synapse.rest.API.process(API.java:341)
 at
 org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:76)
 at
 org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:63)
 at
 org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:220)
 at
 org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:83)
 at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
 at
 org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:344)
 at
 org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:168)
 at
 org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
 at
 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
 at
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
 at java.lang.Thread.run(Thread.java:662)


 On Tue, Mar 17, 2015 at 9:51 PM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 javax.naming.NameNotFoundException: dynamicQueues/topic.datacenter1

 This means this topic is not added to the initialcontext and cannot
 lookup.

 Is this a dynamic topic? What about specifying the topic in
 JNDI.properties file?




 On Tue, Mar 17, 2015 at 10:59 AM, Malaka Silva mal...@wso2.com wrote:

 Hi Isuru,

 Can you try giving simple name like datacenter1 instead of
 topic.datacenter1?

 @Hasitha did you experience a similar issue recently?

 On Tue, Mar 17, 2015 at 6:45 PM, Isuru Haththotuwa isu...@wso2.com
 wrote:

 Hi,

 When I'm using an ESB sequence to send a message to a JMS topic,
 noticed the error [1] in ESB side. The error is coming persistently. This
 sequence is called from a ESB rest API.

 However, I'm not using queues, but only a topic. The type of the topic
 (in bold letters) is actually my rest endpoint with path parameters. Any
 idea what is going on here?

 [1].
 [2015-03-17 18:25:33,337] ERROR - JMSOutTransportInfo Couldn't locate
 the JMS destination topic.datacenter1 of type *topic/remove/5*
 extracted from the URL
 jms:/topic.datacenter1?transport.jms.ConnectionFactoryJNDIName=TopicConnectionFactory1java.naming.factory.initial=org.wso2.andes.jndi.PropertiesFileInitialContextFactoryjava.naming.provider.url=repository/conf/jndi.propertiestransport.jms.DestinationType=topic/remove/5
 javax.naming.NameNotFoundException: dynamicQueues/topic.datacenter1

Re: [Dev] Dynamic Queue Error When Using Destination Type as topic

2015-03-17 Thread Hasitha Hiranya
javax.naming.NameNotFoundException: dynamicQueues/topic.datacenter1

This means this topic is not added to the initialcontext and cannot lookup.

Is this a dynamic topic? What about specifying the topic in JNDI.properties
file?




On Tue, Mar 17, 2015 at 10:59 AM, Malaka Silva mal...@wso2.com wrote:

 Hi Isuru,

 Can you try giving simple name like datacenter1 instead of
 topic.datacenter1?

 @Hasitha did you experience a similar issue recently?

 On Tue, Mar 17, 2015 at 6:45 PM, Isuru Haththotuwa isu...@wso2.com
 wrote:

 Hi,

 When I'm using an ESB sequence to send a message to a JMS topic, noticed
 the error [1] in ESB side. The error is coming persistently. This sequence
 is called from a ESB rest API.

 However, I'm not using queues, but only a topic. The type of the topic
 (in bold letters) is actually my rest endpoint with path parameters. Any
 idea what is going on here?

 [1].
 [2015-03-17 18:25:33,337] ERROR - JMSOutTransportInfo Couldn't locate the
 JMS destination topic.datacenter1 of type *topic/remove/5* extracted
 from the URL
 jms:/topic.datacenter1?transport.jms.ConnectionFactoryJNDIName=TopicConnectionFactory1java.naming.factory.initial=org.wso2.andes.jndi.PropertiesFileInitialContextFactoryjava.naming.provider.url=repository/conf/jndi.propertiestransport.jms.DestinationType=topic/remove/5
 javax.naming.NameNotFoundException: dynamicQueues/topic.datacenter1
 at
 org.wso2.andes.jndi.ReadOnlyContext.lookup(ReadOnlyContext.java:271)
 at javax.naming.InitialContext.lookup(InitialContext.java:392)
 at org.apache.axis2.transport.jms.JMSUtils.lookup(JMSUtils.java:583)
 at
 org.apache.axis2.transport.jms.JMSUtils.lookupDestination(JMSUtils.java:814)
 at
 org.apache.axis2.transport.jms.JMSOutTransportInfo.getDestination(JMSOutTransportInfo.java:184)
 at
 org.apache.axis2.transport.jms.JMSOutTransportInfo.loadConnectionFactoryFromProperties(JMSOutTransportInfo.java:132)
 at
 org.apache.axis2.transport.jms.JMSOutTransportInfo.createJMSSender(JMSOutTransportInfo.java:330)
 at
 org.apache.axis2.transport.jms.JMSSender.sendMessage(JMSSender.java:127)
 at
 org.apache.axis2.transport.base.AbstractTransportSender.invoke(AbstractTransportSender.java:112)
 at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
 at
 org.apache.axis2.description.OutOnlyAxisOperationClient.executeImpl(OutOnlyAxisOperation.java:297)
 at
 org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
 at
 org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:482)
 at
 org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:59)
 at
 org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:338)
 at
 org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:333)
 at
 org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:59)
 at
 org.apache.synapse.endpoints.IndirectEndpoint.send(IndirectEndpoint.java:54)
 at
 org.apache.synapse.mediators.builtin.CallMediator.mediate(CallMediator.java:114)
 at
 org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:77)
 at
 org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:47)
 at
 org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:131)
 at
 org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:196)
 at
 org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:77)
 at
 org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:47)
 at
 org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:131)
 at org.apache.synapse.rest.Resource.process(Resource.java:297)
 at org.apache.synapse.rest.API.process(API.java:341)
 at
 org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:76)
 at
 org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:63)
 at
 org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:220)
 at
 org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:83)
 at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
 at
 org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:344)
 at
 org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:168)
 at
 org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
 at
 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
 at
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
 at java.lang.Thread.run(Thread.java:662)

 --
 Thanks and Regards,

 Isuru H.
 +94 716 358 048* http://wso2.com/*





 

Re: [Dev] [MB] TombstoneOverwhelmingException When Purge Operation is Triggered When Subscription Disconnection/Deletion

2015-03-12 Thread Hasitha Hiranya
Hi,

Idea was when last subscriber goes purge the messages without getting slots
involved because it need to happen lightweight and fast.

Thanks

On Thu, Mar 12, 2015 at 3:16 AM, Pamod Sylvester pa...@wso2.com wrote:

 +1 Agreed, also as you and Ramith mentioned deleting the content directly
 will not be possible with the current architecture, since matadata is
 partitioned based on the queue/topic but the message content is not and
 ranges could overlap between multiple topics/queues.

 Therefore, we could invoke the content deletion task for the moment.

  Also another question i have is as to why we cannot partition the message
 content the same way we partition the meta information ?

 Also, from the UI when purging we could still refer the unassigned slots i
 believe. That's my observation. Do correct me if i am wrong.

 Thanks,
 Pamod

 On Thu, Mar 12, 2015 at 1:29 PM, Hasitha Amal De Silva hasit...@wso2.com
 wrote:

 Hi Pamod,

 +1 for the solution. as discussed, we can use a single service call to
 fetch all slots from the coordinator for the given queue, and trigger
 single message deletions (referring to OnflightMessageTracker and
 SlotDeliveryWorker) . This will ensure that tombstones are not read when
 purging in a subscription closed scenario.

 However, we also need to think about triggering a queue purge from the
 UI, at which point we may not have active subscriptions or slot references.

 Thanks

 On Thu, Mar 12, 2015 at 11:56 AM, Pamod Sylvester pa...@wso2.com wrote:

 Hi All,

 During the subscription disconnection/deletion purge operation is being
 called on the the relevant non durable topic the subscription/s was bound
 to. During purge operation all existing data (if any) relevant to that
 topic will be removed.

 When using hector the removal is done through a range query following
 LOC,

 ListLong currentPage =
 HectorDataAccessHelper.getNumericColumnKeysOfRow
 (keyspace,
 CassandraConstants.META_DATA_COLUMN_FAMILY, storageQueueName, pageSize,
 lastProcessedID);

 Initially the relevant message ids are retrieved from MetaData CF and
 then removed from the MessageContent CF. Once more than 200,000 messages
 are sent since the range query queries the entire row of data belonging to
 a relevant topic, it results in the following,



 *Caused by:
 org.apache.cassandra.db.filter.TombstoneOverwhelmingException: nullat
 org.apache.cassandra.db.filter.SliceQueryFilter.collectReducedColumns(SliceQueryFilter.java:214)
 ~[apache-cassandra-2.1.2.jar:2.1.2]at
 org.apache.cassandra.db.filter.QueryFilter.collateColumns(QueryFilter.java:107)
 ~[apache-cassandra-2.1.2.jar:2.1.2]*

 And causes *me.prettyprint.hector.api.exceptions.HTimedOutException:
 TimedOutException() *in the broker end,

 As solution,

 Since the idea of purging during disconnection is to clear out remaining
 data which have not being given out to its subscribers, we could query the
 slots which are still remaining and directly delete them from the
 MessageContentCF instead of querying them from meta data CF. Would there be
 any implication to this ? WDYT ?

 Thanks,
 Pamod

 --
 *Pamod Sylvester *
  *Senior Software Engineer *
 Integration Technologies Team, WSO2 Inc.; http://wso2.com
 email: pa...@wso2.com cell: +94 77 7779495




 --
 Cheers,

 Hasitha Amal De Silva
  Software Engineer
 Mobile : 0772037426
 Blog: http://devnutshell.tumblr.com/
 WSO2 Inc.: http://wso2.com ( lean.enterprise.middleware. )




 --
 *Pamod Sylvester *
  *Senior Software Engineer *
 Integration Technologies Team, WSO2 Inc.; http://wso2.com
 email: pa...@wso2.com cell: +94 77 7779495




-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] Batched content chunk reading for WSO2 MB through Disruptor

2015-02-15 Thread Hasitha Hiranya
Hi,

We can use message.getMessageMetaData().getContentChunkCount() to get
number of content chunks.
Here message is a AMQMessage message.

Thanks

On Fri, Feb 13, 2015 at 5:35 PM, Asitha Nanayakkara asi...@wso2.com wrote:

 Hi Asanka,

 On Fri, Feb 13, 2015 at 2:32 PM, Asanka Abeyweera asank...@wso2.com
 wrote:

 Hi Asitha,

 On Fri, Feb 13, 2015 at 2:16 PM, Asitha Nanayakkara asi...@wso2.com
 wrote:

 Hi Asanka,

 On Fri, Feb 13, 2015 at 1:46 PM, Asanka Abeyweera asank...@wso2.com
 wrote:

 HI Asitha,


 On Fri, Feb 13, 2015 at 1:30 PM, Asitha Nanayakkara asi...@wso2.com
 wrote:

 Hi Asanka,

 On Fri, Feb 13, 2015 at 1:07 PM, Asanka Abeyweera asank...@wso2.com
 wrote:



 On Fri, Feb 13, 2015 at 12:38 PM, Asitha Nanayakkara asi...@wso2.com
  wrote:

 Hi Asanka,

 On Fri, Feb 13, 2015 at 10:22 AM, Asanka Abeyweera 
 asank...@wso2.com wrote:

 Hi Asitha ,

 I don't think we need to write a custom batch processor this. For
 me it is an additional maintenance headache, reduce readability and we
 might have to change our custom processor implementation when we 
 upgrade
 disruptor :). Therefore I'm -1 on writing custom processor for this. I
 think it's OK to add batching logic to content reading handler. This is
 just my idea. I might have missed some details in understanding this.


 I'm ok with dropping custom batch processors and having that
 batching logic in event handler.



 When batching we need to assure DeliveryEventHandler
 (DeliveryEventHandler comes after the contentReaders ) won't process
 messages until batched contents are read from DB. If we use the current
 event handler, at each event it will update the sequence barrier to the
 next one allowing the delivery handler to process the following slots in
 ring buffer. But in this scenario we may be in the process of batching
 those events and haven't read the content from DB. To assure that we have
 batched and read content before DeliveryEventHandler process that slot we
 need a batch processor. And we are using concurrent batch processors to
 read content with a custom batching logic. Hence we needed a Custom batch
 processor here. Similar to what we have in Inbound event handling
 with Disruptor. Sorry I forgot the whole thing before. Please correct
 me if I'm wrong or any better way to do this.


 This does not happen if we use the default batch processor.  
 sequence.set(nextSequence
 - 1L) is called after processing the onEvent call with endOfBatch set
 to true. Therefore the above scenario won't happen.

 Source location:
 https://github.com/LMAX-Exchange/disruptor/blob/2.10.4/code/src/main/com/lmax/disruptor/BatchEventProcessor.java#L117


 Yes I agree, default batch processor can be used in this scenario. Idea
 behind writing a custom batch processor was to integrate our custom
 concurrent batching logic. Yes we can move custom batching logic to event
 handler and use the default Disruptor. Initial idea was to keep the
 batching logic in batch processor and handling batched events logic in
 event handler.


 If the requirement is to separate batching logic from handler, what if we
 write a handler with batching logic and inside the handler we call our
 batch content reading handler.


 +1









 What I understood about the batching mechanism is if we have two
 parallel readers, one will batch odd sequences and other will batch 
 even
 sequences. Can't we batch neighboring ones together?. i.e. when there 
 are
 two parallel readers sequence 1and 2 is done by one handler, 3 and 4 
 done
 by other handler. In this mechanism if we have 5 items to batch and we 
 have
 5 reader and the batch size is five, only one handler will do 
 batching. But
 in the current implementation all the 5 readers will be involved in
 batching (each handler will do one item).


 This is a probable improvement I thought of having in Inbound event
 batching as well. But at high message rates where we need the batched
 performance this type of sparse batching doesn't happen. Yes I agree 
 that
 mentioned approach would batch events much better in all scenarios.


 BTW any ideas on batching using content chunks rather than content
 length? This will have much better control over batching process.

 What is batching using content length?


 Currently from metadata what we can retrieve is content length of a
 message. (To get the number of chunks we need to get the chunk size from a
 reliable source.)  Therefore we have used content length of each message
 and aggregate the value until we meet a specified max aggregate content
 length to batch messages. This is suboptimal. We don't have a guarantee of
 how many message chunks will be received from DB in one call. This value
 depends on the message sizes. I think better approach would be to batch
 through content chunks. Where we have a guarantee of how many maximum
 chunks will be requested in one DB query. Any ideas on this?

 Yes, +1 for batching using content chunks. Can we get the number of
 chunks for a 

[Dev] JMS Synchronous Invocations : Dual Channel HTTP-to-JMS - WSO2 ESB + WSO2 Message Broker

2015-02-07 Thread Hasitha Hiranya
Hi,

Tested and wrote an blog post on $Subject [1]. Used MB 3.0.0 Milestone 2
pack.
Noted following.

1. I saw *for each message* it creates a subscription to queue indicated by
reply destination. Is this acceptable? In a loaded scenario this will not
work.


2. Sometimes MB gives following errors (intermittent).

[2015-02-08 09:39:00,094]  INFO
{org.wso2.andes.subscription.SubscriptionStore} -  New Local Subscription
Added [SMSReceiveNotificationStore]ID=4@NODESUNRISE-LINUX/
127.0.1.1/D=true/X=false/O=null/E=amq.direct/ET=org.wso2.andes.server.exchange.DirectExchange$1@72fa4b2a/EUD=0/S=true
[2015-02-08 09:39:02,185] ERROR
{org.wso2.andes.server.cassandra.MessageFlusher} -  Error occurred while
sending messages to subscribers from buffer
java.lang.NullPointerException
at
org.wso2.andes.server.cassandra.OnflightMessageTracker.getNotAckedMessageCount(OnflightMessageTracker.java:728)
at
org.wso2.andes.server.cassandra.MessageFlusher.isThisSubscriptionHasRoom(MessageFlusher.java:364)
at
org.wso2.andes.server.cassandra.MessageFlusher.sendMessagesToSubscriptions(MessageFlusher.java:441)
at
org.wso2.andes.server.cassandra.MessageFlusher.sendMessagesInBuffer(MessageFlusher.java:335)
at
org.wso2.andes.server.cassandra.MessageFlusher.sendMessageToFlusher(MessageFlusher.java:297)
at
org.wso2.andes.server.slot.SlotDeliveryWorker.run(SlotDeliveryWorker.java:229)
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)
[2015-02-08 09:39:07,188] FATAL
{org.wso2.andes.server.cassandra.MessageFlusher} -  Error running Cassandra
Message FlusherError occurred while sending messages to subscribers from
message bufferjava.lang.NullPointerException
org.wso2.andes.kernel.AndesException: Error occurred while sending messages
to subscribers from message bufferjava.lang.NullPointerException
at
org.wso2.andes.server.cassandra.MessageFlusher.sendMessagesInBuffer(MessageFlusher.java:339)
at
org.wso2.andes.server.cassandra.MessageFlusher.sendMessageToFlusher(MessageFlusher.java:297)
at
org.wso2.andes.server.slot.SlotDeliveryWorker.run(SlotDeliveryWorker.java:229)
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)
[2015-02-08 09:39:07,224]  INFO
{org.wso2.andes.subscription.SubscriptionStore} -  Local Subscription
Removed [SMSReceiveNotificationStore]ID=4@NODESUNRISE-LINUX/
127.0.1.1/D=true/X=false/O=null/E=amq.direct/ET=org.wso2.andes.server.exchange.DirectExchange$1@72fa4b2a/EUD=0/S=false



[1].
http://abeykoon.blogspot.com/2015/02/jms-synchronous-invocations-dual.html



-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] Shouldn't we allow to reuse same ID to create durable subscriptions on different topics

2015-02-05 Thread Hasitha Hiranya
Hi,

We have a solution for the second point. That is something we done on a
customer request. There is a configuration in broker.xml which you can
enable if you need to have multiple subscribers from same client Id. Not
sure how it would affect the first point though.


Thanks

On Friday, February 6, 2015, Asanka Vithanage asan...@wso2.com wrote:

 Hi Pamod,

 Yes, Simply we should implement and support following two on here

 1. Allow to use same subscription ID among different topics.
 2. Allow to create many subscriptions to a single topic with a single ID
 (Should have possiblity to enable and disable this feature)


 On Thu, Feb 5, 2015 at 7:59 PM, Pamod Sylvester pa...@wso2.com
 javascript:_e(%7B%7D,'cvml','pa...@wso2.com'); wrote:

 Hi Asanka,

 For different topics ideally yes it should be allowed IMO. Add to that
 even for the same topic based on the JMS 2.0 spec, subscriptions with the
 same topic should be allowed.

 maybe a suggestion could be to make this behaviour optional. WDYT?

 Thanks,
 Pamod


 On Thursday, February 5, 2015, Asanka Vithanage asan...@wso2.com
 javascript:_e(%7B%7D,'cvml','asan...@wso2.com'); wrote:

 Hi All,

 AFFAIR even in MB 220, we didn't allow to create durable subscriptions
 with same ID for two topics.I observed same in MB 330 M2 pack as well.
 Basically with current implementation at a given time, MB cluster could
 have only an one subscriber with a given ID (irrespective of subscribed
 topic).

 But I believe users should have the ability to create durable
 subscriptions with a single ID to different topics.

 AFAIU current implementation restricts many use cases.For Ex.
 A company wants there employees to use their EmpID to subscribe on
 different company news channels.

 So shouldn't we allow to reuse same ID to create durable subscriptions
 on different topics?   WDYT?


 --
 Asanka Vithanage
 Senior Software Engineer -QA
 Mobile: +94 0716286708
 Email: asan...@wso2.com
 WSO2 Inc. www.wso2.com



 --
 *Pamod Sylvester *
  *Senior Software Engineer *
 Integration Technologies Team, WSO2 Inc.; http://wso2.com
 email: pa...@wso2.com javascript:_e(%7B%7D,'cvml','pa...@wso2.com'); cell:
 +94 77 7779495




 --
 Asanka Vithanage
 Senior Software Engineer -QA
 Mobile: +94 0716286708
 Email: asan...@wso2.com javascript:_e(%7B%7D,'cvml','asan...@wso2.com');
 WSO2 Inc. www.wso2.com



-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] Cluster-wide Test Case Suggestion

2015-01-29 Thread Hasitha Hiranya
Hi Sajini,

Maybe, we have missed to add that configuration to broker.xml file?

 
ALLOW_SHARED_SHARED_SUBSCRIBERS(transports/amqp/allowSharedTopicSubscriptions,
 false, Boolean.class),

Thanks

On Thu, Jan 29, 2015 at 3:28 PM, Sajini De Silva saj...@wso2.com wrote:

 Hi Hasitha,

 I couldn't find such attribute in any configuration file in current
 version of MB pack. Can you tell me how to enable multipleSubscribers in
 the current pack?

 Thank you,
 Sajini

 On Wed, Jan 14, 2015 at 7:43 AM, Sajini De Silva saj...@wso2.com wrote:

 Noted

 On Tue, Jan 13, 2015 at 6:31 PM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 Hi Sajini,

 Like to suggest a test case as follows.

 For a client I developed a feature such that if enabled, multiple
 subscribers can exist by same clientID for the same topic.
 A new test case must be added so that,

 1. Restart pack with multipleSubscribersEnabled.
 2. Clusterwide put two durable topic subs with same clientID.

 See messages are consumed as queues (if we push 1000 messages together
 both subs should receive 1000, not 2000, not nothing, not only one get 1000
 and other just sits there)

 Thanks

 --
 *Hasitha Abeykoon*
 Senior Software Engineer; WSO2, Inc.; http://wso2.com
 *cell:* *+94 719363063*
 *blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com




 --
 Sajini De SIlva
 Software Engineer; WSO2 Inc.; http://wso2.com ,
 Email: saj...@wso2.com
 Blog: http://sajinid.blogspot.com/
 Git hub profile: https://github.com/sajinidesilva

 Phone: +94 712797729




 --
 Sajini De SIlva
 Software Engineer; WSO2 Inc.; http://wso2.com ,
 Email: saj...@wso2.com
 Blog: http://sajinid.blogspot.com/
 Git hub profile: https://github.com/sajinidesilva

 Phone: +94 712797729




-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] MB test cases improvements - check message counts

2015-01-27 Thread Hasitha Hiranya
For example following scenario should be testable. At least check message
counts after sending to DLC/deleting/purging operations

1) Send couple of messages to MBQ1 queue. Make these messages end up in DLC

2) Disable the JMS consumer and send messages so that there will be message
in MBQ1 queue.

3) Purge the MBQ1 ( so that messages in DLC and MBQ1 will be cleared)

4) Send messages to MQ1 again ...

5) Enable JMS Consumer (this will put messages to dlc again)

6) Browse the Queue you will see there are message in DLC and the queue and
verify queue count=0 dlc count = x

On Tue, Jan 27, 2015 at 9:01 PM, Hasitha Hiranya hasit...@wso2.com wrote:

 Hi,

 We need to be careful with message count display in UI in MB 3.0.0.

 For most of users this is the first impression about the product. If
 message counts are wrong and unpredictable, even for us developers, it is
 hard to isolate issues.

 Thus in the test suite via admin services we should be able to query the
 message count after doing some message publish/ consume.

 We need to add some tests (or do this at the end of each existing test
 standalone and cluster) checking message count and verify.

 Thanks

 --
 *Hasitha Abeykoon*
 Senior Software Engineer; WSO2, Inc.; http://wso2.com
 *cell:* *+94 719363063*
 *blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com




-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


[Dev] Cluster-wide Test Case Suggestion

2015-01-13 Thread Hasitha Hiranya
Hi Sajini,

Like to suggest a test case as follows.

For a client I developed a feature such that if enabled, multiple
subscribers can exist by same clientID for the same topic.
A new test case must be added so that,

1. Restart pack with multipleSubscribersEnabled.
2. Clusterwide put two durable topic subs with same clientID.

See messages are consumed as queues (if we push 1000 messages together both
subs should receive 1000, not 2000, not nothing, not only one get 1000 and
other just sits there)

Thanks

-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] WSO2 Committers += Akalanka Darshana Pagoda Arachchi

2015-01-05 Thread Hasitha Hiranya
Congratulations Akalanka !!

On Mon, Jan 5, 2015 at 4:32 PM, Senduran Balasubramaniyam sendu...@wso2.com
 wrote:

 Congratulations Akalanka !!

 On Mon, Jan 5, 2015 at 3:09 PM, Inshaf Mahath ins...@wso2.com wrote:

 Congrats Akalanka.. 

 On Mon, Jan 5, 2015 at 3:02 PM, Pumudu Ruhunage pum...@wso2.com wrote:

 Congrats Akalanka..!!!

 On Mon, Jan 5, 2015 at 2:58 PM, Hasitha Amal De Silva hasit...@wso2.com
  wrote:

 Congrats Akalanka ! :)

 On Mon, Jan 5, 2015 at 2:51 PM, Harsha Kumara hars...@wso2.com wrote:

 Congratulations Akalanka!

 On Mon, Jan 5, 2015 at 2:47 PM, Abimaran Kugathasan abima...@wso2.com
  wrote:

 Congrats!

 On Mon, Jan 5, 2015 at 2:39 PM, Kalpa Welivitigoda kal...@wso2.com
 wrote:

 Congratulations Akalanka !

 On Mon, Jan 5, 2015 at 2:38 PM, Pranavan Theivendram 
 pranav...@wso2.com wrote:

 Congratz Akalanka :)

 On Mon, Jan 5, 2015 at 2:34 PM, Lasitha Wattaladeniya 
 lasit...@wso2.com wrote:

 Congratulations Akalanka :)

 On Mon, Jan 5, 2015 at 2:32 PM, Ramith Jayasinghe ram...@wso2.com
  wrote:

 Hi Akalanka,
 Congratulations!
 It is with great pleasure that we welcome you as a WSO2 committer.
 Keep up the good work!
 regards
 --
 Ramith Jayasinghe
 Technical Lead
 WSO2 Inc., http://wso2.com
 lean.enterprise.middleware

 E: ram...@wso2.com



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




 --
 Lasitha Wattaladeniya
 Software Engineer
 WSO2, Inc. | http://wso2.com
 lean. enterprise. middleware

 Mobile : +94719397528
 Blog : techreadme.blogspot.com

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




 --

 *Regards,*

 *T.Pranavan*

 *Software Engineering intern, WSO2*
 *Mobile - +94775136836 %2B94775136836*

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




 --
 Best Regards,

 Kalpa Welivitigoda
 Software Engineer, WSO2 Inc. http://wso2.com
 Email: kal...@wso2.com
 Mobile: +94776509215

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




 --
 Thanks
 Abimaran Kugathasan

 Software Engineer | WSO2 Inc
 Data  APIs Technologies Team
 Mobile : +94 773922820

 http://stackoverflow.com/users/515034
 http://lk.linkedin.com/in/abimaran
 http://www.lkabimaran.blogspot.com/  https://github.com/abimaran
 https://twitter.com/abimaran


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




 --
 Harsha Kumara
 Software Engineer, WSO2 Inc.
 Mobile: +94775505618
 Blog:harshcreationz.blogspot.com

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




 --
 Cheers,

 Hasitha Amal De Silva
  Software Engineer
 Mobile : 0772037426
 Blog: http://devnutshell.tumblr.com/
 WSO2 Inc.: http://wso2.com ( lean.enterprise.middleware. )

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




 --
 Pumudu Ruhunage
 Associate Software Engineer | WSO2 Inc
 M: +94 779 664493  | http://wso2.com

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




 --
 Inshaf Mahath
 Associate Software Engineer
 Mobile: +94775907181
 WSO2 Inc.
 Lean . Enterprise . Middleware


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




 --
 *Senduran *
 Software Engineer,
 WSO2, Inc.;  http://wso2.com/ http://wso2.com/
 Mobile: +94 77 952 6548

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




-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] [MB] Remove or revamp 'Node List' page under 'Cluster Management' in MB 3.0.0

2015-01-05 Thread Hasitha Hiranya
Hemika,

I vote for now, let's have a plain table displaying nodes  in the cluster
with above properties, with coordinator highlighted. At the moment we do
not have a lot of information to display via a drill down.

WDYT?

Thanks

On Tue, Jan 6, 2015 at 7:13 AM, Pamod Sylvester pa...@wso2.com wrote:

 Hemika, you can have a separate section to display the cluster information
 which will contain info regarding all the nodes in the cluster (info as in
 ip, node id etc). There you could highlight the node which is the
 coordinator.

 Further you could have sort of a drill down option where you could click
 on the node an get more information regarding it, there you can display the
 slot information.

 The above is one approach that I could think of. There might be more ways
 of dealing with this.

 Thanks,


 On Tuesday, January 6, 2015, Hemika Kodikara hem...@wso2.com wrote:

 I was a bit stuck on the terminology there. But was able to figure it out
 with HasithH's help. :)

 So far from what I understood, following are the details that can be
 shown on this page and some of my suggestions.
 1. Displaying the Node ID.
 2. The IP and Port.
 3. Showing the publishers and subscribers would be good as well. But the
 subscribers are already shown in another page. Instead, will it be useful
 if we show the number of publishers and subscribers ?
 4. Displaying the coordinator node. What can be showing using the
 coordinator node ?

 Thanks,
 Hemika


 Hemika Kodikara
 Software Engineer
 WSO2 Inc.
 lean . enterprise . middleware
 http://wso2.com

 Mobile : +9477762

 On Tue, Dec 23, 2014 at 10:03 AM, Ramith Jayasinghe ram...@wso2.com
 wrote:

 what are the stats that could be useful to display in coordinator node?
 (that is if we are going to specifically display coordinator specific stats)
 Information related to slot distribution etc... ( which will help us to
 see how the deployment performs?)

 On Tue, Dec 23, 2014 at 8:09 AM, Sajini De Silva saj...@wso2.com
 wrote:

 Hi,

 Coordinator node will be critical since slot coordination is happening
 via the coordinator node. Therefore +1 for Pamod's idea.

 Thank you,
 Sajini.

 On Tue, Dec 23, 2014 at 1:13 AM, Pamod Sylvester pa...@wso2.com
 wrote:

 Hi Hemika,

 Also will it make sense to display the coordinator node ? IMO this
 will be useful.

 Thanks,
 Pamod

 On Mon, Dec 22, 2014 at 10:48 PM, Hemika Kodikara hem...@wso2.com
 wrote:

 Thanks for the correction and feedback Asitha.

 Looping in Ramith and HasithaH.

 Hemika Kodikara
 Software Engineer
 WSO2 Inc.
 lean . enterprise . middleware
 http://wso2.com

 Mobile : +9477762

 On Mon, Dec 22, 2014 at 10:28 PM, Asitha Nanayakkara asi...@wso2.com
  wrote:


 On Mon, Dec 22, 2014 at 5:51 PM, Hemika Kodikara hem...@wso2.com
 wrote:

 Hi All,

 The page mentioned in $subject provides several information related
 to nodes in a clustered deployment in MB 2.2.0 (See attachment).

 The page displays the cassandra details, zookeeper details and the
 node number.

 In MB 3.0.0, several change are done so that,
 1. Zookeeper is not being used.
 2. No such thing as Node number as node queues and global queues
 are not there anymore.

 In 3.0.0 there is a node id for each node. And clustered/standalone
 mode information need to be displayed

 3. Supports other databases including other than cassandra.

 +1


 Share your idea on $subject.

 Something like number of subscribers and publishers handled by each
 node. This will give an idea of load distribution in a cluster.
 MQTT and AMQP ports used by the nodes


 Regards,
 Hemika

 Hemika Kodikara
 Software Engineer
 WSO2 Inc.
 lean . enterprise . middleware
 http://wso2.com

 Mobile : +9477762

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




 --
 *Asitha Nanayakkara*
 Software Engineer
 WSO2, Inc. http://wso2.com/
 Mob: + 94 77 85 30 682



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




 --
 *Pamod Sylvester *
  *Senior Software Engineer *
 Integration Technologies Team, WSO2 Inc.; http://wso2.com
 email: pa...@wso2.com cell: +94 77 7779495




 --
 Sajini De SIlva
 Software Engineer; WSO2 Inc.; http://wso2.com ,
 Email: saj...@wso2.com
 Blog: http://sajinid.blogspot.com/
 Git hub profile: https://github.com/sajinidesilva

 Phone: +94 712797729




 --
 Ramith Jayasinghe
 Technical Lead
 WSO2 Inc., http://wso2.com
 lean.enterprise.middleware

 E: ram...@wso2.com
 P: +94 777542851




 --
 *Pamod Sylvester *
  *Senior Software Engineer *
 Integration Technologies Team, WSO2 Inc.; http://wso2.com
 email: pa...@wso2.com cell: +94 77 7779495




-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org

[Dev] Preventing Topic Subscriptions getting unwanted messages

2014-12-15 Thread Hasitha Hiranya
Hi,

I did following change to topic subscriptions.

1. say sub 1 subscribed to topic x.
2. say sub 2 subscribed to topic x.
3. say 10,000 msgs published to topic x.

Now when sub 1 is closed and resubscribe, it should get no messages.
This is now done comparing time stamps of subscription and message arrival
time.

This brings the need that all MB nodes MUST BE TIME SYNCED.

Standalone Test case also added.

Note that when all topic subscribers vanished from node, underlying storage
queue is purged.

A test case is added for this as well.

Also added abt 10 durble topic test cases.

Verified that all these pass in current MB 3.0.0 SNAPSAHOT.

Thanks

-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] WSO2 Committers += Sajini De Silva

2014-11-18 Thread Hasitha Hiranya
Congratulations, Sajini

On Tue, Nov 18, 2014 at 1:53 PM, Pulasthi Supun pulas...@wso2.com wrote:

 Congrats!

 On Tue, Nov 18, 2014 at 1:52 PM, Denuwanthi De Silva denuwan...@wso2.com
 wrote:

 Congratulations Sajini!!!

 On Tue, Nov 18, 2014 at 1:51 PM, Nipuni Perera nip...@wso2.com wrote:

 Congratz sajini!!!


 On Tue, Nov 18, 2014 at 1:43 PM, Ashan Dhananjaya ash...@wso2.com
 wrote:

 congratzz sajini. all da very best!! happy for u.

 On Tue, Nov 18, 2014 at 1:26 PM, Ramith Jayasinghe ram...@wso2.com
 wrote:

 Hi Sajini,
 Congratulations!
 It is with great pleasure that we welcome you as a WSO2 committer.
 Keep up the good work!

 thanks and best regards

 Ramith Jayasinghe
 Technical Lead
 WSO2 Inc., http://wso2.com
 lean.enterprise.middleware

 E: ram...@wso2.com

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




 --
 Ashan Dhananjaya Kumara
 Trainee Software Engineer, WSO2 Inc.
 Inc: *WSO2 Inc. *
 Phone : +94715547461
 Blog : http://ashandhananjaya.blogspot.com/
 Twitter  : https://twitter.com/Dhananjaya92
 Say ello :https://ello.co/ashandk





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




 --
 Nipuni Perera
 Software Engineer; WSO2 Inc.; http://wso2.com
 Email: nip...@wso2.com
 Git hub profile: https://github.com/nipuni
 Mobile: +94 (71) 5626680
 http://wso2.com


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




 --
 Denuwanthi De Silva
 Software Engineer;
 WSO2 Inc.; http://wso2.com,
 Email: denuwan...@wso2.com



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




 --
 --
 Pulasthi Supun
 Software Engineer; WSO2 Inc.; http://wso2.com,
 Email: pulas...@wso2.com
 Mobile: +94 (71) 9258281
 Blog : http://pulasthisupun.blogspot.com/
 Git hub profile: https://github.com/pulasthi

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




-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


[Dev] WSO2 MB - To Be Dones I tracked so far

2014-11-15 Thread Hasitha Hiranya
Hi Team,

Following are tasks TBD for M2 and M3 releases of MB.
Thought of flushing my mind with the tasks that came up with last code
review and some last for some time.


1. Add a warning if parts cache is growing. (Done)
2. Make message status block capital (Done)
3. Make message status commented (TBD)

4. Remove msgId2MsgData auto removal of IDs. And make it a
concurrentHashMap. (Done)

5. Move Sent and Sent all status setting to correct places ().

6. Make send() of subscription impl logic free. If an exception came from
there, catch it and do the work within QDW class. Need to define proper
exceptions on why sending to subscriber failed (DLC sending if delivery
rules failed, if exception came when sending try another subscriber if
available, if not move them over in store with a new messageID, but keeping
the old id somehow) (This is a task. Need to assign somebody).

7. When all nodes in the cluster is gone make the index again (Done by
AsankaAb)

8. We decided to keep Acked by all and sent to all status, did not we? No
need to write what Ramith suggested now.

9. Add a delay when trying to delete slot to get over with Edge Case
brought out by Indika (Is it solved now? Problem was elsewhere?)

10. Need to run all topic test cases and make them pass.

11. Need to introduce new ack handle mechanism (QOS 0,1,2) and AMQP ack
means one of those.  AMQP transactions, client acks also come into play
here.  We need to be careful. (This is a task. Should be assigned to
somebody).

12. We still did not review purge and queue delete. Should be done soon.
Topic deletion should be integrated with it. HasithaA can you schedule a
review?

13. Hector code is committed now. We can choose hector or cql from config
level. Are we maintaining both now? WDYT?

14. Need to fix packaging someday.

15. Topic cluster wide tests needs to be written. There is a considerable
number of scenarios.

16. Topic ack and requeing should be verified with the spec. Should we
requeue topic messages if rejected by client, or if delivery failed? How
this affect to MQTT impl?

17. MQTT cluster tests needs to be written.

18. Puppetizing MB deployment? Did we make any progress?

19. Remove zookeeper, node queue, qlobal queue, queueAddress, topic
delivery worker concepts completely from the code.

20. We Must test and fix message counting. With concurrent publishers and
subscribers we still have message counting probs.

21. Apply config revamp.

Suppose we can go to M2 when these are done.

For M3

1. Fix all the UIs. This will take a considerable effort.
2. Merge remaining fixes from 2.2.0.

Thanks


-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] WSO2 MB - To Be Dones I tracked so far

2014-11-15 Thread Hasitha Hiranya
Hi Team,

I Removed

1. nodeQueues
2. GlobalQueues
3. QueueAddress
4. TopicDeliveryWorker
5. Unnecessary column families created by CQL Message store.

and committed. A few things to note:

1. MessageDeliveryThreadHandler has some unused methods now as
TopicDeliveryWorker was removed. Need to review. (@HasithaA, any ideas?)
2. ClusterManager's globalQueueSyncId now renamed to nodeSyncID. Actually
do we need it now? (@Sajini, WDYT?)

Thanks

On Sun, Nov 16, 2014 at 6:45 AM, Indika Sampath indi...@wso2.com wrote:

 On Sat, Nov 15, 2014 at 10:01 PM, Ramith Jayasinghe ram...@wso2.com
 wrote:


 On Sat, Nov 15, 2014 at 1:40 PM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 Hi Team,

 Following are tasks TBD for M2 and M3 releases of MB.
 Thought of flushing my mind with the tasks that came up with last code
 review and some last for some time.


 1. Add a warning if parts cache is growing. (Done)
 2. Make message status block capital (Done)
 3. Make message status commented (TBD)

 4. Remove msgId2MsgData auto removal of IDs. And make it a
 concurrentHashMap. (Done)

 5. Move Sent and Sent all status setting to correct places ().

 6. Make send() of subscription impl logic free. If an exception came
 from there, catch it and do the work within QDW class. Need to define
 proper exceptions on why sending to subscriber failed (DLC sending if
 delivery rules failed, if exception came when sending try another
 subscriber if available, if not move them over in store with a new
 messageID, but keeping the old id somehow) (This is a task. Need to assign
 somebody).


 7. When all nodes in the cluster is gone make the index again (Done by
 AsankaAb)

 8. We decided to keep Acked by all and sent to all status, did not we?
 No need to write what Ramith suggested now.

 yes.

 9. Add a delay when trying to delete slot to get over with Edge Case
 brought out by Indika (Is it solved now? Problem was elsewhere?)

 after the last perf tests we did, problem doesn't occur on H2, only with
 Cassandra ( CQL and Hector both). This is a real and Massive L1


 This is fixed in cql. Problem with range query. Will do change in hector
 too.



 10. Need to run all topic test cases and make them pass.

 11. Need to introduce new ack handle mechanism (QOS 0,1,2) and AMQP ack
 means one of those.  AMQP transactions, client acks also come into play
 here.  We need to be careful. (This is a task. Should be assigned to
 somebody).



 12. We still did not review purge and queue delete. Should be done soon.
 Topic deletion should be integrated with it. HasithaA can you schedule a
 review?

 +1

 13. Hector code is committed now. We can choose hector or cql from
 config level. Are we maintaining both now? WDYT?


 My Opinion is we can keep both (atleast at this stage)


 This is config level option. Only need is enable necessary datasource
 and provider in master-datasources.xml and messageStore and
 andesContextStore in andes-virtualhosts.xml. Shall we come to conclusion
 after doing performance comparison ?



 14. Need to fix packaging someday.

 I suggest one of us do this and commit (big bang).


 15. Topic cluster wide tests needs to be written. There is a
 considerable number of scenarios.

 Shall we come up with scenarios (in a doc may be). the distribute.

 16. Topic ack and requeing should be verified with the spec. Should we
 requeue topic messages if rejected by client, or if delivery failed? How
 this affect to MQTT impl?


 +1 lets check with the spec, and then chat

 17. MQTT cluster tests needs to be written.

 Again lets see what are the scenarios and decide on a scope


 18. Puppetizing MB deployment? Did we make any progress?

 We haven't done anything here. I checked with our cloud team there some
 puppet template written for 2.2.0 also. However, we are waiting on the
 initiative from automation team.


 19. Remove zookeeper, node queue, qlobal queue, queueAddress, topic
 delivery worker concepts completely from the code.



 20. We Must test and fix message counting. With concurrent publishers
 and subscribers we still have message counting probs.

 Lets open L2s for these to keep track.

 21. Apply config revamp.

 Hasitha Amal can comment on this

 Suppose we can go to M2 when these are done.



 For M3

 1. Fix all the UIs. This will take a considerable effort.



 2. Merge remaining fixes from 2.2.0.


 And we need to keep on testing end to end fix issues ( M3 should have
 been all about bring stability, BUT  given that there could be some other
 features/requirements we might have to deliver with v 3.0.0 - something we
 will decide next week)





 Thanks


 --
 *Hasitha Abeykoon*
 Senior Software Engineer; WSO2, Inc.; http://wso2.com
 *cell:* *+94 719363063*
 *blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com




 --
 Ramith Jayasinghe
 Technical Lead
 WSO2 Inc., http://wso2.com
 lean.enterprise.middleware

 E: ram...@wso2.com
 P: +94 777542851




 --
 Indika Sampath
 Software Engineer
 WSO2 Inc.
 http

Re: [Dev] WSO2 MB - To Be Dones I tracked so far

2014-11-15 Thread Hasitha Hiranya
Hi Sewwandi,

Noticed that you have moved CQL related things to a package called cql.

Please make sure you update andes-virtualhost.xml file with correct fully
qualified class name. Update Asitha's store configuration doc as well. If
you have already done, please ignore :)

Configuration revamp by HasithaA should capture this as well.

Thanks

On Sun, Nov 16, 2014 at 10:36 AM, Hasitha Hiranya hasit...@wso2.com wrote:

 Hi Team,

 I Removed

 1. nodeQueues
 2. GlobalQueues
 3. QueueAddress
 4. TopicDeliveryWorker
 5. Unnecessary column families created by CQL Message store.

 and committed. A few things to note:

 1. MessageDeliveryThreadHandler has some unused methods now as
 TopicDeliveryWorker was removed. Need to review. (@HasithaA, any ideas?)
 2. ClusterManager's globalQueueSyncId now renamed to nodeSyncID. Actually
 do we need it now? (@Sajini, WDYT?)

 Thanks

 On Sun, Nov 16, 2014 at 6:45 AM, Indika Sampath indi...@wso2.com wrote:

 On Sat, Nov 15, 2014 at 10:01 PM, Ramith Jayasinghe ram...@wso2.com
 wrote:


 On Sat, Nov 15, 2014 at 1:40 PM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 Hi Team,

 Following are tasks TBD for M2 and M3 releases of MB.
 Thought of flushing my mind with the tasks that came up with last code
 review and some last for some time.


 1. Add a warning if parts cache is growing. (Done)
 2. Make message status block capital (Done)
 3. Make message status commented (TBD)

 4. Remove msgId2MsgData auto removal of IDs. And make it a
 concurrentHashMap. (Done)

 5. Move Sent and Sent all status setting to correct places ().

 6. Make send() of subscription impl logic free. If an exception came
 from there, catch it and do the work within QDW class. Need to define
 proper exceptions on why sending to subscriber failed (DLC sending if
 delivery rules failed, if exception came when sending try another
 subscriber if available, if not move them over in store with a new
 messageID, but keeping the old id somehow) (This is a task. Need to assign
 somebody).


 7. When all nodes in the cluster is gone make the index again (Done by
 AsankaAb)

 8. We decided to keep Acked by all and sent to all status, did not we?
 No need to write what Ramith suggested now.

 yes.

 9. Add a delay when trying to delete slot to get over with Edge Case
 brought out by Indika (Is it solved now? Problem was elsewhere?)

 after the last perf tests we did, problem doesn't occur on H2, only
 with Cassandra ( CQL and Hector both). This is a real and Massive L1


 This is fixed in cql. Problem with range query. Will do change in hector
 too.



 10. Need to run all topic test cases and make them pass.

 11. Need to introduce new ack handle mechanism (QOS 0,1,2) and AMQP ack
 means one of those.  AMQP transactions, client acks also come into play
 here.  We need to be careful. (This is a task. Should be assigned to
 somebody).



 12. We still did not review purge and queue delete. Should be done
 soon. Topic deletion should be integrated with it. HasithaA can you
 schedule a review?

 +1

 13. Hector code is committed now. We can choose hector or cql from
 config level. Are we maintaining both now? WDYT?


 My Opinion is we can keep both (atleast at this stage)


 This is config level option. Only need is enable necessary datasource
 and provider in master-datasources.xml and messageStore and
 andesContextStore in andes-virtualhosts.xml. Shall we come to conclusion
 after doing performance comparison ?



 14. Need to fix packaging someday.

 I suggest one of us do this and commit (big bang).


 15. Topic cluster wide tests needs to be written. There is a
 considerable number of scenarios.

 Shall we come up with scenarios (in a doc may be). the distribute.

 16. Topic ack and requeing should be verified with the spec. Should we
 requeue topic messages if rejected by client, or if delivery failed? How
 this affect to MQTT impl?


 +1 lets check with the spec, and then chat

 17. MQTT cluster tests needs to be written.

 Again lets see what are the scenarios and decide on a scope


 18. Puppetizing MB deployment? Did we make any progress?

 We haven't done anything here. I checked with our cloud team there some
 puppet template written for 2.2.0 also. However, we are waiting on the
 initiative from automation team.


 19. Remove zookeeper, node queue, qlobal queue, queueAddress, topic
 delivery worker concepts completely from the code.



 20. We Must test and fix message counting. With concurrent publishers
 and subscribers we still have message counting probs.

 Lets open L2s for these to keep track.

 21. Apply config revamp.

 Hasitha Amal can comment on this

 Suppose we can go to M2 when these are done.



 For M3

 1. Fix all the UIs. This will take a considerable effort.



 2. Merge remaining fixes from 2.2.0.


 And we need to keep on testing end to end fix issues ( M3 should have
 been all about bring stability, BUT  given that there could be some other
 features/requirements we might have to deliver

Re: [Dev] WSO2 Committers += Asanka Abeyweera

2014-11-05 Thread Hasitha Hiranya
Congratulations, Asanka...!!!

On Wed, Nov 5, 2014 at 11:29 PM, Harsha Kumara hars...@wso2.com wrote:

 Congratulations Asanka!

 On Wed, Nov 5, 2014 at 11:27 PM, Rajith Vitharana raji...@wso2.com
 wrote:

 Congratulations Asanka ... !!

 On Wed, Nov 5, 2014 at 8:37 AM, Ramith Jayasinghe ram...@wso2.com
 wrote:

 Hi Asanka,
  Congratulations!
 It is with great pleasure that we welcome you as a WSO2 committer. Keep
 up the good work!
 thanks and best regards,

 --
 Ramith Jayasinghe
 Technical Lead
 WSO2 Inc., http://wso2.com
 lean.enterprise.middleware

 E: ram...@wso2.com


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




 --
 Rajith Vitharana

 Software Engineer,
 WSO2 Inc. : wso2.com
 Mobile : +94715883223
 Blog : http://lankavitharana.blogspot.com/

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




 --
 Harsha Kumara
 Software Engineer, WSO2 Inc.
 Mobile: +94775505618
 Blog:harshcreationz.blogspot.com

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




-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] Concern when purging during active subscriptions - MB 3.0.0

2014-10-23 Thread Hasitha Hiranya
Hi,

This is my suggestion.

1. from purging node delete metadata raw.
2. from purging node clear all in memory lists having messages (trackings
and the middle buffer)(we might have scheduled to deliver. Maybe we should
cancel the jobs?)
3. send a cluster notification that queue is purged (this is already done.
You just need to implement case of the switch i think)
4. schedule to deliver content. Content are in different rows. So we cannot
delete in one go. Let's schedule. It will delete offline. During the
schedule interval *we think* cluster notification is gone and purging of
metadata has happened from everywhere (which is a loose assumption - fair
enough when dealing with a cluster).

Thanks


On Fri, Oct 24, 2014 at 1:24 AM, Hasitha Amal De Silva hasit...@wso2.com
wrote:

 Hi Ramith,

 Thanks for bringing this up. I had missed on notifying the cluster during
 purge. Since the purge flow is defined for one node, we only need to
 trigger the same at the QueueListener through hazelcast. I will add it.

 But we still cant distinguish messages in active delivery threads for a
 given queue, so that their message content can be saved until delivery is
 complete.

 Thanks


 On Fri, Oct 24, 2014 at 12:41 AM, Ramith Jayasinghe ram...@wso2.com
 wrote:

 I'm thinking out aloud here:
  What we when a queue is deleted we fire a event across the cluster and
 let every one know the queue is about to get deleted. Further processing
 everything related to queue should end there. what do you guys think?
 regards
 Ramith


 On Thu, Oct 23, 2014 at 10:34 PM, Hasitha Amal De Silva 
 hasit...@wso2.com wrote:

 Hi all,

 Given our message processing model, we do not enqueue message content in
 memory, and only keep message metadata. So, at the final point of a message
 delivery, we retrieve the message content accordingly and send.

 However, if a user purges a queue while subscribers are receiving from
 it, all message content of that queue is deleted from the database, even
 though some messages might be at the final delivery stage. So when the
 message content of such a message is looked up, it will throw an NPE /
 NoSuchElementException.

 We cannot infer if the exception is due to a purge scenario or something
 else, because MessageContent can also be lost due to other reasons (e.g. :
 a message being acknowledged while it's second delivery attempt is on the
 way)

 I could think of following ways to handle this :

 1. Catch the exception and add a general trace log explaining all
 possible reasons - clear the message from in memory collections since we
 can safely say that its already been acked / purged.

 2. Figure out and skip deleting the (message content + metadata) of
 enqueued / redelivered messages in-memory, and assume they will be deleted
 later from normal delivery flow. This means that all the in-memory,
 undelivered messages will still be delivered even after the queue is
 purged. (User can interpret this as an issue)

 Better suggestions ? The ideal solution would be to exactly remove all
 undelivered messages (in-store and in-memory) at the moment of purge. But
 this is difficult since the in-memory message buffer maybe delegated very
 fast into delivery jobs.

 As at now, I feel that option 1 would be the most feasible solution.

 WDYT ?


 --
 Cheers,

 Hasitha Amal De Silva
  Software Engineer
 Mobile : 0772037426
 Blog: http://devnutshell.tumblr.com/
 WSO2 Inc.: http://wso2.com ( lean.enterprise.middleware. )




 --
 Ramith Jayasinghe
 Technical Lead
 WSO2 Inc., http://wso2.com
 lean.enterprise.middleware

 E: ram...@wso2.com
 P: +94 777542851




 --
 Cheers,

 Hasitha Amal De Silva
  Software Engineer
 Mobile : 0772037426
 Blog: http://devnutshell.tumblr.com/
 WSO2 Inc.: http://wso2.com ( lean.enterprise.middleware. )




-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] Way to optimize database calls during queue purge - MB 3.0.0

2014-10-23 Thread Hasitha Hiranya
Hi,

To the message store, let's introduce delete all message in queue
(@queueName) method.

 for cassandra it will delete the whole raw in one go.
 for JDBC there should be a similiar operation (maybe select and a
delete).

Thanks

On Thu, Oct 23, 2014 at 10:56 PM, Hasitha Amal De Silva hasit...@wso2.com
wrote:

 Hi all,

 At present we store the message content with the only identifier being the
 message ID (correct me if I'm wrong). But this makes queue purge an
 exhaustive operation. Since we have no way of filtering message content
 relevant to a specific queue, we have to refer to the message metadata
 table and retrieve all message IDs of the queue before issuing content
 deletions. (2 database calls)

 Given that queue purge is not supposed to be a frequent activity, we could
 live with this.

 But in case we need to optimize, it would be better to group message
 content with queueName as a second key. In terms of RDBMS stores this can
 be done via composite keys. In Cassandra, the queueName will need to be the
 partition key and the message ID will be clustering key [1].

 Should we go for this ? If yes, we need to check any performance impact
 with further testing.

 [1] :
 http://stackoverflow.com/questions/24949676/difference-between-partition-key-composite-key-and-clustering-key-in-cassandra

 --
 Cheers,

 Hasitha Amal De Silva
  Software Engineer
 Mobile : 0772037426
 Blog: http://devnutshell.tumblr.com/
 WSO2 Inc.: http://wso2.com ( lean.enterprise.middleware. )




-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


[Dev] Re- implemented OnFlightMessageTracker

2014-10-12 Thread Hasitha Hiranya
Hi MB Team,

Problems we had previously with OnFlightMessageTracker class (class
responsible for tracking all message deliveries)

 OnFlightMessageTracker had many complex methods (not grouped well to
methods)
 It had AMQP specific stuff
 It had time based checks
 It had synchronization issues which dropped TPS
 if we track messages fromTestAndAdd we had problems

I happened to implement a new one and got rid of all above during week-end.
But this needs to be tested well. I have tested with in-memory direct mode
and it works well. Got a TPS of 2500 from 20 threads
(For JDBC we need to do order by in JDBC level itself. Collection.sort()
after receiving results did not work.)

I vote replacing this with existing. Will we discuss this implementation
tomorrow morning?

Thanks

-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] Re- implemented OnFlightMessageTracker

2014-10-12 Thread Hasitha Hiranya
Following is the Jconsole output for

60,000 messages publish by 20 threads, received by 20 threads
mode: in-memory, direct
All ran in local machine, Linux
CPU consumption was high, mem was not accumulated.

[image: Inline image 1]

Need to see who use CPU.

Thanks

On Sun, Oct 12, 2014 at 7:47 PM, Hasitha Hiranya hasit...@wso2.com wrote:

 Hi MB Team,

 Problems we had previously with OnFlightMessageTracker class (class
 responsible for tracking all message deliveries)

  OnFlightMessageTracker had many complex methods (not grouped well to
 methods)
  It had AMQP specific stuff
  It had time based checks
  It had synchronization issues which dropped TPS
  if we track messages fromTestAndAdd we had problems

 I happened to implement a new one and got rid of all above during
 week-end.
 But this needs to be tested well. I have tested with in-memory direct mode
 and it works well. Got a TPS of 2500 from 20 threads
 (For JDBC we need to do order by in JDBC level itself. Collection.sort()
 after receiving results did not work.)

 I vote replacing this with existing. Will we discuss this implementation
 tomorrow morning?

 Thanks

 --
 *Hasitha Abeykoon*
 Senior Software Engineer; WSO2, Inc.; http://wso2.com
 *cell:* *+94 719363063*
 *blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com




-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] WSO2 MB 3.0.0 - TODOs in store aspect

2014-10-11 Thread Hasitha Hiranya
Hi Devs,

Here are some more tasks we are planning to do along milestone releases of
MB.

1. Both come as coodinator when in localhost (should consider port as well
when slecting coodinator)
2. Throw necessary SQL exceptions in JDBC (handled by Asitha now I believe)
3. Need to catch exception (most generic ) and throw
CassandaDataAccessException in CQLDataAccessHelper
4. Misleading log - in-memory message store initialized when configured
with Cassandra
5. Adjust packaging and put these as debug in log4j.propeties separated as
kernel, amqp and mqtt

   log4j.logger.org.wso2.andes.server.cassandra.QueueDeliveryWorker=DEBUG
   log4j.logger.org.wso2.andes.server.cassandra.SlotDeliveryWorker=DEBUG
   log4j.logger.org.wso2.andes.server.cassandra.OnflightMessageTracker=DEBUG
   log4j.logger.org.wso2.andes.server.cluster.coordination.hazelcast=DEBUG

  We need to separate per message logs as trace logs? We did this in MB
2.2.0.

6. Make Onflight Message Tracker NOT AMQP specific.

Thanks

On Thu, Oct 2, 2014 at 11:13 AM, Sriskandarajah Suhothayan s...@wso2.com
wrote:



 On Thu, Oct 2, 2014 at 11:06 AM, Asitha Nanayakkara asi...@wso2.com
 wrote:

 Hi Hasitha,

 Concerns regarding *deleteMessageMetadataFromQueue(final String
 queueName,ListAndesRemovableMetadata messagesToRemove)*

 This method is used to delete meta data from a specific queue *queueName
 (Note: *queueName in actual meta data would be different*). *This
 methods' use case is to delete messages from a DLC. Note that there are
 methods to add meta data to DLC too. (parameter to give the specific queue
 to be stored to)

 *public void addMetaDataToQueue(final String queueName,
 AndesMessageMetadata metadata) throws AndesException;*
 *public void addMetadataToQueue(final String queueName,
 ListAndesMessageMetadata metadata) throws AndesException;*

 For the normal use case, to delete metadata there is no separate method.
 We use the deleteMessages() method (meta data and content is removed
 through this method). But if we are going to avoid content duplication for
 topics in future we will need to add a method to deleteMetadata as well
 (without specific queue name parameter)


 +1

 Suho


 On Wed, Oct 1, 2014 at 8:53 PM, Pamod Sylvester pa...@wso2.com wrote:

 I've also got started on some re factoring of MQTT related logic we've
 implemented to fit in with the new changes.

 We also might want to further abstract out ack handling logic, since in
 MQTT the way acks are handled are quite different. So we need to address
 such polymorphic behaviours as well.

 for ex : - in AMQP when an ack arrives we purge the message, but in MQTT
 in QOS level 2 we wait for a couple of ack exchanges to consider the
 message being delivered.



 On Wed, Oct 1, 2014 at 7:13 PM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 Hi,

 I am currently doing the changes suggested by Suho and the team

 1. Introducing a Strategy Class for message store
 (async/direct/hybrid).
- So far, I could make async strategy class done.
 2. remove business logics and threads from message store and make it
 plain - done
 3. remove ackReceived from store level - done
 4. removed topic delivery worker - let us rewrite or merge to queue
 delivery worker
 5. moved message counting from message store and moved to context store
 6. prevented message store access from outside

 On the way I had to make modifications and improvements to the existing
 model.
 Also cleaned up Global queues whenever I met going thro the code when
 doing above change.

 There are still changes needs to be done.

  what to do when last subscriber goes
  for topic in mbeans how to get message count
  for topics in mbeans for subscriptions how to get pending message
 counts
  queue browserdelivery worker, need to rewrite getSortedMessages()

  ack received moved to messaging engine. Logic resides at messaging
 engine (tracking aspect) and message store manager (store aspect)
  reimplement topic delivery worker

 messageStore or message store manager is never given out of message
 engine. Do not call them directly. Always use MessagingEngine for message
 operations.

 public void deleteMessages method in message store has a logic. Should
 be removed.

 public void deleteMessageMetadataFromQueue(final String
 queueName,ListAndesRemovableMetadata messagesToRemove) why there is a
 queue name? AndesRemovableMetadata has queue name inside.

 QueueSubscriptionAcknowledgementHandler need to revisit this class.
 What does this do?? It has threads etc that never stops

 Should remove all global queue related stuff from cluster manager

 should remove all zookeeper related things from whole project up to MB
 product from dependancy level

 moved all message count related stuff to Context store. Now, need to
 implement thsose for jdbc.

 deleteMessageMetadataFromQueue(queueName,removableMetadata)
 @MessageStore. Why queue name? We should get rid of it and implement.

 Thanks

 On Wed, Oct 1, 2014 at 9:25 AM, Darshana

Re: [Dev] WSO2 MB 3.0.0 - TODOs in store aspect

2014-10-11 Thread Hasitha Hiranya
On Sat, Oct 11, 2014 at 6:32 PM, Asitha Nanayakkara asi...@wso2.com wrote:

 Hi Hasitha,

 On Sat, Oct 11, 2014 at 2:50 PM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 Hi Devs,

 Here are some more tasks we are planning to do along milestone releases
 of MB.

 1. Both come as coodinator when in localhost (should consider port as
 well when slecting coodinator)
 2. Throw necessary SQL exceptions in JDBC (handled by Asitha now I
 believe)


 When in clustered mode if in memory mode is used an exception is thrown
 and the message stores won't get initialized. And each method in the RDBMS
 store classes throws AndesException when an SQLException occur.


   AFIR you were missing stack Trace from JDBC driver. Maybe this is fixed
now.



 3. Need to catch exception (most generic ) and throw
 CassandaDataAccessException in CQLDataAccessHelper
 4. Misleading log - in-memory message store initialized when configured
 with Cassandra


 This Log  is due to the in memory message store that was there in
 MessagingEngine. We have removed it. With that change integrated to the
 pack this log and the initialisation of in memory message store won't
 happen.


 +1


 5. Adjust packaging and put these as debug in log4j.propeties separated as
 kernel, amqp and mqtt

log4j.logger.org.wso2.andes.server.cassandra.QueueDeliveryWorker=DEBUG
log4j.logger.org.wso2.andes.server.cassandra.SlotDeliveryWorker=DEBUG

  log4j.logger.org.wso2.andes.server.cassandra.OnflightMessageTracker=DEBUG
log4j.logger.org.wso2.andes.server.cluster.coordination.hazelcast=DEBUG

   We need to separate per message logs as trace logs? We did this in MB
 2.2.0.

 6. Make Onflight Message Tracker NOT AMQP specific.

 Thanks

 On Thu, Oct 2, 2014 at 11:13 AM, Sriskandarajah Suhothayan s...@wso2.com
  wrote:



 On Thu, Oct 2, 2014 at 11:06 AM, Asitha Nanayakkara asi...@wso2.com
 wrote:

 Hi Hasitha,

 Concerns regarding *deleteMessageMetadataFromQueue(final String
 queueName,ListAndesRemovableMetadata messagesToRemove)*

 This method is used to delete meta data from a specific queue *queueName
 (Note: *queueName in actual meta data would be different*). *This
 methods' use case is to delete messages from a DLC. Note that there are
 methods to add meta data to DLC too. (parameter to give the specific queue
 to be stored to)

 *public void addMetaDataToQueue(final String queueName,
 AndesMessageMetadata metadata) throws AndesException;*
 *public void addMetadataToQueue(final String queueName,
 ListAndesMessageMetadata metadata) throws AndesException;*

 For the normal use case, to delete metadata there is no separate
 method. We use the deleteMessages() method (meta data and content is
 removed through this method). But if we are going to avoid content
 duplication for topics in future we will need to add a method to
 deleteMetadata as well (without specific queue name parameter)


 +1

 Suho


 On Wed, Oct 1, 2014 at 8:53 PM, Pamod Sylvester pa...@wso2.com wrote:

 I've also got started on some re factoring of MQTT related logic we've
 implemented to fit in with the new changes.

 We also might want to further abstract out ack handling logic, since
 in MQTT the way acks are handled are quite different. So we need to 
 address
 such polymorphic behaviours as well.

 for ex : - in AMQP when an ack arrives we purge the message, but in
 MQTT in QOS level 2 we wait for a couple of ack exchanges to consider the
 message being delivered.



 On Wed, Oct 1, 2014 at 7:13 PM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 Hi,

 I am currently doing the changes suggested by Suho and the team

 1. Introducing a Strategy Class for message store
 (async/direct/hybrid).
- So far, I could make async strategy class done.
 2. remove business logics and threads from message store and make it
 plain - done
 3. remove ackReceived from store level - done
 4. removed topic delivery worker - let us rewrite or merge to queue
 delivery worker
 5. moved message counting from message store and moved to context
 store
 6. prevented message store access from outside

 On the way I had to make modifications and improvements to the
 existing model.
 Also cleaned up Global queues whenever I met going thro the code when
 doing above change.

 There are still changes needs to be done.

  what to do when last subscriber goes
  for topic in mbeans how to get message count
  for topics in mbeans for subscriptions how to get pending message
 counts
  queue browserdelivery worker, need to rewrite getSortedMessages()

  ack received moved to messaging engine. Logic resides at messaging
 engine (tracking aspect) and message store manager (store aspect)
  reimplement topic delivery worker

 messageStore or message store manager is never given out of message
 engine. Do not call them directly. Always use MessagingEngine for message
 operations.

 public void deleteMessages method in message store has a logic.
 Should be removed.

 public void deleteMessageMetadataFromQueue

Re: [Dev] Integrating topics to MB

2014-10-05 Thread Hasitha Hiranya
 separate insert statement to create a ref
 counter and separate statement to update count we can over come writing
 vendor specific SQL queries for reference counting (For RDBMS). Since the
 idea is to recommend Cassandra for MessageStore and a RDBMS
 AndesContextStore we would be better off that way. Plus this will avoid 
 the
 need to track reference counts in memory avoiding losing the reference
 counts when a node gets killed. WDYT?


 Thanks

 On Sun, Oct 5, 2014 at 6:57 AM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 Hi Team,


 Following is my vision on intregating topics to MB

  we duplicate metadata per subscriber. It will not create a big
 overhead.
  we do not duplicate content per subscriber, but we duplicate
 content per node
  I hereby assume that we do handle acks for topics. We need a
 reasearch on that.

 When a topic subscriber is created
 1. qpid creates a temp queue
 2. qpid creates a binding for that queue to topic exchange using
 topic name as binding key.
 3. qpid creates a subscription for the temp queue.

 when a topic subscriber is closed qpid does above 3 things in reverse
 order.

 Adhering to this model,

 1. We store metadata in the same way we use for normal queues.
 2. We use the same SlotDelivery worker and the flusher. There is
 NOTHING called topic delivery worker
 3. when show in UI we filter durable ones and show
 4. when a subscriber closes, queue is deleted. We do same thing as
 for normal queues.
 5. Whenever we insert metadata, we duplicate metadata for each temp
 queue (per subscriber). We know the nodes where subscriers lies, do we 
 can
 duplicate content for those nodes (one copy for node).
 6. We need to introduce a new tracking per subscriber in on flight
 message tracker, which is common for queues as well. when a metadata is
 inserted for a message id we increase a count.
 When an ack came for that metadata we decrement it. If it is
 zero, content is ready to be removed. we do not track this count globally
 as we have a copy of content per node. Thus reference count do not need 
 to
 be global. It is a local in-memory tracking.
 7. queue change handler - if delete - execute normal delete (remove
 all metadata), decrement reference counts. Thread that delete content 
 will
 detect that and will delete offline. This way only if all subscribers are
 gone, content is removed.

 8. Should be careful abt hierarchical topics. We use our maps to
 identify queues bound to a topic. MQTT, AMQP confusion should be solved
 there.

 *Thanks *


 --
 *Hasitha Abeykoon*
 Senior Software Engineer; WSO2, Inc.; http://wso2.com
 *cell:* *+94 719363063*
 *blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com




 --
 *Asitha Nanayakkara*
 Software Engineer
 WSO2, Inc. http://wso2.com/
 Mob: + 94 77 85 30 682




 --
 *Pamod Sylvester *
  *Senior Software Engineer *
 Integration Technologies Team, WSO2 Inc.; http://wso2.com
 email: pa...@wso2.com cell: +94 77 7779495




 --
 *Asitha Nanayakkara*
 Software Engineer
 WSO2, Inc. http://wso2.com/
 Mob: + 94 77 85 30 682




 --
 *Pamod Sylvester *
  *Senior Software Engineer *
 Integration Technologies Team, WSO2 Inc.; http://wso2.com
 email: pa...@wso2.com cell: +94 77 7779495




 --
 *Asitha Nanayakkara*
 Software Engineer
 WSO2, Inc. http://wso2.com/
 Mob: + 94 77 85 30 682




-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


[Dev] Integrating topics to MB

2014-10-04 Thread Hasitha Hiranya
Hi Devs,

Following is my vision on intregating topics to MB

 we duplicate metadata per subscriber. It will not create a big overhead.
 we do not duplicate content per subscriber, but we duplicate content per
node
 I hereby assume that we do handle acks for topics. We need a reasearch
on that.

When a topic subscriber is created
1. qpid creates a temp queue
2. qpid creates a binding for that queue to topic exchange using topic name
as binding key.
3. qpid creates a subscription for the temp queue.

when a topic subscriber is closed qpid does above 3 things in reverse
order.

Adhering to this model,

1. We store metadata in the same way we use for normal queues.
2. We use the same SlotDelivery worker and the flusher. There is NOTHING
called topic delivery worker
3. when show in UI we filter durable ones and show
4. when a subscriber closes, queue is deleted. We do same thing as for
normal queues.
5. Whenever we insert metadata, we duplicate metadata for each temp queue
(per subscriber). We know the nodes where subscriers lies, do we can
duplicate content for those nodes (one copy for node).
6. We need to introduce a new tracking per subscriber in on flight message
tracker, which is common for queues as well. when a metadata is inserted
for a message id we increase a count.
When an ack came for that metadata we decrement it. If it is zero,
content is ready to be removed. we do not track this count globally as we
have a copy of content per node. Thus reference count do not need to be
global. It is a local in-memory tracking.
7. queue change handler - if delete - execute normal delete (remove all
metadata), decrement reference counts. Thread that delete content will
detect that and will delete offline. This way only if all subscribers are
gone, content is removed.

8. Should be careful abt hierarchical topics. We use our maps to identify
queues bound to a topic. MQTT, AMQP confusion should be solved there.


-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] WSO2 MB 3.0.0 - TODOs in store aspect

2014-10-01 Thread Hasitha Hiranya
Hi,

I am currently doing the changes suggested by Suho and the team

1. Introducing a Strategy Class for message store (async/direct/hybrid).
   - So far, I could make async strategy class done.
2. remove business logics and threads from message store and make it plain
- done
3. remove ackReceived from store level - done
4. removed topic delivery worker - let us rewrite or merge to queue
delivery worker
5. moved message counting from message store and moved to context store
6. prevented message store access from outside

On the way I had to make modifications and improvements to the existing
model.
Also cleaned up Global queues whenever I met going thro the code when doing
above change.

There are still changes needs to be done.

 what to do when last subscriber goes
 for topic in mbeans how to get message count
 for topics in mbeans for subscriptions how to get pending message counts
 queue browserdelivery worker, need to rewrite getSortedMessages()

 ack received moved to messaging engine. Logic resides at messaging
engine (tracking aspect) and message store manager (store aspect)
 reimplement topic delivery worker

messageStore or message store manager is never given out of message engine.
Do not call them directly. Always use MessagingEngine for message
operations.

public void deleteMessages method in message store has a logic. Should be
removed.

public void deleteMessageMetadataFromQueue(final String
queueName,ListAndesRemovableMetadata messagesToRemove) why there is a
queue name? AndesRemovableMetadata has queue name inside.

QueueSubscriptionAcknowledgementHandler need to revisit this class. What
does this do?? It has threads etc that never stops

Should remove all global queue related stuff from cluster manager

should remove all zookeeper related things from whole project up to MB
product from dependancy level

moved all message count related stuff to Context store. Now, need to
implement thsose for jdbc.

deleteMessageMetadataFromQueue(queueName,removableMetadata) @MessageStore.
Why queue name? We should get rid of it and implement.

Thanks

On Wed, Oct 1, 2014 at 9:25 AM, Darshana Akalanka Pagoda Arachchi 
darsha...@wso2.com wrote:

 Hi,

 Also I think we need to take a look at the CQL Database schema since for
 most of the column families including Meta Data column family and Message
 Content Column family we use the same schema. Because of this the message
 Id which is the primary key in Message Content column family has to be
 converted into String (which is Long) before saving.

 On Tue, Sep 30, 2014 at 10:56 PM, Asitha Nanayakkara asi...@wso2.com
 wrote:

 Hi Shammi,

 In the existing version of MB, for topics we duplicate the content and
 metadata. We thought of having reference counting to avoid duplication of
 message content. But implementing reference counting in Cassandra is
 unreliable (JDBC is ok). Also having different logic for different database
 types is inconsistent with what we wanted to achieve through the new
 storage model (with abstracted out MessageStore interface and storing
 strategies).

 One of the options would be to duplicate metadata with a reference to the
 same content (need a new field in metadata). One of the concerns is how to
 delete content safely without deleting content prior to all the
 subscribers, for the topic, successfully receive the message.

 I think we will have to discuss and relook at what is the best approach
 for this.

 Thanks

 On Tue, Sep 30, 2014 at 4:21 PM, Shammi Jayasinghe sha...@wso2.com
 wrote:

 Hi Hasitha,

 Could you please clarify what you mention my duplicating message
 metadata and content.

 Thanks
 Shammi



 On Tue, Sep 30, 2014 at 11:21 AM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 Hi Devs,

 For MB 3.0.0 we have identified following TODOs for the moment on the
 way to milestone 1.

 duplicate message metadata and content
 message store manager (all methods in message store to be moved to
 manager??)
 durable for in-memory
 depreciated methods in message store remove
 Cassandra server feature remove with Cassandra profile
 Ackreceived - should be removed from message store
 remove all logics from message store and make it plain
 why acks are sent to disruptor??

 topic integration

 Thanks
 --
 *Hasitha Abeykoon*
 Senior Software Engineer; WSO2, Inc.; http://wso2.com
 *cell:* *+94 719363063*
 *blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com




 --
 Best Regards,

 *  Shammi Jayasinghe*
 Associate Tech Lead
 WSO2, Inc.; http://wso2.com,
 mobile: +94 71 4493085




 --
 *Asitha Nanayakkara*
 Software Engineer
 WSO2, Inc. http://wso2.com/
 Mob: + 94 77 85 30 682


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




 --
 *Darshana Akalanka Pagoda Arachchi,*
 *Software Engineer*
 *078-4721791*

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

Re: [Dev] WSO2 Commiters += Rajith Siriwardena

2014-09-30 Thread Hasitha Hiranya
Congratulations Rajith..!!

On Tue, Sep 30, 2014 at 1:48 PM, Harshan Liyanage hars...@wso2.com wrote:

 Congratulations Rajith !!!

 Best Regards,

 Lakshitha Harshan
 Software Engineer
 Mobile: *+94724423048*
 Email: hars...@wso2.com
 Blog : http://harshanliyanage.blogspot.com/
 *WSO2, Inc. :** wso2.com http://wso2.com/*
 lean.enterprise.middleware.

 On Mon, Sep 29, 2014 at 1:37 PM, Gimantha Bandara giman...@wso2.com
 wrote:

 Congratulations Rajith!

 On Mon, Sep 29, 2014 at 9:44 AM, Rajith Vitharana raji...@wso2.com
 wrote:

 Congratulations from one Rajith to the other  :)

 On Fri, Sep 26, 2014 at 6:00 PM, Abimaran Kugathasan abima...@wso2.com
 wrote:

 Congrats Rajith!

 On Fri, Sep 26, 2014 at 11:55 AM, Suhan Dharmasuriya suh...@wso2.com
 wrote:

 Congratz Rajith!

 On Fri, Sep 26, 2014 at 11:21 AM, Manula Chathurika Thantriwatte 
 manu...@wso2.com wrote:

 Congratulations Rajith !!!

 On Fri, Sep 26, 2014 at 11:18 AM, Lasindu Charith lasi...@wso2.com
 wrote:

 Congratz Rajith ..!!!

 On Fri, Sep 26, 2014 at 10:33 AM, Niranda Perera nira...@wso2.com
 wrote:

 Congrats Rajith! :-)

 On Fri, Sep 26, 2014 at 10:28 AM, Harsha Kumara hars...@wso2.com
 wrote:

 Congratulations Rajith!

 On Fri, Sep 26, 2014 at 10:19 AM, Gayashan Amarasinghe 
 gayas...@wso2.com wrote:

 Congratulations Rajith!!!

 On Fri, Sep 26, 2014 at 10:12 AM, Jenananthan Yogendran 
 jenanant...@wso2.com wrote:

 Congrats Rajith

 On Fri, Sep 26, 2014 at 10:04 AM, Roshan Wijesena 
 ros...@wso2.com wrote:

 Congrats Rajith..!!

 On Fri, Sep 26, 2014 at 9:59 AM, Ishara Cooray 
 isha...@wso2.com wrote:

 Congrats Rajith..!

 Ishara Cooray
 Senior Software Engineer
 Mobile : +9477 262 9512
 WSO2, Inc. | http://wso2.com/
 Lean . Enterprise . Middleware

 On Fri, Sep 26, 2014 at 9:55 AM, Darshana Akalanka Pagoda
 Arachchi darsha...@wso2.com wrote:

 Congratulations Rajith...!!!

 On Fri, Sep 26, 2014 at 9:48 AM, Kasun De Silva 
 kas...@wso2.com wrote:

 Congrats Rajith !!!

 *Kasun de Silva*
 Software Engineer | *WSO2 Inc.*; http://wso2.com
 lean.enterprise.middleware

 email   : kas...@wso2.com
 mobile : +94 77 794 4260


 On Fri, Sep 26, 2014 at 9:44 AM, Isuru Ranawaka 
 isu...@wso2.com wrote:

 Congrats Rajith

 On Fri, Sep 26, 2014 at 9:39 AM, Malintha Adikari 
 malin...@wso2.com wrote:

 Congrats Rajith!

 On Fri, Sep 26, 2014 at 9:11 AM, Kalpa Welivitigoda 
 kal...@wso2.com wrote:

 Congratulations Rajith !

 On Fri, Sep 26, 2014 at 9:08 AM, Rajkumar Rajaratnam 
 rajkum...@wso2.com wrote:

 Congratulations !!!

 On Fri, Sep 26, 2014 at 9:06 AM, Ayesha Dissanayaka 
 aye...@wso2.com wrote:

 Congratulations Rajith!!

 On Fri, Sep 26, 2014 at 9:04 AM, Yasassri Ratnayake 
 yasas...@wso2.com wrote:

 Congrats Rajith!

 On Fri, Sep 26, 2014 at 8:52 AM, Chamila
 Adhikarinayake chami...@wso2.com wrote:

 Congratulations!!

 On Fri, Sep 26, 2014 at 8:42 AM, Sajini De Silva 
 saj...@wso2.com wrote:

 Congratulations Rajith!!!

 On Fri, Sep 26, 2014 at 8:38 AM, Sameera Jayaratna 
 samee...@wso2.com wrote:

 Congratulations!!

 On Fri, Sep 26, 2014 at 8:36 AM, Thilini Shanika 
 thili...@wso2.com wrote:

 Congratulations !!

 On Fri, Sep 26, 2014 at 8:30 AM, Darshana
 Gunawardana darsh...@wso2.com wrote:

 Congratulations Rajith..!!

 On Fri, Sep 26, 2014 at 8:17 AM, Dunith Dhanushka
 dun...@wso2.com wrote:

 Congrats Rajith!

 On Fri, Sep 26, 2014 at 7:58 AM, Nipuni Perera 
 nip...@wso2.com wrote:

 Congratulations !!!



 On Fri, Sep 26, 2014 at 6:35 AM, Dakshika
 Jayathilaka daksh...@wso2.com wrote:

 Congratulation Rajith... !!

 *Dakshika Jayathilaka*
 Software Engineer
 WSO2, Inc.
 lean.enterprise.middleware
 0771100911

 On Fri, Sep 26, 2014 at 4:35 AM, Amila Maha
 Arachchi ami...@wso2.com wrote:

 Hi all,

 Its my pleasure to welcome Rajith Siriwardena
 as a WSO2 Committer. Rajith is a member of WSO2 
 Cloud team and he has done
 a great contribution to WSO2 Cloud and has shown 
 great enthusiasm in his
 work. In recognition of his contribution, he has 
 been voted as a WSO2
 Committer.

 Rajith, welcome aboard and keep up the good
 work..

 Regards,
 Amila.

 --
 *Amila Maharachchi*
 Senior Technical Lead
 WSO2, Inc.; http://wso2.com

 Blog: http://maharachchi.blogspot.com
 Mobile: +94719371446



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



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




 --
 Nipuni Perera
 Software Engineer; WSO2 Inc.; http://wso2.com
 Email: nip...@wso2.com
 Git hub profile: https://github.com/nipuni
 Mobile: +94 (71) 5626680
 http://wso2.com


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




 --
 Regards,

 Dunith Dhanushka,
 Senior Software Engineer - BAM,
 WSO2 Inc,

 Mobile - +94 71 8615744
 Blog - dunithd.wordpress.com
 http://blog.dunith.com
 Twitter - 

  1   2   3   >