[Dev] [Architecture] [Announcement] WSO2 Enterprise Integrator 7.1.0 Released !

2020-09-09 Thread Sasikala Kottegoda
gration-Studio/
Streaming Integrator 1.1.0Key Features and Improvements

Error Capturing and Event Replay

   - Capability to capture erroneous events and store them
   - Error store browser for detailed information on each error
   - Event replay support to replay the erroneous events after corrective
   action

Data Flow Monitoring

   - Grafana and Prometheus based monitoring dashboard
   - Statistics on CDC, File processing and DB interactions
   - Stats and figures at different granularities with drill down capability

New Connectors

   - Azure Data Lake
   - CDC for MongoDB
   - File system event listener
   - Improvements to S3 connector to support file operations

Extension Installation

   - Command line tool assist installing extensions/connectors with ease
   - Automatically download all required dependencies from a single command
   - Notify users of required extensions by parsing siddhi apps

DownloadWSO2 Streaming Integrator can be downloaded via the website
<https://wso2.com/integration/streaming-integrator/>.DocumentationOnline
documentation is available at
https://ei.docs.wso2.com/en/7.1.0/streaming-integrator/quick-start-guide/quick-start-guide/
DockerDocker image can be downloaded from docker hub under the name
wso2/streaming-integrator
<https://hub.docker.com/r/wso2/streaming-integrator>Streaming Integrator
Tooling 1.1.0Key Features and Improvements Streaming ETL Task wizard

   - Allows to build a simple ETL task with no code in matter of minutes
   - Configure the data source and sink
   - Process input data with using filters and aggregations
   - Graphical data mapping capability

Improvements To Design View

   - Extensive support for CDC and File connectors with Cron expression
   generation UI

Error Store Browser

   - Browse through the captured errors
   - Detailed view on each error with the log extracts, input payload
   - Allows user to alter the payload if required and replay the events

DownloadWSO2 Streaming Integrator tooling can be downloaded via the website
<https://wso2.com/integration/streaming-integrator/>.DocumentationOnline
documentation is available at
https://ei.docs.wso2.com/en/7.1.0/streaming-integrator/develop/developing-streaming-integration-solutions/

~ The Enterprise Integrator Team ~

-- 
Sasikala Kottegoda
*Associate Technical Lead*
WSO2 Inc., http://wso2.com/
lean. enterprise. middleware
Mobile: +94 774835928

[image: https://wso2.com/signature] <https://wso2.com/signature>
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] [Architecture] [VOTE] Release WSO2 Micro Integrator 1.2.0-RC1

2020-08-05 Thread Sasikala Kottegoda
hanced experience for handling security (Ciphertool,
>>>>>>>Securevault, Kubernetes Secret)
>>>>>>>-
>>>>>>>
>>>>>>>Support for hot deployment
>>>>>>>-
>>>>>>>
>>>>>>>Schema-based XML to JSON transformations with 'JSON Transform
>>>>>>>mediator'
>>>>>>>-
>>>>>>>
>>>>>>>Swagger generation for data services
>>>>>>>-
>>>>>>>
>>>>>>>Transaction counter for services
>>>>>>>-
>>>>>>>
>>>>>>>Support for SMB version 3.0
>>>>>>>-
>>>>>>>
>>>>>>>Environment / System variable support for K8s
>>>>>>>-
>>>>>>>
>>>>>>>CLI with enhanced functionalities
>>>>>>>
>>>>>>>
>>>>>>> List of tasks/bug fixes and improvements shipped with this release
>>>>>>> can be found in Tasks/bug fixes and improvements
>>>>>>> <https://github.com/wso2/micro-integrator/issues?q=is%3Aissue+closed%3A2019-10-08..2020-07-28>
>>>>>>>
>>>>>>> Downloads
>>>>>>>
>>>>>>> Source and binary distributions:
>>>>>>> https://github.com/wso2/micro-integrator/releases/tag/v1.2.0-rc1
>>>>>>>
>>>>>>> Docker: Please check wso2mi <https://hub.docker.com/r/wso2/wso2mi>
>>>>>>> and wso2mi-dashboard
>>>>>>> <https://hub.docker.com/r/wso2/wso2mi-dashboard> repositories in
>>>>>>> Docker Hub.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Known Issues: https://github.com/wso2/micro-integrator/issues
>>>>>>>
>>>>>>> The tag to be voted upon:
>>>>>>> https://github.com/wso2/micro-integrator/releases/tag/v1.2.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://ei.docs.wso2.com/en/7.1.0/micro-integrator/overview/introduction/
>>>>>>>
>>>>>>> ~ The WSO2 Enterprise Integration Team ~
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> *S.Srivathsan*
>>>>>>> Software Engineer | WSO2
>>>>>>> (M) +94 774606335 | (E) srivath...@wso2.com
>>>>>>> ___
>>>>>>> Dev mailing list
>>>>>>> Dev@wso2.org
>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> *Prabushi Samarakoon*
>>>>>> Mobile: +94715434580
>>>>>> Email: prabus...@wso2.com
>>>>>>
>>>>>>
>>>>>> ___
>>>>>> Dev mailing list
>>>>>> Dev@wso2.org
>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> *Dilan Tharaka* | Senior Software Engineer | WSO2 Inc.
>>>>> (m) +94 (71) 3056011 | (w) +94 (11) 2145345 | (e) dila...@wso2.com
>>>>> <https://wso2.com/signature>
>>>>> ___
>>>>> Dev mailing list
>>>>> Dev@wso2.org
>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>
>>>>
>>>>
>>>> --
>>>>
>>>> *Rosen Silva*
>>>> Senior Software Engineer - WSO2
>>>>
>>>> Email: ros...@wso2.com
>>>> Mobile: +94770677418
>>>> Web: https://wso2.com/
>>>> ___
>>>> Dev mailing list
>>>> Dev@wso2.org
>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>
>>>
>>>
>>> --
>>>
>>> *Danushka Madhuranga*
>>>
>>> Software Engineer | WSO2 Inc
>>>
>>> Mobile : +94 774665325
>>>
>>>
>>> <http://wso2.com/signature>
>>> ___
>>> Architecture mailing list
>>> architect...@wso2.org
>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>
>>
>>
>> --
>> *S.Srivathsan*
>> Software Engineer | WSO2
>> (M) +94 774606335 | (E) srivath...@wso2.com
>> ___
>> Dev mailing list
>> Dev@wso2.org
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
> ___
> Architecture mailing list
> architect...@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>


-- 
Sasikala Kottegoda
*Associate Technical Lead*
WSO2 Inc., http://wso2.com/
lean. enterprise. middleware
Mobile: +94 774835928

[image: https://wso2.com/signature] <https://wso2.com/signature>
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] [Architecture] [VOTE] Release WSO2 Micro Integrator 1.2.0-RC1

2020-07-31 Thread Sasikala Kottegoda
Hi all,

I have conducted basic smoke tests against Adopt Open jdk 11 in windows and
also have tested plugging in an external WSO2 user store based on the
database/LDAP, and found no blockers.

[+] Stable go ahead and release.

Thank you,
Sasikala


On Tue, Jul 28, 2020 at 1:04 PM Srivathsan Shanmuganathan <
srivath...@wso2.com> wrote:

> Hi all,
>
> We are pleased to announce the first release candidate of WSO2 Micro
> Integrator 1.2.0.
>
> What's new in Micro Integrator 1.2.0
>
>
>-
>
>Task coordination support for distributed deployments
>-
>
>Support to view and configure logs without accessing the file system
>-
>
>User management with external user stores
>-
>
>Readiness probe for health checking
>-
>
>Enhanced experience for handling security (Ciphertool, Securevault,
>Kubernetes Secret)
>-
>
>Support for hot deployment
>-
>
>Schema-based XML to JSON transformations with 'JSON Transform mediator'
>-
>
>Swagger generation for data services
>-
>
>Transaction counter for services
>-
>
>Support for SMB version 3.0
>-
>
>Environment / System variable support for K8s
>-
>
>CLI with enhanced functionalities
>
>
> List of tasks/bug fixes and improvements shipped with this release can be
> found in Tasks/bug fixes and improvements
> <https://github.com/wso2/micro-integrator/issues?q=is%3Aissue+closed%3A2019-10-08..2020-07-28>
>
> Downloads
>
> Source and binary distributions:
> https://github.com/wso2/micro-integrator/releases/tag/v1.2.0-rc1
>
> Docker: Please check wso2mi <https://hub.docker.com/r/wso2/wso2mi> and
> wso2mi-dashboard <https://hub.docker.com/r/wso2/wso2mi-dashboard>
> repositories in Docker Hub.
>
>
>
> Known Issues: https://github.com/wso2/micro-integrator/issues
>
> The tag to be voted upon:
> https://github.com/wso2/micro-integrator/releases/tag/v1.2.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://ei.docs.wso2.com/en/7.1.0/micro-integrator/overview/introduction/
>
> ~ The WSO2 Enterprise Integration Team ~
>
>
> --
> *S.Srivathsan*
> Software Engineer | WSO2
> (M) +94 774606335 | (E) srivath...@wso2.com
> ___
> Architecture mailing list
> architect...@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>


-- 
Sasikala Kottegoda
*Associate Technical Lead*
WSO2 Inc., http://wso2.com/
lean. enterprise. middleware
Mobile: +94 774835928

[image: https://wso2.com/signature] <https://wso2.com/signature>
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


[Dev] [Architecture] [Announce] WSO2 Micro Integrator 1.2.0-M4 Released!

2020-04-26 Thread Sasikala Kottegoda
The WSO2 Enterprise Integrator Team  team is pleased to announce the
release of WSO2 Micro Integrator 1.2.0-m4.


Download

This release lets you download the following artifacts:

   -

   Micro Integrator Runtime
   
<https://github.com/wso2/micro-integrator/releases/download/v1.2.0-m4/wso2mi-1.2.0-m4.zip>
   -

   Monitoring Dashboard
   
<https://github.com/wso2/micro-integrator/releases/download/v1.2.0-m4/wso2mi-monitoring-dashboard-1.2.0-m4.zip>
   -

   CLI Distributions
   -

  Linux 64bit
  
<https://github.com/wso2/micro-integrator/releases/download/v1.2.0-m4/wso2mi-cli-1.2.0-m4-linux-x64.tar.gz>
  -

  Linux 32bit
  
<https://github.com/wso2/micro-integrator/releases/download/v1.2.0-m4/wso2mi-cli-1.2.0-m4-linux-i586.tar.gz>
  -

  Windows 64bit
  
<https://github.com/wso2/micro-integrator/releases/download/v1.2.0-m4/wso2mi-cli-1.2.0-m4-windows-x64.zip>
  -

  Windows 32bit
  
<https://github.com/wso2/micro-integrator/releases/download/v1.2.0-m4/wso2mi-cli-1.2.0-m4-windows-i586.zip>
  -

  Mac OS
  
<https://github.com/wso2/micro-integrator/releases/download/v1.2.0-m4/wso2mi-cli-1.2.0-m4-macosx-x64.tar.gz>

Docker

Simply get started with Micro Integrator in Docker by browsing wso2mi
<https://hub.docker.com/r/wso2/wso2mi> and wso2mi-dashboard
<https://hub.docker.com/r/wso2/wso2mi-dashboard> repositories in Docker Hub.


What's new in WSO2 Micro Integrator 1.2.0-M4

A list of tasks/bug fixes and improvements shipped with this release can be
found below:

   -

   Tasks/bug fixes and improvements
   <https://github.com/wso2/micro-integrator/milestone/13?closed=1>

DocumentationOnline documentation is available at
https://ei.docs.wso2.com/en/next/micro-integrator/overview/introduction/Contribute
to WSO2 Micro IntegratorMailing ListsJoin our mailing lists and correspond
with the developers directly. We also encourage you to take part in
discussions related to the product in the architecture mailing list. If you
have any questions regarding the product you can use our StackOverflow
forum and Slack Channel.Developer List: dev@wso2.orgArchitecture List:
architecture@wso2.orgUser Forum: StackOverflow
<https://stackoverflow.com/questions/tagged/wso2mi>Slack Channel:
https://ei-slack.wso2.com/Reporting Issues

We encourage you to report issues, improvements and feature requests
regarding WSO2 Micro Integrator through our public WSO2 Micro Integrator
GIT Issues <https://github.com/wso2/micro-integrator/issues>

Important: Please be advised that security issues must be reported to
secur...@wso2.com, not as GitHub issues, in order to reach the proper
audience. We strongly advise following the WSO2 Security Vulnerability
Reporting Guidelines
<https://docs.wso2.com/display/Security/WSO2+Security+Vulnerability+Reporting+Guidelines>
when reporting the security issues.

~ The WSO2 Enterprise Integration Team ~

-- 
Sasikala Kottegoda
*Associate Technical Lead*
WSO2 Inc., http://wso2.com/
lean. enterprise. middleware
Mobile: +94 774835928

[image: https://wso2.com/signature] <https://wso2.com/signature>
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


[Dev] WSO2 Committers += Srivathsan Shanmuganathan

2019-11-26 Thread Sasikala Kottegoda
Hi All,

It's my pleasure to announce Srivathsan Shanmuganathan as a WSO2 Committer.
He has been a valuable contributor to WSO2.

Congratulations Srivathsan and keep up the good work..!

Thank you,
Sasikala
-- 
Sasikala Kottegoda
*Associate Technical Lead*
WSO2 Inc., http://wso2.com/
lean. enterprise. middleware
Mobile: +94 774835928

[image: https://wso2.com/signature] <https://wso2.com/signature>
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


[Dev] WSO2 Committers += Arunan Sugunakumar

2019-11-25 Thread Sasikala Kottegoda
Hi All,

It's my pleasure to announce Arunan Sugunakumar as a WSO2 Committer. He has
been a valuable contributor to WSO2.

Congratulations Arunan and keep up the good work..!

Thank you,
Sasikala
-- 
Sasikala Kottegoda
*Associate Technical Lead*
WSO2 Inc., http://wso2.com/
lean. enterprise. middleware
Mobile: +94 774835928

[image: https://wso2.com/signature] <https://wso2.com/signature>
___
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 Sasikala Kottegoda
+1 to *securevault* since it's already inside micro-integrator.

Thank you,
Sasikala

On Tue, Aug 7, 2018 at 6:53 PM Godwin Shrimal  wrote:

> +1 to *securevault*. Since word micro is redundant here and its coming
> with the profile name itself.
>
> Thanks
> Godwin
>
> On Tue, Aug 7, 2018 at 2:09 PM Lahiru Madushanka 
> wrote:
>
>> +1 to *micro-*securevault*.sh*
>>
>> On Tue, Aug 7, 2018 at 5:19 PM Hasitha Hiranya  wrote:
>>
>>> 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
>>>>
>>>> <http://wso2.com/signature>
>>>> ___
>>>> 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* <http://abeykoon.blogspot.com>
>>>
>>> ___
>>> 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
>>
>
>
> --
> *Godwin Amila Shrimal*
> Associate Technical Lead
> WSO2 Inc.; http://wso2.com
> lean.enterprise.middleware
>
> mobile: *+94772264165*
> linkedin: *https://www.linkedin.com/in/godwin-amila-2ba26844/
> <https://www.linkedin.com/in/godwin-amila-2ba26844/>*
> twitter: https://twitter.com/godwinamila
> <http://wso2.com/signature>
> ___
> 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] <https://wso2.com/signature>
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


[Dev] WSO2 Enterprise Integrator 6.1.1-update6 Released!

2017-10-04 Thread Sasikala Kottegoda
Hi all,

The WSO2 Integration team is pleased to announce the release of Enterprise
Integrator 6.1.1-update6. It is available for download from here
<https://github.com/wso2/product-ei/releases/download/v6.1.1-update6/wso2ei-6.1.1-update6.zip>
.

*Tasks/Bug Fixes and Improvements*

https://wso2.org/jira/issues?filter=13993
https://github.com/wso2/product-ei/issues?q=is%3Aissue+milestone%3A6.1.1-update6+is%3Aclosed

​​*List of Open Issues*

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

*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 ~
-- 
Sasikala Kottegoda
*Senior Software Engineer*
WSO2 Inc., http://wso2.com/
lean. enterprise. middleware
Mobile: +94 774835928

[image: https://wso2.com/signature] <https://wso2.com/signature>
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] [Vote] Release WSO2 Enterprise Integrator 6.1.1 RC1

2017-05-02 Thread Sasikala Kottegoda
Hi all,

I have tested distributed transactions for the broker profile of WSO2
Enterprise Integrator 6.1.1 for the following scenarios:
- dtx commit - Publish message to queue. Transactionally receive and
publish to another queue
- dtx rollback - Publish message to the same queue. Rollback the message
continuously and and verify that it ends up in DLC.
- dtx recover - Recover before and after preparing
- Session joining

[+] Stable - go ahead and release

Thank you,
Sasikala

On Fri, Apr 28, 2017 at 5:50 PM, Milinda Perera <milin...@wso2.com> wrote:

> Hi Devs,
>
> This is the first release candidate of WSO2 Enterprise Integrator 6.1.1.
>
> The vote will be open for 24 hours or as needed. Please download, test the
> product and vote.
>
> Source & binary distribution files:
>
> *Product-EI:*
>
> https://svn.wso2.org/repos/wso2/scratch/EI/Votes/6.1.1-
> RC1/wso2ei-6.1.1-rc1.zip
>
> *Tooling pack to be used for EI runtime testing:*
>
> https://svn.wso2.org/repos/wso2/people/erandac/ei_610_tooling/
>
>
>
> *The tag to be voted upon:*https://github.com/wso2/
> product-ei/releases/tag/v6.1.1-rc1
>
> [-] Broken - do not release (explain why)
> [+] Stable - go ahead and release
>
> Thanks,
> Integration Team
>
> --
> Milinda Perera
> Senior Software Engineer;
> WSO2 Inc. http://wso2.com ,
> Mobile: (+94) 714 115 032 <+94%2071%20411%205032>
>
>
> ___
> 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] <https://wso2.com/signature>
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


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

2017-04-24 Thread Sasikala Kottegoda
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 <pa...@wso2.com> 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
> <https://wso2.org/jira/browse/MB-1910?filter=13675>*
>
> *Known Issues:*
> *https://wso2.org/jira/browse/MB-1757?filter=13676
> <https://wso2.org/jira/browse/MB-1757?filter=13676>*
>
> <https://wso2.org/jira/issues/?filter=12422>
> 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 <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] <https://wso2.com/signature>
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


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

2017-04-16 Thread Sasikala Kottegoda
Following test cases fail intermittently:

   -
   
org.wso2.mb.integration.tests.amqp.functional.AMQPSessionRecoverTestCase.performSessionRecoverWithAckTestCase
   
<https://wso2.org/jenkins/job/products/job/product-mb/org.wso2.mb$org.wso2.carbon.mb.amqp.test/1174/testReport/junit/org.wso2.mb.integration.tests.amqp.functional/AMQPSessionRecoverTestCase/performSessionRecoverWithAckTestCase/>
   -
   
org.wso2.mb.integration.tests.amqp.functional.AMQPSessionRecoverTestCase.performSessionRecoverWithoutAckTestCase
   
<https://wso2.org/jenkins/job/products/job/product-mb/org.wso2.mb$org.wso2.carbon.mb.amqp.test/1174/testReport/junit/org.wso2.mb.integration.tests.amqp.functional/AMQPSessionRecoverTestCase/performSessionRecoverWithoutAckTestCase/>
   -
   
org.wso2.mb.integration.tests.amqp.functional.dtx.DtxStartPositiveTestCase.xaStartJoinQueuePublishTestCase
   
<https://wso2.org/jenkins/job/products/job/product-mb/org.wso2.mb$org.wso2.carbon.mb.amqp.test/1178/testReport/junit/org.wso2.mb.integration.tests.amqp.functional.dtx/DtxStartPositiveTestCase/xaStartJoinQueuePublishTestCase/>

Hence, we will need to release another RC.

Thank you,
Sasikala

On Sat, Apr 8, 2017 at 4:25 AM, Hasitha Hiranya <hasit...@wso2.com> wrote:

> 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
>
>
> <https://wso2.org/jira/issues/?filter=12422>
> 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
> <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fwso2%2Fproduct-mb%2Ftree%2Frelease-3.2.0-RC1=D=1=AFQjCNGE9aUrfTCBg3Yw9afBVLipa6fC6A>
>
>
> [+] 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* <http://abeykoon.blogspot.com>
>
>
> _______
> Architecture mailing list
> architect...@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


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

[image: https://wso2.com/signature] <https://wso2.com/signature>
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


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

2017-04-02 Thread Sasikala Kottegoda
Hi Hasitha,

Following are the changes in MB 3.2.0 compared to 3.1.0 in a summary as I
can see.

   1. Changes in subscriptions data in MB_DURABLE_SUBSCRIPTION
   2. Simplified queue data in MB_QUEUE
   3. Simplified  binding data in MB_BINDINGS
   4. All queue names being lower case

We have already written a tool to cater the first 3 requirements. What is
remaining is to only change the queue names to lower case which was
intorduced recently.

Regarding the concerns on the changes in subscription data, we actually
have to do almost nothing since there won't be any active subscriptions
when the system is migrated. We only need to remove all susbription entries
from the table so that new subscriptions to MB 3.2.0 will be of the new
format.

Ragarding your suggestion on the approach for migration, we cannot wait
until all the subscriptions are done consuming since there could be
inactive subscribers, slow subscribers, a large number of pending messages,
etc. In that case, what we can do is to provide a migration client which
will consume from MB 3.1.0 and publish to MB 3.2.0 as in what we have
suggested in [1].

If the system could have a down time, both approaches would be okay. Where
as, if we need to migrate with zero down time, we'll need to go with the
first approach which is to write a mgration tool.

[1] https://docs.wso2.com/display/MB300/Upgrading+from+a+Previous+Release

Thank you,
Sasikala

On Sun, Apr 2, 2017 at 8:41 PM, Ramith Jayasinghe <ram...@wso2.com> wrote:

> whats the possibility of writing a tool which can migrate the data?
>
>
> On Sun, Apr 2, 2017 at 7:53 PM, Hasitha Hiranya <hasit...@wso2.com> wrote:
>
>> 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* <http://abeykoon.blogspot.com>
>>
>>
>
>
> --
> Ramith Jayasinghe
> Technical Lead
> WSO2 Inc., http://wso2.com
> lean.enterprise.middleware
>
> E: ram...@wso2.com
> P: +94 777542851 <+94%2077%20754%202851>
>



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

[image: https://wso2.com/signature] <https://wso2.com/signature>
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] Permission tree is not updated accroding to the DB

2016-10-13 Thread Sasikala Kottegoda
Copying Ramith and Dev

On Wed, Oct 12, 2016 at 4:55 PM, Sasikala Kottegoda <sasik...@wso2.com>
wrote:

> Hi all,
>
> We get an issue in MB where permission is denied for a particular
> subscription where permission is granted for another subscription which
> requests permission for the same resource and action. This was reproducible
> when subscriptions were added concurrently.
>
> The underlying cause for the issue was that the permission tree was
> incorrectly updated.
>
> I have created a public jira at [1] for the issue with all the findings.
> It would be great if we can get this fixed since it is an L1 for the MB
> 3.2.0 release.
>
> [1] https://wso2.org/jira/browse/IDENTITY-5228
>
> Thank you,
> Sasikala
> --
> Sasikala Kottegoda
> *Software Engineer*
> WSO2 Inc., http://wso2.com/
> lean. enterprise. middleware
> Mobile: +94 774835928
>
> [image: https://wso2.com/signature] <https://wso2.com/signature>
>



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

[image: https://wso2.com/signature] <https://wso2.com/signature>
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] [MB] Message Expiration Task and Messages shown in UI

2016-10-04 Thread Sasikala Kottegoda
I think we can filter out messages when reading from the database itself.
Filtering from the UI will be an overhead. WDYT?

On Tue, Oct 4, 2016 at 12:01 PM, Asanka Abeyweera <asank...@wso2.com> wrote:

> Hi Sirojan,
>
> Yes, In user's perspective it is better not to show the expired messages.
>
> How are we going to filter out the expired messages from UI? Since we have
> the expiry time information in the database, I think we can use that
> information to filter.
>
> On Tue, Oct 4, 2016 at 12:00 PM, Sirojan Tharmakulasingam <
> siro...@wso2.com> wrote:
>
>> Hi All,
>>
>> Currently, we have two tasks to deal with expired messages.
>>
>> 1. Pre-delivery expiry message deletion task --> Will catch the expired
>> messages at the Message flusher
>> 2. Periodic message deletion task --> each 15 minutes it checks expired
>> messages and deleted them for the messages which are not in our safety slot
>> count region (we have this buffer assuming that those will be assigned to
>> slot delivery worker in the near future)
>>
>> The problem:
>>
>> Even though the messages are expired, they are still residing in the
>> database for some time.
>>
>> 1. Messages that are not in the safe-zone - 15 minutes (worst case) -
>> until the periodic task runs
>> 2. Messages that are in the safe-zone - until a subscription comes and
>> messages tries to deliver and get caught at the flusher/
>>
>> During the above time,  those messages are in the DB even though they are
>> expired. In the UI we are showing them as valid messages and valid message
>> count during the aforementioned time.
>>
>> Solution:
>>
>> 1. We are not showing the messages in the UI even though they are in the
>> DB (waiting for delete by the expiry tasks)
>>
>> WDYT? Suggestions, please?
>>
>> Regards,
>> --
>> Sirojan Tharmakulasingam
>> Software Engineer, WSO2 Inc. http://wso2.com
>> Email: siro...@wso2.com
>> Mobile: +94779797913
>>
>> ___
>> Dev mailing list
>> Dev@wso2.org
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> Asanka Abeyweera
> Senior Software Engineer
> WSO2 Inc.
>
> Phone: +94 712228648
> Blog: a5anka.github.io
>
> <https://wso2.com/signature>
>
> ___
> 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

[image: https://wso2.com/signature] <https://wso2.com/signature>
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


[Dev] [Architecture] WSO2 Message Broker 3.2.0-ALPHA Released !

2016-09-26 Thread Sasikala Kottegoda
Hi All,

The WSO2 Message Broker team is pleased to announce the alpha release of
WSO2 Message Broker (MB) 3.2.0.

Source & binary distribution files of WSO2 Message Broker can be found in:
https://github.com/wso2/product-mb/releases/tag/v3.2.0-ALPHA

All the known issues identified are listed in JIRA[1].

[1] https://wso2.org/jira/browse/MB

Regards,
~MB Team~

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

[image: https://wso2.com/signature] <https://wso2.com/signature>
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] [MB]Schedule time interval for deleting expired messages

2016-09-05 Thread Sasikala Kottegoda
Hi Sirojan,

I think it's not a good idea to blindly put 10secs. Could we do some perf
tests and decide a suitable range?

On Mon, Sep 5, 2016 at 11:28 AM, Sajini De Silva <saj...@wso2.com> wrote:

> Its hard to say what should be the exact correct time interval. IIt
> depends on the messaging rate actually. I think one DB call per 10 seconds
> seems oky. Are there any issues with this value?
>
>
> On Mon, Sep 5, 2016 at 11:16 AM, Sirojan Tharmakulasingam <
> siro...@wso2.com> wrote:
>
>> Hi all,
>>
>> At the MB message delivery path, we capture the expired messages and
>> batch it for a batch delete from the database rather than issue a delete DB
>> call for each expired messages.
>>
>> what is the suitable time interval for batching the expired messages for
>> the DB batch delete?
>>
>> The current suggestion is 10sec. Your suggestions please...
>>
>> Regards,
>> --
>> Sirojan Tharmakulasingam
>> Software Engineer, WSO2 Inc. http://wso2.com
>> Email: siro...@wso2.com
>> Mobile: +94779797913
>>
>
>
>
> --
> Sajini De SIlva
> Senior 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
>
>


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

[image: https://wso2.com/signature] <https://wso2.com/signature>
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


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

2016-02-04 Thread Sasikala Kottegoda
Tested the usual test scenarios in a clustered deployment by using the test
suite.

[+] Stable - go ahead and release

Thank you,
Sasikala

On Fri, Feb 5, 2016 at 12:21 PM, Akalanka Pagoda Arachchi <
darsha...@wso2.com> wrote:

> Test UI scenarios by running UI Tests.
>
> [+] Stable - go ahead and release
>
> On Fri, Feb 5, 2016 at 12:00 PM, Hemika Kodikara <hem...@wso2.com> wrote:
>
>> Tested Failover for queues and durable topics.
>>
>> [+] Stable - go ahead and release
>>
>> Thanks,
>> Hemika
>>
>> Hemika Kodikara
>> Software Engineer
>> WSO2 Inc.
>> lean . enterprise . middleware
>> http://wso2.com
>>
>> Mobile : +9477762
>>
>> On Fri, Feb 5, 2016 at 11:55 AM, Pamod Sylvester <pa...@wso2.com> wrote:
>>
>>> Tested MQTT, by running the interop test suite.
>>>
>>> [+] Stable - go ahead and release
>>>
>>> Thanks,
>>> Pamod
>>>
>>> On Fri, Feb 5, 2016 at 11:53 AM, Ramith Jayasinghe <ram...@wso2.com>
>>> wrote:
>>>
>>>> I tested samples (with compression flag on)
>>>>
>>>> [+] Stable - go ahead and release
>>>>
>>>> On Thu, Feb 4, 2016 at 3:25 AM, Akalanka Pagoda Arachchi
>>>> <darsha...@wso2.com> wrote:
>>>> > Hi Devs,
>>>> >
>>>> > This is the second release candidate of WSO2 Message Broker 3.1.0.
>>>> >
>>>> > This release fixes the following issues:
>>>> > https://wso2.org/jira/issues/?filter=12637
>>>> >
>>>> > Please download MB 3.1.0 RC2 and test the functionality and vote.
>>>> Vote will
>>>> > be open for 72 hours or as needed.
>>>> >
>>>> > Source & binary distribution files:
>>>> > https://github.com/wso2/product-mb/releases/tag/v3.1.0-RC2
>>>> >
>>>> > Maven staging repo:
>>>> > http://maven.wso2.org/nexus/content/repositories/orgwso2mb-323/
>>>> >
>>>> > The tag to be voted upon:
>>>> > https://github.com/wso2/product-mb/tree/v3.1.0-RC2
>>>> >
>>>> >
>>>> > [+] Stable - go ahead and release
>>>> > [-]  Broken - do not release (explain why)
>>>> >
>>>> > Thanks and Regards,
>>>> >
>>>> > ~ WSO2 MB Team ~
>>>> >
>>>> > --
>>>> > Darshana Akalanka Pagoda Arachchi,
>>>> > Software Engineer
>>>> > 078-4721791
>>>> >
>>>> > ___
>>>> > Dev mailing list
>>>> > Dev@wso2.org
>>>> > http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>> >
>>>>
>>>>
>>>>
>>>> --
>>>> 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
>>>>
>>>
>>>
>>>
>>> --
>>> *Pamod Sylvester *
>>>
>>> *WSO2 Inc.; http://wso2.com <http://wso2.com>*
>>> cell: +94 77 7779495
>>>
>>> ___
>>> 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
>
>


-- 
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


Re: [Dev] Issue when installing MB features in products that use carbon.event.core

2016-01-06 Thread Sasikala Kottegoda
I propose to change the name of 'master-datasources.xml' as well. When we
tried to install MB features in the IoT server, we had to manually add
mb-store configurations into their master-datasources.xml from the code
level.

Thank you

On Wed, Jan 6, 2016 at 3:00 PM, Ramith Jayasinghe <ram...@wso2.com> wrote:

> I propose changing the file name at MB side. so the changes are minimal.
> we plan to further optimize this area in upcoming versions.
> @Hemika, shall we do this?
>
> On Wed, Jan 6, 2016 at 2:52 PM, Ruwan Yatawara <ruw...@wso2.com> wrote:
>
>> Hi All,
>>
>> We ran to in to the above problem when trying to install MB features in
>> the IOTServer. As we discovered when investigating, root cause of the
>> problem was the use of event-broker.xml, which is used for loading
>> configurations in both components.
>>
>> MB uses the andes.event.core component which has now come to replace the
>> event.core from back in the day (event.core is still referred to from
>> governance components and synapse). Since both components refer to the same
>> file, each try to load contradictory (internal) classes that lead to class
>> not found exceptions.
>>
>> As a workaround to overcome this problem, we will have to rename the
>> event-broker.xml file from event.core feature to something like
>> carbon-event-core.xml to ensure the co-existing of both components in
>> harmony. In addition we will also have to remove specific checks for
>> andes/qpid packages inside of the event.core.
>>
>> I have done the changes against the 4.4.8 tag in a separate branch on my
>> personal repository [1]. Can we get a 4.4.9 version released with this
>> change [2] for us to move forward with the milestone?
>>
>> [1] - https://github.com/ruwany/carbon-commons/tree/IoTS-1.0.0-M1
>> [2] -
>> https://github.com/ruwany/carbon-commons/commit/4ea0f1f52b7fa9bc57b856e2271ffcad25eb965a
>>
>> 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
>>
>>
>
>
> --
> 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
>
>


-- 
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


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

2015-11-07 Thread Sasikala Kottegoda
Hi all,

Sajini and I tested the following in a 3 node MB cluster where a mixture of
topics, queues and shared topics were used:

An MB node in the cluster was killed when the clients were in the middle of
publishing and subscriber. All the publishers and subscribers are connected
to the node that is going to get killed. Following are the scenarios that
were verified in this test:

   - Kill a normal node. All the publishers and subscribers fail-over
   successfully.
   - The coordinator selection happens successfully. Also, the publishers
   and subscribers fail-over successfully.
   - First kill the coordinator node, then kill the newly appointed
   coordinator node. Fail-over happens successfully.

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

Thank you

On Sat, Nov 7, 2015 at 3:28 AM, Akalanka Pagoda Arachchi <darsha...@wso2.com
> 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
>
> <https://wso2.org/jira/issues/?filter=12422>
> 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
>
>


-- 
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


Re: [Dev] carbon-multitenancy-4.4.4 released !

2015-10-28 Thread Sasikala Kottegoda
Hi all,

When I tried to upgrade to multitency 4.4.4, I get the following error

'Missing requirement: WSO2 Tenant Common Composite Feature 4.4.4
(org.wso2.carbon.tenant.common.feature.group 4.4.4) requires
'org.wso2.carbon.registry.core.feature.group [4.5.0,4.6.0)' but it could
not be found'

But there are no registry 4.5.x releases

Thank you

On Mon, Oct 26, 2015 at 3:30 PM, Kalpa Welivitigoda <kal...@wso2.com> wrote:

> Hi devs,
>
> Please note $subject,
>
> org.wso2.carbon.multitenancy
> carbon-multitenancy
> 4.4.4
>
>
> --
> 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
>
>


-- 
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


Re: [Dev] [VOTE] Release WSO2 Carbon Kernel 4.4.2 RC2

2015-10-16 Thread Sasikala Kottegoda
 WDYT ? Can we do this ?
>>>>>
>>>>> Regards,
>>>>> Johann.
>>>>>
>>>>>
>>>>> On Wed, Oct 14, 2015 at 6:30 PM, Kishanthan Thangarajah <
>>>>> kishant...@wso2.com> wrote:
>>>>>
>>>>>> Can we also have test case for this fix please?
>>>>>>
>>>>>> On Wed, Oct 14, 2015 at 6:13 PM, Isura Karunaratne <is...@wso2.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> This issue is fixed in [1].
>>>>>>>
>>>>>>>
>>>>>>> Thanks
>>>>>>> isura
>>>>>>>
>>>>>>>
>>>>>>> [1] https://wso2.org/jira/browse/CARBON-15517
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Oct 14, 2015 at 11:25 AM, Johann Nallathamby <
>>>>>>> joh...@wso2.com> wrote:
>>>>>>>
>>>>>>>> Hi Isura,
>>>>>>>>
>>>>>>>> Can you look into this issue urgently. I remember you fixing an
>>>>>>>> issue related to this.
>>>>>>>>
>>>>>>>> Thanks.
>>>>>>>>
>>>>>>>> On Wed, Oct 14, 2015 at 7:16 AM, Indika Sampath <indi...@wso2.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Hi All,
>>>>>>>>>
>>>>>>>>> I debug code of our and found issue. It seems implementation of
>>>>>>>>> some API changed in user-core. Let me explain the flow.
>>>>>>>>>
>>>>>>>>> Our queue/topic creation has two call.
>>>>>>>>>
>>>>>>>>> 1. We create internal role when adding queue and assign
>>>>>>>>> "changePermission", "publish", "consume"  permissions to it. Which 
>>>>>>>>> means
>>>>>>>>> that, user who created particular queue can update permission, 
>>>>>>>>> publish or
>>>>>>>>> consume.
>>>>>>>>>
>>>>>>>>> - Below code line used to get internal role name:
>>>>>>>>>
>>>>>>>>> UserCoreUtil.addInternalDomainName(QUEUE_ROLE_PREFIX +
>>>>>>>>> queueName.replace(".","-").replace("/", "-"))
>>>>>>>>>
>>>>>>>>> result = {java.lang.String@10289}"*Internal/Q_userQueue*"
>>>>>>>>> value = {char[21]@10290}
>>>>>>>>> hash = 0
>>>>>>>>> hash32 = 0
>>>>>>>>>
>>>>>>>>> - assign permission as below:
>>>>>>>>>
>>>>>>>>> userStoreManager.addRole(roleName, user, null);
>>>>>>>>> userRealm.getAuthorizationManager().authorizeRole(roleName,
>>>>>>>>> queueId, PERMISSION_CHANGE_PERMISSION);
>>>>>>>>> userRealm.getAuthorizationManager().authorizeRole(roleName,
>>>>>>>>> queueId, TreeNode.Permission.CONSUME.toString().toLowerCase());
>>>>>>>>> userRealm.getAuthorizationManager().authorizeRole(roleName,
>>>>>>>>> queueId, TreeNode.Permission.PUBLISH.toString().toLowerCase());
>>>>>>>>>
>>>>>>>>> 2. User can select some other role listed in in queue add page. He
>>>>>>>>> can select these role when adding queue or later by updating queue. 
>>>>>>>>> So in
>>>>>>>>> update permission we checked whether any of user's role has above 
>>>>>>>>> assign
>>>>>>>>> change permission.
>>>>>>>>>
>>>>>>>>> - get role list of user:
>>>>>>>>>
>>>>>>>>> userRealm.getUserStoreManager().getRoleListOfUser(loggedInUser)
>>>>>>>>>
>>>>>>>>> result = {java.lang.String[3]@9689}
>>>>>>>>> [0] = {java.lang.String@9690}"*Internal/Q_userQueue*"
>>&

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

2015-10-14 Thread Sasikala Kottegoda
Hi Hasitha,

Yeah, the default  TopicOverloadPolicy is BLOCK.

Thank you

On Wed, Oct 14, 2015 at 1:06 PM, Hasitha Amal De Silva <hasit...@wso2.com>
wrote:

> Hi Sasikala,
>
> 2. In case the producing node is attempting an over-write on the buffer,
> hold it until the buffer is processed. (flow control for subscriptions..)
>
> This is provided by default configurations of Hazelcast 'RealiableTopic'
> as per [1]
>
> So the default TopicOverloadPolicy is BLOCK in an overwrite scenario ? if
> not that would be the ideal setting IMO.
>
> Thanks
>
> On Wed, Oct 14, 2015 at 9:53 AM, Sasikala Kottegoda <sasik...@wso2.com>
> wrote:
>
>> Hi Hasitha,
>>
>> Please find the comments in line for the ways of handling the issue.
>>
>> 1. Come to a default balance between the buffer size (currently 1000) and
>> the TTL value for each item in buffer (seconds) / make this configurable.
>>
>> I don't think there is an impact of the ring buffer size on the
>> expiration of items. Increasing the TTL seems the only solution. But we did
>> not increase this since we needed to avoid the possibility of getting old
>> notifications in the case of a network failure or a crashed node. Making
>> the TTL configurable seems like a good solution.
>>
>> 2. In case the producing node is attempting an over-write on the buffer,
>> hold it until the buffer is processed. (flow control for subscriptions..)
>>
>> This is provided by default configurations of Hazelcast 'RealiableTopic'
>> as per [1]
>>
>> [1]
>> http://docs.hazelcast.org/docs/latest-dev/manual/html/reliabletopic.html#reliable-topic-configuration
>>
>> Thank you
>>
>> On Tue, Oct 13, 2015 at 8:07 PM, Hasitha Amal De Silva <hasit...@wso2.com
>> > wrote:
>>
>>> increasing the Time-to-Live value [1] from 1 second to about 30 seconds
>>> got rid of this issue for my scenario. This exception can only occur if the
>>> item is expired or had been rewritten within the buffer as per [2].
>>>
>>> 2 ways to properly handle this as I can think :
>>>
>>> 1. Come to a default balance between the buffer size (currently 1000)
>>> and the TTL value for each item in buffer (seconds) / make this
>>> configurable.
>>> 2. In case the producing node is attempting an over-write on the buffer,
>>> hold it until the buffer is processed. (flow control for subscriptions..)
>>>
>>> For me, the issue was reproduced by creating about 400 durable JMS topic
>>> subscriptions with a ramp time of about 2 seconds from Jmeter.
>>>
>>> [1] : http://blog.hazelcast.com/ringbuffer-data-structure/
>>> [2] :
>>> http://docs.hazelcast.org/docs/3.5/javadoc/com/hazelcast/ringbuffer/StaleSequenceException.html
>>>
>>>
>>>
>>> On Tue, Oct 6, 2015 at 4:47 PM, Hasitha Hiranya <hasit...@wso2.com>
>>> wrote:
>>>
>>>> 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)
>>>

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

2015-10-13 Thread Sasikala Kottegoda
Hi Hasitha,

Please find the comments in line for the ways of handling the issue.

1. Come to a default balance between the buffer size (currently 1000) and
the TTL value for each item in buffer (seconds) / make this configurable.

I don't think there is an impact of the ring buffer size on the expiration
of items. Increasing the TTL seems the only solution. But we did not
increase this since we needed to avoid the possibility of getting old
notifications in the case of a network failure or a crashed node. Making
the TTL configurable seems like a good solution.

2. In case the producing node is attempting an over-write on the buffer,
hold it until the buffer is processed. (flow control for subscriptions..)

This is provided by default configurations of Hazelcast 'RealiableTopic' as
per [1]

[1]
http://docs.hazelcast.org/docs/latest-dev/manual/html/reliabletopic.html#reliable-topic-configuration

Thank you

On Tue, Oct 13, 2015 at 8:07 PM, Hasitha Amal De Silva <hasit...@wso2.com>
wrote:

> increasing the Time-to-Live value [1] from 1 second to about 30 seconds
> got rid of this issue for my scenario. This exception can only occur if the
> item is expired or had been rewritten within the buffer as per [2].
>
> 2 ways to properly handle this as I can think :
>
> 1. Come to a default balance between the buffer size (currently 1000) and
> the TTL value for each item in buffer (seconds) / make this configurable.
> 2. In case the producing node is attempting an over-write on the buffer,
> hold it until the buffer is processed. (flow control for subscriptions..)
>
> For me, the issue was reproduced by creating about 400 durable JMS topic
> subscriptions with a ramp time of about 2 seconds from Jmeter.
>
> [1] : http://blog.hazelcast.com/ringbuffer-data-structure/
> [2] :
> http://docs.hazelcast.org/docs/3.5/javadoc/com/hazelcast/ringbuffer/StaleSequenceException.html
>
>
>
> On Tue, Oct 6, 2015 at 4:47 PM, Hasitha Hiranya <hasit...@wso2.com> wrote:
>
>> 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* <http://abeykoon.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. )
>



-- 
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


Re: [Dev] [VOTE] Release WSO2 Carbon Kernel 4.4.2 RC2

2015-10-13 Thread Sasikala Kottegoda
Hi Kishanthan,

Yes, it is present in 4.4.2 RC1 as well. But not in 4.4.1.

Thank you.

On Tue, Oct 13, 2015 at 5:22 PM, Kishanthan Thangarajah <kishant...@wso2.com
> wrote:

> Was this issue found in 4.4.2 RC1 too?
>
> On Tue, Oct 13, 2015 at 4:58 PM, Sasikala Kottegoda <sasik...@wso2.com>
> wrote:
>
>> Hi Manuri,
>>
>> We tested MB 3.0.0 with this release and our scenario of queue creation
>> fails after giving a permission denied error. The scenario is as follows:
>>
>> 1. Create a user "user1" with a role assigned with permission to create
>> queues.
>> 2. Login from "user1" and try to create a queue, we get a permission
>> denied error.
>>
>> When creating a queue the following happens from our code.
>>
>> 1. We create an internal role for the queue and assign it to the current
>> user with permissions assigned.
>>
>> userRealm.getAuthorizationManager().authorizeRole(roleName, queueId,
>>   
>> PERMISSION_CHANGE_PERMISSION);
>>
>> 2. Next, we create the queue and update permissions for the queue. In this 
>> step, we check if the current user has permissions to change the queue.
>>
>> String[] userRoles = 
>> userRealm.getUserStoreManager().getRoleListOfUser(loggedInUser);
>> for (String userRole : userRoles) {
>> if (userRealm.getAuthorizationManager().isRoleAuthorized(
>> userRole, queueID, PERMISSION_CHANGE_PERMISSION)) {
>> isUserHasChangePermission = true;
>> }
>> }
>>
>> At this stage, *'*(userRealm.getAuthorizationManager().isRoleAuthorized(
>> userRole, queueID, PERMISSION_CHANGE_PERMISSION))' false 
>> implying that any of roles assigned to the user do not have permissions to 
>> change the queue, thus not allowing the user to create the queue.
>>
>>
>> Thank you
>>
>>
>> On Mon, Oct 12, 2015 at 9:24 PM, Manuri Amaya Perera <manu...@wso2.com>
>> wrote:
>>
>>> Hi Devs,
>>>
>>> WSO2 Carbon Kernel 4.4.2 RC2 Release Vote.
>>>
>>> This release fixes the following issues:
>>> https://wso2.org/jira/issues/?filter=12396
>>>
>>> Please download and test your products with kernel 4.4.2 RC2 and vote.
>>> Vote will be open for 72 hours or longer as needed.
>>>
>>> *​Source and binary distribution files:*
>>> https://svn.wso2.org/repos/wso2/people/aruna/v4.4.2-rc2
>>>
>>> *Maven staging repository:*
>>> http://maven.wso2.org/nexus/content/repositories/orgwso2carbon-019/
>>>
>>> *The tag to be voted upon:*
>>> https://github.com/wso2/carbon-kernel/tree/v4.4.2-rc2
>>>
>>>
>>> [ ] Broken - do not release (explain why)
>>> [ ] Stable - go ahead and release
>>>
>>>
>>> Thank you
>>> Carbon Team
>>>
>>> --
>>>
>>> *Manuri Amaya Perera*
>>>
>>> *Software Engineer*
>>>
>>> *WSO2 Inc.*
>>>
>>> *Blog: http://manuriamayaperera.blogspot.com
>>> <http://manuriamayaperera.blogspot.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
>>
>>
>
>
> --
> *Kishanthan Thangarajah*
> Associate Technical Lead,
> Platform Technologies Team,
> WSO2, Inc.
> lean.enterprise.middleware
>
> Mobile - +94773426635
> Blog - *http://kishanthan.wordpress.com <http://kishanthan.wordpress.com>*
> Twitter - *http://twitter.com/kishanthan <http://twitter.com/kishanthan>*
>



-- 
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


Re: [Dev] [VOTE] Release WSO2 Carbon Kernel 4.4.2 RC2

2015-10-13 Thread Sasikala Kottegoda
Hi Manuri,

We tested MB 3.0.0 with this release and our scenario of queue creation
fails after giving a permission denied error. The scenario is as follows:

1. Create a user "user1" with a role assigned with permission to create
queues.
2. Login from "user1" and try to create a queue, we get a permission denied
error.

When creating a queue the following happens from our code.

1. We create an internal role for the queue and assign it to the current
user with permissions assigned.

userRealm.getAuthorizationManager().authorizeRole(roleName, queueId,
  PERMISSION_CHANGE_PERMISSION);

2. Next, we create the queue and update permissions for the queue. In
this step, we check if the current user has permissions to change the
queue.

String[] userRoles =
userRealm.getUserStoreManager().getRoleListOfUser(loggedInUser);
for (String userRole : userRoles) {
if (userRealm.getAuthorizationManager().isRoleAuthorized(
userRole, queueID, PERMISSION_CHANGE_PERMISSION)) {
isUserHasChangePermission = true;
}
}

At this stage, *'*(userRealm.getAuthorizationManager().isRoleAuthorized(
userRole, queueID, PERMISSION_CHANGE_PERMISSION))' false
implying that any of roles assigned to the user do not have
permissions to change the queue, thus not allowing the user to create
the queue.


Thank you


On Mon, Oct 12, 2015 at 9:24 PM, Manuri Amaya Perera <manu...@wso2.com>
wrote:

> Hi Devs,
>
> WSO2 Carbon Kernel 4.4.2 RC2 Release Vote.
>
> This release fixes the following issues:
> https://wso2.org/jira/issues/?filter=12396
>
> Please download and test your products with kernel 4.4.2 RC2 and vote.
> Vote will be open for 72 hours or longer as needed.
>
> *​Source and binary distribution files:*
> https://svn.wso2.org/repos/wso2/people/aruna/v4.4.2-rc2
>
> *Maven staging repository:*
> http://maven.wso2.org/nexus/content/repositories/orgwso2carbon-019/
>
> *The tag to be voted upon:*
> https://github.com/wso2/carbon-kernel/tree/v4.4.2-rc2
>
>
> [ ] Broken - do not release (explain why)
> [ ] Stable - go ahead and release
>
>
> Thank you
> Carbon Team
>
> --
>
> *Manuri Amaya Perera*
>
> *Software Engineer*
>
> *WSO2 Inc.*
>
> *Blog: http://manuriamayaperera.blogspot.com
> <http://manuriamayaperera.blogspot.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


Re: [Dev] WSO2 Committers += Sasikala Kottegoda

2015-10-11 Thread Sasikala Kottegoda
Thanks all... :)

And special thanks to the MB team for the help that I've received so far...
:)

On Mon, Oct 12, 2015 at 10:59 AM, Ramith Jayasinghe <ram...@wso2.com> wrote:

> Hi Sasikala,
> 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
>
>
>


-- 
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] [Architecture] WSO2 Message Broker 3.0.0 Alpha-4 Released !

2015-10-05 Thread Sasikala Kottegoda
rowse/MB-1388>] - Remove cassandra
   related source and libs



The documentation for MB 3.0.0 Alpha4 can be found at [2]. Your feedback is
most welcome. Any issue regarding the project can be reported at [3].

[1]
https://github.com/wso2/product-mb/releases/download/v3.0.0-ALPHA4/wso2mb-3.0.0-ALPHA4.zip
[2] https://docs.wso2.com/display/MB300/WSO2+Message+Broker+Documentation
[3] https://wso2.org/jira/browse/MB

Thanks,
-WSO2 MB Team-

-- 
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] Allowing jms publishers to create queues when publishing

2015-10-05 Thread Sasikala Kottegoda
Hi all,

According to the current implementation of WSO2 MB, publishers cannot
create queues when publishing even though the subscribers can.

Also, even though the queue is not internally getting created, messages
published for a new queue are written into the database with the published
queue name and therefore are stored. An issue regarding this situation can
be found at [1].

My concern is whether we should allow the creation of queues by publishers
or whether we should restrict it so that message publishing to a
non-existing queue is not allowed.

Any comment will be highly appreciated.

[1] https://wso2.org/jira/browse/MB-1433

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


[Dev] [Architecture] WSO2 Message Broker 3.0.0 Alpha-3 Released !

2015-09-25 Thread Sasikala Kottegoda
<https://wso2.org/jira/browse/MB-1274>] - When update the
   permission, duplicate role is getting created
   - [MB-1277 <https://wso2.org/jira/browse/MB-1277>] -
   DurableTopicsSubscribtion gets permanently active when shutdown the server
   while database connection is lost
   - [MB-1278 <https://wso2.org/jira/browse/MB-1278>] - Duplicate
   'subscription_id' were created in the MB_DURABLE_SUBSCRIPTION table
   - [MB-1281 <https://wso2.org/jira/browse/MB-1281>] - Info popup instead
   of warning shown when subscribe is clicked when mandatory fields are not
   filled under topic subscription
   - [MB-1287 <https://wso2.org/jira/browse/MB-1287>] - MB hanged when
   shutting down
   - [MB-1288 <https://wso2.org/jira/browse/MB-1288>] - Tenant - Can not
   delete a topic after subscriber is stopped
   - [MB-1289 <https://wso2.org/jira/browse/MB-1289>] - Cannot update the
   topic permission to a user that has all permissions(super admin/admin)
   - [MB-1290 <https://wso2.org/jira/browse/MB-1290>] - Tenants can consume
   messages from super tenants queues when the queue name is same
   - [MB-1291 <https://wso2.org/jira/browse/MB-1291>] - Message duplicate
   when subscriber create and close connection per message in queues
   - [MB-1296 <https://wso2.org/jira/browse/MB-1296>] - Tenant - When
   subscribers are stopped still the subsciber details are shown in topic
   details section
   - [MB-1297 <https://wso2.org/jira/browse/MB-1297>] - Number Of Messages
   Delivery Pending is shown as “-1” when browsing active queue subscriptions
   - [MB-1299 <https://wso2.org/jira/browse/MB-1299>] - User with queue and
   topic permissions can see topics created by other users
   - [MB-1300 <https://wso2.org/jira/browse/MB-1300>] -
   NullPointerException occurred in message delivery flow
   - [MB-1303 <https://wso2.org/jira/browse/MB-1303>] - Super user cannot
   publish messages to a Queue created by a user in the same domain in MC
   - [MB-1304 <https://wso2.org/jira/browse/MB-1304>] - Users gets "Queue
   already created" popup when trying to create queue with a name that super
   user has already used
   - [MB-1305 <https://wso2.org/jira/browse/MB-1305>] - "Purge Topic"
   permission under topic permissions section is unnecessary
   - [MB-1308 <https://wso2.org/jira/browse/MB-1308>] - Observed WARN
   {org.wso2.carbon.event.core.internal.topic.registry.RegistryTopicManager} -
   while updating topic permissions
   - [MB-1309 <https://wso2.org/jira/browse/MB-1309>] - Truststore
   configurations are not used when creating the SSLContext in server
   - [MB-1312 <https://wso2.org/jira/browse/MB-1312>] - Subscription to
   Dead Letter Channel is shown under active subscriptions
   - [MB-1314 <https://wso2.org/jira/browse/MB-1314>] -
   NullPointerException when subscriber closes connection without consuming
   messages
   - [MB-1316 <https://wso2.org/jira/browse/MB-1316>] - A new user with
   default Admin permission cannot publish messages to a queue created by the
   primary admin user
   - [MB-1336 <https://wso2.org/jira/browse/MB-1336>] - Cannot start MB
   pack due to an exception thrown in Oracle 12c
   - [MB-1341 <https://wso2.org/jira/browse/MB-1341>] - When a topic is
   created by console and when a subscriber is subscribed two roles are
   created for the topic
   - [MB-1346 <https://wso2.org/jira/browse/MB-1346>] - Refactor code in
   RDBMSConstants
   - [MB-1350 <https://wso2.org/jira/browse/MB-1350>] - Unable to update
   permissions for a topic when a role has special characters.
   - [MB-1353 <https://wso2.org/jira/browse/MB-1353>] - The number of
   delivery attempts has a mismatch with the 'maximumRedeliveryAttempts'
   configuration
   - [MB-1354 <https://wso2.org/jira/browse/MB-1354>] - Filtering messages
   by a queue in DLC gives an excpetion

Improvements:

   - [MB-1178 <https://wso2.org/jira/browse/MB-1178>] - Implement
   StoreHealthListener to DatabaseSlotManager
   - [MB-1198 <https://wso2.org/jira/browse/MB-1198>] - ability configure
   message cache
   - [MB-1236 <https://wso2.org/jira/browse/MB-1236>] - Implement store
   health aware database slot agent
   - [MB-1237 <https://wso2.org/jira/browse/MB-1237>] - Replace Hazelcast
   topics from Hazelcast Reliable Topics
   - [MB-1253 <https://wso2.org/jira/browse/MB-1253>] - Replace " SELECT *
   " in RDBMS queries
   - [MB-1259 <https://wso2.org/jira/browse/MB-1259>] - Add mqtt retain to
   new delivery model

New Features:

   - [MB-965 <https://wso2.org/jira/browse/MB-965>] - Implement/Test multi
   tenancy for MQTT

Security Vulnerabilities:

   - [MB-851 <https://wso2.org/jira/browse/MB-851>] - Users In tenant
   domain can create, consume and publish to carbon.super domain.

Tasks:

   - [MB-1343 <h

Re: [Dev] [Vote] Release WSO2 Carbon Kernel 4.4.2 RC1

2015-09-25 Thread Sasikala Kottegoda
Hi all,

We applied the patch given by Indunil which had cascade delete on the
tables. However, it gave a dead lock in 'DELETE FROM UM_PERMISSION WHERE
UM_RESOURCE_ID = ? AND UM_TENANT_ID=?' and 'DELETE FROM UM_HYBRID_ROLE
WHERE UM_ROLE_NAME = ? AND UM_TENANT_ID=?'(The stack trace is attached).
Following are the code lines which give the error:

dbConnection = DatabaseUtil.getDBConnection(this.dataSource);

DatabaseUtil.updateDatabase(dbConnection, "DELETE FROM UM_HYBRID_ROLE
WHERE UM_ROLE_NAME = ? AND UM_TENANT_ID=?", new Object[]{roleName,
Integer.valueOf(this.tenantId)});
dbConnection.commit();

and

dbConnection1 = this.getDBConnection();

DatabaseUtil.updateDatabase(dbConnection1, "DELETE FROM UM_PERMISSION
WHERE UM_RESOURCE_ID = ? AND UM_TENANT_ID=?", new Object[]{resourceId,
Integer.valueOf(this.tenantId)});

this.permissionTree.clearResourceAuthorizations(resourceId);
dbConnection1.commit();


Also when I looked at the script, I found out the following
information regarding foreign key relationships:


   1. UM_ROLE_PERMISSION has 2 parent tables, UM_PERMISSION and UM_DOMAIN
   2. UM_HYBRID_USER_ROLE has 2 parent tables, UM HYBRID_ROLE and UM_DOMAIN


One possible reason for the deadlock is if oracle locks the parent
table when deleting from a child table. A similar issue is reported
at[1]

[1] 
http://stackoverflow.com/questions/9373843/meet-deadlock-when-deleting-different-records-from-same-table-in-different-trans


On Fri, Sep 25, 2015 at 1:06 PM, Ramith Jayasinghe <ram...@wso2.com> wrote:

> Hi,
> If you are hoping to handle/catch
> 'IntegrityConstraintViolationException' consider following:
>
> 'IntegrityConstraintViolationException' is only thrown in Oracle and
> mysql database drivers ( check their driver source code and you will
> see). from what I know MSSQL drivers doesn't throw these. I have seen
> similar approach has been adapted in Hibernate (ORM) framework code as
> well.
>
> therefore, if you go down this path you need to check SQLState [1].
> You might find[2] useful as reference.
>
> [1]
> http://docs.oracle.com/javase/7/docs/api/java/sql/SQLException.html#getSQLState()
> [2]
> https://github.com/wso2/andes/blob/master/modules/andes-core/broker/src/main/java/org/wso2/andes/store/rdbms/RDBMSStoreUtils.java#115
>
> On Fri, Sep 25, 2015 at 11:16 AM, Darshana Gunawardana
> <darsh...@wso2.com> wrote:
> > Hi Indunil,
> >
> > On Fri, Sep 25, 2015 at 10:15 AM, Indunil Upeksha Rathnayake
> > <indu...@wso2.com> wrote:
> >>
> >> Hi,
> >>
> >> The deadlock issue(https://wso2.org/jira/browse/MB-1326) come up in
> oracle
> >> and mssql when clearResourceAuthorizations where permissions are
> deleted in
> >> UM_ROLE_PERMISSIONS, UM_USER_PERMISSIONS and UM_PERMISSION tables
> through
> >> one transaction. The fix would be using cascade delete for above tables.
> >
> >
> > +1
> >
> >>
> >> But I think another issue(foreign key constraint violation) may come up
> >> when addAuthorizationForRole, as following example scenario. Ex: Node1
> may
> >> be retrieve the permission entry in UM_PERMISSION table (in
> >> addAuthorizationForRole()) and just after that node2 may delete the
> entry
> >> (in clearResourceAuthorizations()) and after that when node1 trying to
> >> delete & add permissions in UM_ROLE_PERMISSIONS (in
> >> addAuthorizationForRole()) will return the above exception since the
> entry
> >> in UM_PERMISSION is already deleted.
> >>
> >> I think the fix need to be, if UM_ROLE_PERMISSIONS and UM_PERMISSION
> >> tables are going to update, first have to lock both tables, until all
> the
> >> required operations are finished. Then meanwhile another node can't
> delete
> >> any entries.
> >
> >
> > Have you able to reproduce this behavior? I guess we cannot lock those
> > tables from the java code in db in dependent manner. Please check with
> our
> > db experts.
> >
> > In worst case we could handle IntegrityConstraintViolationException since
> > its ok to avoiding addAuthorization for a permission which got deleted
> > later.
> >
> > Thanks,
> >
> >>
> >> Please provide your opinions regarding this.
> >>
> >> Thanks and Regards
> >> --
> >> Indunil Upeksha Rathnayake
> >> Software Engineer | WSO2 Inc
> >> Emailindu...@wso2.com
> >
> >
> >
> >
> > --
> > Regards,
> >
> > Darshana Gunawardana
> > Senior Software Engineer
> > WSO2 Inc.; http://wso2.com
> > E-mail: darsh...@wso2.com
> > Mobile: +94718566859
> > Lean . Enterprise . Middleware
>
>
>
> --
> Ramith Jayasinghe
> Technical Lead
> WSO2 Inc., http://wso2.com
> lean.enterprise.middleware
>
> E: ram...@wso2.com
> P: +94 777542851
>



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


ORA-00060_
Description: Binary data
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


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

2015-09-01 Thread Sasikala Kottegoda
rs
   - [MB-1175 <https://wso2.org/jira/browse/MB-1175>] - Exception thrown
   when creating a consumer
   - [MB-1177 <https://wso2.org/jira/browse/MB-1177>] - When a cluster is
   started (1st node) MB_SLOT table must be cleared
   - [MB-1187 <https://wso2.org/jira/browse/MB-1187>] -
   purgeMessagesTestCase fails after deleted queue being observed
   - [MB-1189 <https://wso2.org/jira/browse/MB-1189>] - Ability to disable
   content cache used in RDBM message store.
   - [MB-1195 <https://wso2.org/jira/browse/MB-1195>] - Unexpected behavior
   in JMS Queue with in client-ack mode listener
   - [MB-1201 <https://wso2.org/jira/browse/MB-1201>] - Error in getting
   roles through when adding a topic through UI.
   - [MB-1202 <https://wso2.org/jira/browse/MB-1202>] - Messages are not
   getting moved into the dead letter channel
   - [MB-1208 <https://wso2.org/jira/browse/MB-1208>] -
   Restoring/re-routing messages from DLC causes an exception
   - [MB-1209 <https://wso2.org/jira/browse/MB-1209>] - Samples are broken.
   Dependency missing.
   - [MB-1213 <https://wso2.org/jira/browse/MB-1213>] - Subscription
   Recovery Does not happen properly for durable topic subscriptions
   - [MB-1215 <https://wso2.org/jira/browse/MB-1215>] - Update release docs
   and read me files with latest changes.
   - [MB-1216 <https://wso2.org/jira/browse/MB-1216>] - Increase minimum
   heap size to 2G
   - [MB-1217 <https://wso2.org/jira/browse/MB-1217>] - Messages that are
   moved to DLC are still shown in the queue when cache is enabled

Improvements:

   - [MB-939 <https://wso2.org/jira/browse/MB-939>] - Make the maximum
   display length configurable for message content shown through management
   console.
   - [MB-1038 <https://wso2.org/jira/browse/MB-1038>] - Transaction Support
   for Andes
   - [MB-1057 <https://wso2.org/jira/browse/MB-1057>] - Message content
   instant removal
   - [MB-1062 <https://wso2.org/jira/browse/MB-1062>] - Add logs to trace
   message path
   - [MB-1109 <https://wso2.org/jira/browse/MB-1109>] - Message latency
   increase as message publishing rate reduced
   - [MB-1122 <https://wso2.org/jira/browse/MB-1122>] - Better to have
   generic jms client details in flow control message instead of channel number
   - [MB-1138 <https://wso2.org/jira/browse/MB-1138>] - Not enough details
   when flow control is enabled
   - [MB-1146 <https://wso2.org/jira/browse/MB-1146>] - Remove Performance
   Counter
   - [MB-1147 <https://wso2.org/jira/browse/MB-1147>] - Implement
   StoreHealthListener to AndesRecoveryTask
   - [MB-1152 <https://wso2.org/jira/browse/MB-1152>] - Add message tracer
   events
   - [MB-1161 <https://wso2.org/jira/browse/MB-1161>] - SecureVault Support
   for jndi.properties
   - [MB-1174 <https://wso2.org/jira/browse/MB-1174>] - Stop server startup
   with 0.0.0.0 as Thrift server host
   - [MB-1179 <https://wso2.org/jira/browse/MB-1179>] - Set default auto
   commit mode to false in message store and context store
   - [MB-1186 <https://wso2.org/jira/browse/MB-1186>] - Separate method
   deleteMessages in MessagingEngine into two

New Features:

   - [MB-126 <https://wso2.org/jira/browse/MB-126>] - Support JMS Local
   Transactions
   - [MB-1022 <https://wso2.org/jira/browse/MB-1022>] - Publisher
   Acknowledgement for Andes Core (Used by MQTT Transport)
   - [MB-1149 <https://wso2.org/jira/browse/MB-1149>] - Implement a
   mechanism to save slot information in a RDBMS

Security Vulnerabilities:

   - [MB-1160 <https://wso2.org/jira/browse/MB-1160>] - Move amqp SSL
   configuration and add MQTT ssl configuration into cipher-tool compliant
   broker.xml

Tasks:

   - [MB-24 <https://wso2.org/jira/browse/MB-24>] - Run a long running Test
   for Queue Scenario
   - [MB-948 <https://wso2.org/jira/browse/MB-948>] - Enable Queue purge
   delivery rule after testing.
   - [MB-1049 <https://wso2.org/jira/browse/MB-1049>] - Write a sample for
   JMS transaction based message publishing
   - [MB-1190 <https://wso2.org/jira/browse/MB-1190>] - upgrade guava lib
   version
   - [MB-1212 <https://wso2.org/jira/browse/MB-1212>] - Make 'tracker
   rejected' warning to a debug


The documentation for MB 3.0.0 Alpha can be found at [2]. Your feedback is
most welcome, and any issue regarding the project can be reported at [3].

[1]
https://github.com/wso2/product-mb/releases/download/v3.0.0-ALPHA/wso2mb-3.0.0-ALPHA.zip
[2] https://docs.wso2.com/display/MB300/WSO2+Message+Broker+Documentation
[3] https://wso2.org/jira/browse/MB

Thanks,
-WSO2 MB Team-

-- 
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


Re: [Dev] [Architecture] WSO2 Message Broker 3.0.0 Alpha Released !

2015-09-01 Thread Sasikala Kottegoda
Hi all,

Correction in the download link for the product. Use the link at [1] to
download WSO2 Message Broker 3.0.0-Alpha2

[1]
https://github.com/wso2/product-mb/releases/download/v3.0.0-ALPHA2/wso2mb-3.0.0-ALPHA2.zip

Thank you

On Tue, Sep 1, 2015 at 11:21 PM, Sasikala Kottegoda <sasik...@wso2.com>
wrote:

>
> WSO2 MB Team is pleased to announce the release of WSO2 Message Broker
> 3.0.0-Alpha2. You can now download the distribution which is available at
> [1].
>
> Following are the major changes applied in this version apart from the
> bugs and fixes:
>
> 1. Removal of the support for Cassandra
> 2. Support for JMS local transactions
>
> Bugs:
>
>- [MB-326 <https://wso2.org/jira/browse/MB-326>] - OOM in MB 2.1.0
>Beta When having more that 60 subscriptions
>- [MB-725 <https://wso2.org/jira/browse/MB-725>] - When a node is
>killed, the queues which belog to the subscribers of the dead node are also
>removed
>- [MB-734 <https://wso2.org/jira/browse/MB-734>] - NPE when browsing
>queue/topic messages sent by a C# JMS client
>- [MB-826 <https://wso2.org/jira/browse/MB-826>] - Message can be
>resent when channel closed before acknowledgement is processed.
>- [MB-848 <https://wso2.org/jira/browse/MB-848>] - Subscriber with
>permission to consume but doesn't have queue add, browse or delete
>permission failed to consume from queue
>- [MB-878 <https://wso2.org/jira/browse/MB-878>] - Incompatibility
>with with AMQP Content header when using RabbitMQ publishers
>- [MB-889 <https://wso2.org/jira/browse/MB-889>] - Display topic
>sections to an user who have only the login permissions
>- [MB-905 <https://wso2.org/jira/browse/MB-905>] - created topic
>subscriptions not removed when running with jmeter
>- [MB-924 <https://wso2.org/jira/browse/MB-924>] - broker.xml has to
>support Secure vault
>- [MB-940 <https://wso2.org/jira/browse/MB-940>] - Observed "ERROR
>{org.wso2.andes.kernel.distruptor.inbound.InboundLogExceptionHandler} - [
>Sequence: 3884182 ] Exception occurred while processing inbound
>events.Event type: MESSAGE_EVENT", with a load test
>- [MB-972 <https://wso2.org/jira/browse/MB-972>] - MQTT : Supporting
>Message Sizes Which Exceeds the Frame Size
>- [MB-993 <https://wso2.org/jira/browse/MB-993>] - Subscriber Re
>Connection Causes Stability Issues
>- [MB-998 <https://wso2.org/jira/browse/MB-998>] - An error is printed
>for each message when subscriber is disconnected while messages are
>publishing for MQTT
>- [MB-1025 <https://wso2.org/jira/browse/MB-1025>] - MQTT : Fix
>Message Size Limitation
>- [MB-1034 <https://wso2.org/jira/browse/MB-1034>] -
>ArrayIndexOutOfBoundsException when publishing MQTT messages while adding
>subscribers to same topic
>- [MB-1039 <https://wso2.org/jira/browse/MB-1039>] - MB doesn't
>support large messages for AMQP with MySQL datasource
>- [MB-1041 <https://wso2.org/jira/browse/MB-1041>] - Cassandra
>InvalidQueryException when durable subscriber goes offline
>- [MB-1052 <https://wso2.org/jira/browse/MB-1052>] -
>NullPointerException occurred in shutting down server when non durable
>subscription active
>- [MB-1053 <https://wso2.org/jira/browse/MB-1053>] - Warning log :
>Invalid State transition from DELETED suggested
>- [MB-1054 <https://wso2.org/jira/browse/MB-1054>] - MB server cannot
>restart after subscribe/publish messages to DSE cassandra
>- [MB-1058 <https://wso2.org/jira/browse/MB-1058>] - Message content
>not shown in the summary view
>- [MB-1063 <https://wso2.org/jira/browse/MB-1063>] - Browsing a queue
>which has 5 million messages is not possible to view
>- [MB-1065 <https://wso2.org/jira/browse/MB-1065>] - User with
>permission to browse queue messages is unable to browse the message
>- [MB-1066 <https://wso2.org/jira/browse/MB-1066>] - Messages are
>stuck in DB when the only publishing node is killed while publishing
>- [MB-1067 <https://wso2.org/jira/browse/MB-1067>] - Disable amqp
>protocol and publish / browse queue messages from console leads to dead 
> page
>- [MB-1068 <https://wso2.org/jira/browse/MB-1068>] - When browsing
>queue messages pagination is shown for more than restricted number of
>messages
>- [MB-1069 <https://wso2.org/jira/browse/MB-1069>] - Can not delete a
>queue which has subscribed clients
>- [MB-1070 <https://wso2.org/jira/browse/MB-1070>] - MB 3.0.0 build
>with test fail

[Dev] Permission denied exception when running integration tests in MB with carbon kernal 4.4.1

2015-08-10 Thread Sasikala Kottegoda
Hi all,

I tried to run all the tests after upgrading the carbon kernel version of
MB from 4.4.0 to 4.4.1 and all the authorization tests fail with the
following exception.

javax.jms.JMSException: Error registering consumer:
org.wso2.andes.AMQSecurityException: Permission denied: queue-name
'authQueue1' [error code 403: access refused]
at org.wso2.andes.client.AMQSession$5.execute(AMQSession.java:2114)
at org.wso2.andes.client.AMQSession$5.execute(AMQSession.java:2057)
at
org.wso2.andes.client.AMQConnectionDelegate_8_0.executeRetrySupport(AMQConnectionDelegate_8_0.java:315)
at
org.wso2.andes.client.AMQConnection.executeRetrySupport(AMQConnection.java:620)
at
org.wso2.andes.client.failover.FailoverRetrySupport.execute(FailoverRetrySupport.java:102)
at org.wso2.andes.client.AMQSession.createConsumerImpl(AMQSession.java:2055)
at org.wso2.andes.client.AMQSession.createConsumer(AMQSession.java:1028)
at org.wso2.andes.client.AMQSession.createReceiver(AMQSession.java:1423)
at
org.wso2.andes.client.AMQQueueSessionAdaptor.createReceiver(AMQQueueSessionAdaptor.java:75)
at
org.wso2.mb.integration.common.clients.AndesJMSConsumer.createQueueConnection(AndesJMSConsumer.java:208)
at
org.wso2.mb.integration.common.clients.AndesJMSConsumer.init(AndesJMSConsumer.java:119)
at
org.wso2.mb.integration.common.clients.AndesClient.init(AndesClient.java:108)
at
org.wso2.mb.integration.common.clients.AndesClient.init(AndesClient.java:76)
at
org.wso2.mb.integration.tests.amqp.functional.QueueUserAuthorizationTestCase.createPublishAndSubscribeFromUser(QueueUserAuthorizationTestCase.java:517)
at
org.wso2.mb.integration.tests.amqp.functional.QueueUserAuthorizationTestCase.performQueuePermissionTestCase(QueueUserAuthorizationTestCase.java:154)
Caused by: org.wso2.andes.AMQSecurityException: Permission denied:
queue-name 'authQueue1' [error code 403: access refused]
at
org.wso2.andes.client.handler.ConnectionCloseMethodHandler.methodReceived(ConnectionCloseMethodHandler.java:85)
at
org.wso2.andes.client.handler.ClientMethodDispatcherImpl.dispatchConnectionClose(ClientMethodDispatcherImpl.java:192)
at
org.wso2.andes.framing.amqp_0_91.ConnectionCloseBodyImpl.execute(ConnectionCloseBodyImpl.java:140)
at
org.wso2.andes.client.state.AMQStateManager.methodReceived(AMQStateManager.java:111)
at
org.wso2.andes.client.protocol.AMQProtocolHandler.methodBodyReceived(AMQProtocolHandler.java:515)
at
org.wso2.andes.client.protocol.AMQProtocolSession.methodFrameReceived(AMQProtocolSession.java:461)
at
org.wso2.andes.framing.AMQMethodBodyImpl.handle(AMQMethodBodyImpl.java:96)
at
org.wso2.andes.client.protocol.AMQProtocolHandler$2.run(AMQProtocolHandler.java:466)
at org.wso2.andes.pool.Job.processAll(Job.java:109)
at org.wso2.andes.pool.Job.run(Job.java:153)
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)

I tried to reproduce this locally by creating a jms consumer from jmeter
but it worked fine.

Also,
Since the test method stops running after the exception, I caught the
exception and included a Thread.sleep to view the status of the user. The
role 'create_queue' that was at the beginning of the test case was no
longer assigned after the exception occurred even though it was there right
before it occurred.

Any help on this matter would be highly appreciated.

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


[Dev] WSO2 MB build failure after upgrading kernel version

2015-08-03 Thread Sasikala Kottegoda
Hi all,

I tried to build WSO2 MB with the following version upgrades

   - carbon.kernel.version - from 4.4.0 to 4.4.1
   - carbon.commons.version - from 4.4.0 to 4.4.3
   - carbon.multitenancy.version - from 4.4.0 to 4.4.1
   - carbon.identity.version - from 4.4.0 to 4.5.3

The build fails with the following message:

Missing requirement: org.wso2.carbon.tenant.usage.agent 4.4.1
(org.wso2.carbon.tenant.usage.agent 4.4.1) requires 'package
org.wso2.carbon.stratos.common.util [4.4.0,5.0.0)' but it could not be found
 Cannot satisfy dependency:
  From: WSO2 Tenant Usage Agent Feature 4.4.1
(org.wso2.carbon.tenant.usage.agent.feature.group 4.4.1)
  To: org.wso2.carbon.tenant.usage.agent [4.4.1]

Could somebody help me solve this issue?

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


Re: [Dev] [Architecture] Enabling flow control in Message Broker based on channel size in Bytes

2015-07-20 Thread Sasikala Kottegoda
Hi Asitha,

The problem here is that we cannot convert the bytes value into the chunk
count.

For example when the bytes value is configured to 1MB,

   - If the user publishes messages of size 10K, 100 chunks will be allowed
   - If the user publishes messages of size 1K, 1000 chunks will be allowed

The smaller the message size gets, the larger the number of allowed chunks.
Therefore, it's unpredictable at the time of configuration.

Thank you

On Tue, Jul 21, 2015 at 4:43 AM, Asitha Nanayakkara asi...@wso2.com wrote:

 Hi all,

 Can't we use the bytes value in configuration (broker.xml) and convert
 into chunk count when reading the configuration value and use it. That way
 internally nothing is changed plus the user has a better idea on sizes as
 well.
 A win win situation IMO. Anyway if the global chunk count is greater
 than 4/5 (or some reasonable fraction)  of the Disruptor ring size we can
 throw an exception and stop the server at startup.

 Am I missing something here in that approach?

 Regards,
 Asitha

 On Thu, Jul 16, 2015 at 6:12 PM, Sasikala Kottegoda sasik...@wso2.com
 wrote:

 Hi all,

 Currently Message Broker enables flow controlling based on the content
 chunk count. The configuration as shown below.

 flowControl
 global
 lowLimit800/lowLimit
 highLimit8000/highLimit
 /global

 bufferBased
 lowLimit100/lowLimit
 highLimit1000/highLimit
 /bufferBased
 /flowControl

 Flow controlling is enabled when the chunk count that is read from the
 buffer is higher than the specified number.

 Since this is misleading for a user, we decided to set the above limits
 for buffer sizes in Bytes.

 With the new implementation, we face many problems since we cannot not
 relate between the number of messages and the total space occupied by
 messages at the configuration time (Messages with different sizes could be
 published). Following are the problems faced due to this:

- Flow controlling buffer limits are set for sizes in bytes.
- Mina buffer accepts all the messages until we enable flow
   controlling. (It is enabled when the total size of the messages read 
 by *the
   broker* is higher than the specified limit.)
   - For the given limit, the number of messages that could be taken
   in is high for small messages.
   - More time is taken to read and process a large number of small
   messages.
   - Therefore, by the time the broker enables flow controlling, the
   Mina buffer would have overflowed.

   - The ring buffer in the disruptor is initialized with a specified
buffer size with a given number of elements.
   - If the publisher sends messages with smaller sizes, a large
   number of messages will be taken in before flow controlling is 
 enabled, and
   the disruptor will overflow.
- The user cannot relate between the number of messages that are
published before flow controlling is enabled (By having a count specified
as in the existing approach, the number of messages that are taken in is
constant whatever the message size is).

 Therefore, we decided to leave the configuration as it is. Any comments
 are highly appreciated.

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

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




 --
 *Asitha Nanayakkara*
 Software Engineer
 WSO2, Inc. http://wso2.com/
 Mob: + 94 77 85 30 682




-- 
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] [Architecture]Enabling flow control in Message Broker based on channel size in Bytes

2015-07-16 Thread Sasikala Kottegoda
Hi all,

Currently Message Broker enables flow controlling based on the content
chunk count. The configuration as shown below.

flowControl
global
lowLimit800/lowLimit
highLimit8000/highLimit
/global

bufferBased
lowLimit100/lowLimit
highLimit1000/highLimit
/bufferBased
/flowControl

Flow controlling is enabled when the chunk count that is read from the
buffer is higher than the specified number.

Since this is misleading for a user, we decided to set the above limits for
buffer sizes in Bytes.

With the new implementation, we face many problems since we cannot not
relate between the number of messages and the total space occupied by
messages at the configuration time (Messages with different sizes could be
published). Following are the problems faced due to this:

   - Flow controlling buffer limits are set for sizes in bytes.
   - Mina buffer accepts all the messages until we enable flow controlling.
  (It is enabled when the total size of the messages read by *the
  broker* is higher than the specified limit.)
  - For the given limit, the number of messages that could be taken in
  is high for small messages.
  - More time is taken to read and process a large number of small
  messages.
  - Therefore, by the time the broker enables flow controlling, the
  Mina buffer would have overflowed.

  - The ring buffer in the disruptor is initialized with a specified
   buffer size with a given number of elements.
  - If the publisher sends messages with smaller sizes, a large number
  of messages will be taken in before flow controlling is enabled, and the
  disruptor will overflow.
   - The user cannot relate between the number of messages that are
   published before flow controlling is enabled (By having a count specified
   as in the existing approach, the number of messages that are taken in is
   constant whatever the message size is).

Therefore, we decided to leave the configuration as it is. Any comments are
highly appreciated.

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


[Dev] Dead Lock encountered when deleting a hybrid role

2015-07-10 Thread Sasikala Kottegoda
Hi all,

The following error was reported when trying to delete a role while running
the MB server (The complete issue can be found at [1])

TID: [-1234] [] [2015-06-29 14:46:08,002] ERROR
{org.wso2.carbon.user.core.util.DatabaseUtil} -  Error! Deadlock found when
trying to get lock; try restarting transaction
{org.wso2.carbon.user.core.util.DatabaseUtil}
com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Deadlock
found when trying to get lock; try restarting transaction
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.Util.getInstance(Util.java:386)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1066)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4190)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4122)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2570)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2731)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2818)
at
com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2157)
at
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2460)
at
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2377)
at
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2361)
at
org.wso2.carbon.user.core.util.DatabaseUtil.updateDatabase(DatabaseUtil.java:529)
at
org.wso2.carbon.user.core.hybrid.HybridRoleManager.deleteHybridRole(HybridRoleManager.java:479)
at
org.wso2.carbon.user.core.common.AbstractUserStoreManager.deleteRole(AbstractUserStoreManager.java:2294)



When the stack trace was analized, it was observed that the error was cased
by the following method.

public void deleteHybridRole(String roleName) throws UserStoreException {
if(UserCoreUtil.isEveryoneRole(roleName, this.realmConfig)) {
throw new UserStoreException(Invalid operation);
} else {
Connection dbConnection = null;

try {
dbConnection = this.getDBConnection();
DatabaseUtil.updateDatabase(dbConnection, DELETE FROM
UM_HYBRID_USER_ROLE WHERE UM_ROLE_ID=(SELECT UM_ID FROM UM_HYBRID_ROLE
WHERE UM_ROLE_NAME = ? AND UM_TENANT_ID=?) AND UM_TENANT_ID=?, new
Object[]{roleName, Integer.valueOf(this.tenantId),
Integer.valueOf(this.tenantId)});
DatabaseUtil.updateDatabase(dbConnection, DELETE FROM
UM_HYBRID_ROLE WHERE UM_ROLE_NAME = ? AND UM_TENANT_ID=?, new
Object[]{roleName, Integer.valueOf(this.tenantId)});
dbConnection.commit();
} catch (SQLException var7) {
log.error(var7.getMessage(), var7);
throw new UserStoreException(var7.getMessage(), var7);
} finally {
DatabaseUtil.closeAllConnections(dbConnection, new
PreparedStatement[0]);
}


this.userRealm.getAuthorizationManager().clearRoleAuthorization(roleName);
}
}

Could the problem be the fact that the first statement is locking
UM_HYBRID_ROLE which is written to, in the second statement? Any comment
would be highly appreciated.

[1] https://wso2.org/jira/browse/MB-1128

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


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

2015-07-07 Thread Sasikala Kottegoda
Hi all,

With the new database design with foreign keys specified, message content
get deleted automatically when message metadata is deleted. Therefore, a
separate message content table is needed for messages in the DLC.
And that introduces a lot of problems:

   - Moving to and from DLC involves several inserts and deletions
   - For each message(or batch) that is read from the database, which table
   that message should be read from, has to be specified.

Due to these reasons we decided to add just a single attribute to the
metadata table indicating to which DLC queue the message was moved to. That
way, we could prevent moving data from one table to another.
Thank you.

On Wed, Jun 17, 2015 at 2:52 PM, 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




-- 
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


Re: [Dev] Supporting referential integrity in the database of WSO2MB

2015-07-07 Thread Sasikala Kottegoda
Hi Hasitha,

In a durable topic scenario, for each message received from the publisher,
we generate a number of messages that is equal to the number of durable
subscriptions (with different message IDs).
Therefore, we have each content entry associated to a unique metadata
entry. So I think cascade delete will not be a problem.

Thank you

On Tue, Jul 7, 2015 at 3:15 PM, Hasitha Amal De Silva hasit...@wso2.com
wrote:

 Hi guys,

 In a durable topic scenario, say we have 2 subscribers A and B, do we
 maintain 2 entries for the same message content @ message_content table ?
 If we refer to the same message_content entry for both subscribers, be wary
 of cascade deletes.

 Thanks

 On Fri, Jun 26, 2015 at 3:06 PM, Anuja Herath an...@wso2.com wrote:

 Hi Sasikala,

 Since we dropped cassandra, this will enable us to use full power of
 RDBMS.
 But make sure that mentioned operations will work on MySQL, MS SQL and
 oracle in the same way.

 Thanks,
 Anuja

 On Fri, Jun 26, 2015 at 2:56 PM, Sasikala Kottegoda sasik...@wso2.com
 wrote:

 Hi all,

 Currently our database schema does not support referential integrity
 between the tables MB_CONTENT (which stores message contet) and MB_METADATA
 (which store message metadata). But message content with no related
 metadata is meaningless.

 To address this problem, what we have done is deleting message content
 along with metadata.

 But if we have have a foreign key relationship between the two tables,
 we will be able to ensure that no message content will be left without
 metadata associated. Also, it will reduce the number of database calls that
 are made thus speeding up the process.

 Any comments?

 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




 --
 Anuja Herath
 *Software Engineer*
 *WSO2, Inc.*
 Mobile : +94 (0)71 429 8861

 ___
 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. )




-- 
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] Supporting referential integrity in the database of WSO2MB

2015-06-26 Thread Sasikala Kottegoda
Hi all,

Currently our database schema does not support referential integrity
between the tables MB_CONTENT (which stores message contet) and MB_METADATA
(which store message metadata). But message content with no related
metadata is meaningless.

To address this problem, what we have done is deleting message content
along with metadata.

But if we have have a foreign key relationship between the two tables, we
will be able to ensure that no message content will be left without
metadata associated. Also, it will reduce the number of database calls that
are made thus speeding up the process.

Any comments?

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


Re: [Dev] WSO2 Committers += Pumudu Ruhunage

2015-06-24 Thread Sasikala Kottegoda
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] [Architecture] Suggestion to add a separate DLC table for WSO2MB in order to enhance performance

2015-06-17 Thread Sasikala Kottegoda
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


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

2015-06-17 Thread Sasikala Kottegoda
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
___
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 Sasikala Kottegoda
Hi Hasitha,

I think, the problem will be solved in cassandra too.

As for the current design, there will be a row for each of the DLC queues
(with no information as to which storageQueue it was moved from). If we are
to purge a specific queue, we need to iterate through each of these dlc
queues and check message metadata  to find that information.

But from this, we can directly access the messages moved from a particular
storageQueue.

Please do correct me if I'm wrong.

Thank you

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

 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




-- 
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


Re: [Dev] [DEV] Problem regarding Transaction Handling in MySQL

2015-06-09 Thread Sasikala Kottegoda
Hi all,

The problem was solved by changing the database engine type to innoDB.
Previously it was set to MyISAM which does not provide transactional
support.

Thank you

On Wed, May 27, 2015 at 10:20 AM, Sasikala Kottegoda sasik...@wso2.com
wrote:

 Hi all,

 MB stores message metadata and content in two separate tables.

 Currently, message metadata is being deleted once the messages are
 delivered, but the content is not (deleted later by a scheduled task).

 What I'm trying to do is to delete (transactional delete) both message
 metadata and content once they get delivered. For this, I have created two
 prepared statements. I add messages to these two statements and execute the
 batches as shown below.

 for (AndesRemovableMetadata md : messagesToRemove) {
 //add parameters to delete metadata
 metadataRemovalPreparedStatement.setInt(1, queueID);
 metadataRemovalPreparedStatement.setLong(2, md.getMessageID());
 metadataRemovalPreparedStatement.addBatch();

 //add parameters to delete content
 contentRemovalPreparedStatment.setLong(1, md.getMessageID());
 contentRemovalPreparedStatment.addBatch();
 }
 metadataRemovalPreparedStatement.executeBatch();
 contentRemovalPreparedStatment.executeBatch();
 connection.commit();


 This works fine in a normal scenario. But when I kill the MB node (which
 acts as the SQL client) suddenly, it seems like the execution of the second
 prepared statement is not completed. Meaning that, even though the metadata
 is removed from the respective table, the content is not. When I
 interchange the statement executions, metadata gets left in the metadata
 table and content gets deleted.

 Could I please know what I'm doing wrong?

 Also, another solution to this would be to add a foreign key constraint to
 the content table to enable cascade delete. Would that be a better approach?

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




-- 
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] Suggested change in the implementation of moving messages to DLC in MB

2015-06-08 Thread Sasikala Kottegoda
Hi all,

Currently when messages are moved to DLC in MB, message metadata is added
to the DLC queue and then deleted from the previous. This could just be
handled by an update method in an RDBMS database. Therefore, could we
change it?

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


Re: [Dev] [DEV] Problem regarding Transaction Handling in MySQL

2015-05-27 Thread Sasikala Kottegoda
Yes I had set the connection autoCommit value to false.

Below is the complete code snippet:

Connection connection = null;
PreparedStatement preparedStatement = null;
PreparedStatement contentRemovalPreparedStatment = null;

Context context =
DataAccessMatrixManager.addAndGetTimer(MatrixConstants.DELETE_MESSAGE_META_DATA_FROM_QUEUE,
this).
start();

try {
int queueID = getCachedQueueID(storageQueueName);

connection = getConnection();
connection.setAutoCommit(false);
preparedStatement = connection
.prepareStatement(RDBMSConstants.PS_DELETE_METADATA_FROM_QUEUE);
contentRemovalPreparedStatment =
connection.prepareStatement(RDBMSConstants.PS_DELETE_MESSAGE_PARTS);
for (AndesRemovableMetadata md : messagesToRemove) {
//add parameter to delete metadata
preparedStatement.setInt(1, queueID);
preparedStatement.setLong(2, md.getMessageID());
preparedStatement.addBatch();

//add parameters to delete content
contentRemovalPreparedStatment.setLong(1, md.getMessageID());
contentRemovalPreparedStatment.addBatch();
}
preparedStatement.executeBatch();
contentRemovalPreparedStatment.executeBatch();
connection.commit();

//TODO find a better phrase
if (log.isDebugEnabled()) {
log.debug(Metadata and content removed.  + messagesToRemove.size() +
 metadata from destination  + storageQueueName);
}
} catch (SQLNonTransientConnectionException sqlConEx) {
rollback(connection,
RDBMSConstants.TASK_DELETING_METADATA_FROM_QUEUE + storageQueueName
+  and  + RDBMSConstants.TASK_DELETING_MESSAGE_PARTS);
throw new AndesStoreUnavailableException(error occurred while
deleting message metadata  +
and content for queue  + storageQueueName,
sqlConEx.getSQLState(), sqlConEx);

} catch (SQLException e) {
rollback(connection,
RDBMSConstants.TASK_DELETING_METADATA_FROM_QUEUE + storageQueueName
+  and  + RDBMSConstants.TASK_DELETING_MESSAGE_PARTS);
throw new AndesException(error occurred while deleting message
metadata and content for queue ,
e);
} finally {

context.stop();

String task = RDBMSConstants.TASK_DELETING_METADATA_FROM_QUEUE +
storageQueueName;
String messageContentRemovalTask =
RDBMSConstants.TASK_DELETING_MESSAGE_PARTS;
close(preparedStatement, task);
close(contentRemovalPreparedStatment, messageContentRemovalTask);
close(connection, task +  and  + messageContentRemovalTask);
}


Thanks

On Wed, May 27, 2015 at 1:12 PM, Harsha Kumara hars...@wso2.com wrote:

 Hi Sasikala,

 Can you share your full code snippet. I hope you have initially set
 connection autoCommit value to false. As Lahiru mentioned, it would be best
 to have foreign key constraint with cascade delete.

 Thanks,
 Harsha



 On Wed, May 27, 2015 at 10:20 AM, Sasikala Kottegoda sasik...@wso2.com
 wrote:

 Hi all,

 MB stores message metadata and content in two separate tables.

 Currently, message metadata is being deleted once the messages are
 delivered, but the content is not (deleted later by a scheduled task).

 What I'm trying to do is to delete (transactional delete) both message
 metadata and content once they get delivered. For this, I have created two
 prepared statements. I add messages to these two statements and execute the
 batches as shown below.

 for (AndesRemovableMetadata md : messagesToRemove) {
 //add parameters to delete metadata
 metadataRemovalPreparedStatement.setInt(1, queueID);
 metadataRemovalPreparedStatement.setLong(2, md.getMessageID());
 metadataRemovalPreparedStatement.addBatch();

 //add parameters to delete content
 contentRemovalPreparedStatment.setLong(1, md.getMessageID());
 contentRemovalPreparedStatment.addBatch();
 }
 metadataRemovalPreparedStatement.executeBatch();
 contentRemovalPreparedStatment.executeBatch();
 connection.commit();


 This works fine in a normal scenario. But when I kill the MB node (which
 acts as the SQL client) suddenly, it seems like the execution of the second
 prepared statement is not completed. Meaning that, even though the metadata
 is removed from the respective table, the content is not. When I
 interchange the statement executions, metadata gets left in the metadata
 table and content gets deleted.

 Could I please know what I'm doing wrong?

 Also, another solution to this would be to add a foreign key constraint
 to the content table to enable cascade delete. Would that be a better
 approach?

 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




 --
 Harsha Kumara
 Software Engineer, WSO2 Inc.
 Mobile: +94775505618
 Blog:harshcreationz.blogspot.com




-- 
Sasikala Kottegoda
*Software Engineer

[Dev] [DEV] Problem regarding Transaction Handling in MySQL

2015-05-26 Thread Sasikala Kottegoda
Hi all,

MB stores message metadata and content in two separate tables.

Currently, message metadata is being deleted once the messages are
delivered, but the content is not (deleted later by a scheduled task).

What I'm trying to do is to delete (transactional delete) both message
metadata and content once they get delivered. For this, I have created two
prepared statements. I add messages to these two statements and execute the
batches as shown below.

for (AndesRemovableMetadata md : messagesToRemove) {
//add parameters to delete metadata
metadataRemovalPreparedStatement.setInt(1, queueID);
metadataRemovalPreparedStatement.setLong(2, md.getMessageID());
metadataRemovalPreparedStatement.addBatch();

//add parameters to delete content
contentRemovalPreparedStatment.setLong(1, md.getMessageID());
contentRemovalPreparedStatment.addBatch();
}
metadataRemovalPreparedStatement.executeBatch();
contentRemovalPreparedStatment.executeBatch();
connection.commit();


This works fine in a normal scenario. But when I kill the MB node (which
acts as the SQL client) suddenly, it seems like the execution of the second
prepared statement is not completed. Meaning that, even though the metadata
is removed from the respective table, the content is not. When I
interchange the statement executions, metadata gets left in the metadata
table and content gets deleted.

Could I please know what I'm doing wrong?

Also, another solution to this would be to add a foreign key constraint to
the content table to enable cascade delete. Would that be a better approach?

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


[Dev] Unable to build Carbon Kernal 4.1.0 with maven-3.2.1

2014-03-04 Thread Sasikala Kottegoda
Hi,

I tried to build the checked out source code of Carbon Kernal using
apache-maven-3.2.1 and it gives the following error.

 Error injecting: org.apache.maven.reporting.exec.DefaultMavenReportExecutor
java.lang.NoClassDefFoundError: org/sonatype/aether/graph/DependencyFilter
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
at java.lang.Class.getDeclaredConstructors(Class.java:1836)
at
com.google.inject.spi.InjectionPoint.forConstructorOf(InjectionPoint.java:245)
at
com.google.inject.internal.ConstructorBindingImpl.create(ConstructorBindingImpl.java:99)
at
com.google.inject.internal.InjectorImpl.createUninitializedBinding(InjectorImpl.java:653)
at
com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:863)
at
com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:790)
at
com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:278)
at
com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:210)
at
com.google.inject.internal.InjectorImpl.getProviderOrThrow(InjectorImpl.java:986)
at
com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1019)

As the article
https://cwiki.apache.org/confluence/display/MAVEN/AetherClassNotFoundexplains,
This error is caused by Maven 3.1-alpha-1 migration from Sonatype
Aether to Eclipse Aether (MNG-5354https://jira.codehaus.org/browse/MNG-5354),
which is an incompatible change for some plugins. I think changes need to
be made to enable the Kernal to be built using newer versions of maven.

I installed maven-3.0.5 and the Kernal was built successfully.

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