You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by Auke Schrijnen <as...@bkwi.nl> on 2016/05/19 06:47:55 UTC

Synapse 2.2.0 release and future

Hi all!

We are sad to see the development of Synapse slowly stop. We use Synapse in our integration platform since 2012 which has proved it’s use and still perfectly does the job. Over the years we had to apply some patches, especially to make the servlet integration work with the various mediators and transport methods.

When trying to contribute to the Synapse project we ran into a wall. Our lack of understanding of the Apache rules and uses and all the hurdles to overcome made that we didn’t contribute that much. It’s really hard compared to contributing to projects which are using tools like GitHub or Gerrit.

I’m wondering if the user base of Apache Synapse has shrunk to 1 (just us). Back in 2012 the development seemed stable and WSO2 was involved in the project. Did they move away from Apache Synapse? Or are there more organizations using Synapse?

What can be done to revive the project and keep it alive? Andreas created a 1.7.2 release for Axis2, what would it take to create a 2.2.0 release for Synapse?

Auke
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org


Re: Synapse 2.2.0 release and future

Posted by Hiranya Jayathilaka <hi...@gmail.com>.
Hi Auke,

It’s great to hear how Synapse has been useful to you over the years. I’m sure there are other similar success stories out there. What we need to revive this project is a few more hands. If we can get 2-3 folks who can consistently review and apply patches, keep the build stable and occasionally do a release I think we can make it work. I’ve been the main person maintaining the code over the last couple of years, with Andreas also helping out quite regularly. But with me getting swamped working on my phd thesis, nothing substantial has happened in Synapse lately. 

If we can get the commitment of couple of new people, I think Synapse has a chance of making a come back. I, as the current PMC chair can do anything to facilitate that, including getting the new people committership as well as transferring the PMC chairmanship to someone who’s more willing and able.

Let us know if you are in a position to help the project out, or if you have any questions. I see a few more volunteers in another thread as well. The immediate next step in terms of coding is to migrate Synapse to latest Axis2 release, and test it out. That alone should be good enough for a release. 

Thanks,
Hiranya

> On May 18, 2016, at 11:47 PM, Auke Schrijnen <as...@bkwi.nl> wrote:
> 
> Hi all!
> 
> We are sad to see the development of Synapse slowly stop. We use Synapse in our integration platform since 2012 which has proved it’s use and still perfectly does the job. Over the years we had to apply some patches, especially to make the servlet integration work with the various mediators and transport methods.
> 
> When trying to contribute to the Synapse project we ran into a wall. Our lack of understanding of the Apache rules and uses and all the hurdles to overcome made that we didn’t contribute that much. It’s really hard compared to contributing to projects which are using tools like GitHub or Gerrit.
> 
> I’m wondering if the user base of Apache Synapse has shrunk to 1 (just us). Back in 2012 the development seemed stable and WSO2 was involved in the project. Did they move away from Apache Synapse? Or are there more organizations using Synapse?
> 
> What can be done to revive the project and keep it alive? Andreas created a 1.7.2 release for Axis2, what would it take to create a 2.2.0 release for Synapse?
> 
> Auke
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
> For additional commands, e-mail: dev-help@synapse.apache.org
> 

--
Hiranya Jayathilaka
Mayhem Lab/RACE Lab;
Dept. of Computer Science, UCSB;  http://cs.ucsb.edu
E-mail: hiranya@cs.ucsb.edu;  Mobile: +1 (805) 895-7443
Blog: http://techfeast-hiranya.blogspot.com







---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org


Re: Synapse 2.2.0 release and future

Posted by Andreas Veithen <an...@gmail.com>.
On May 30, 2016 8:37 PM, "Hiranya Jayathilaka" <hi...@gmail.com> wrote:
>
>
> > On May 30, 2016, at 9:13 AM, Auke Schrijnen <as...@bkwi.nl> wrote:
> >
> > Hiranya, Andreas, others,
> >
> > It looks like the mail from Brett worked as a wakeup call, the seems to
be more
> > activity in the last week than the last year.
> >
> > I've tried to rebase our patches (based on Synapse 2.1.0) onto the
latest trunk
> > version, which isn't that easy (the odd project structure doesn't help
here, see
> > SYNAPSE-888). It needs a lot of work to reshape those patches into
small changes
> > which could be applied to Synapse. We do have quite some integration
tests for
> > our services implemented in Synapse and I did found at least one
regression
> > (Andreas merged the fix, see SYNAPSE-1027).
> >
> > One thing I noticed was the level of integration of the pass through
transport
> > with the framework. We ran into similar issues when we started to use
Synapse in
> > a servlet environment, it seemed that the nhttp transport was the only
transport
> > which was really supported.
>
> Supporting servlet containers has always been a challenge to us. Usually
all our development and performance optimization efforts are targeted at
improving the native transports (first NHTTP, then PT), since we fully
understand those implementations. Testing on various servlet container
environments requires a lot of time, effort and in some cases access to
hard-to-acquire resources. Consequently our support for servlet containers
has withered over the years. Even now we have a number of open issues
pertaining to various servlet container environments, and fixing them (or
even verifying them) could be a massive undertaking.

Do you have an example of a problem that occurs in a servlet container form
a specific vendor (as opposed to any servlet container)?

> We should discuss whether to continue this support or not in the future.
AFAIK WSO2 discontinued servlet container support several years ago for
similar reasons.
>
> > Both Axis2 and Synapse provide various abstraction
> > levels and modularity through modules, transports and mediators but the
> > boundaries of those abstractions are crossed on many occasions. The
root case
> > for SYNAPSE-1027 is a crossing of such a boundary in combination with
the
> > assumption that the pass through transport is used. Unfortunately
Synapse lacks
> > unit tests which cover those cases and some features are implemented
without
> > following the architecture of the framework.
>
> I agree. The PT transport code hasn’t really been reviewed or updated to
the level it should have been. As a result the code is pretty much in the
same stage it was a couple of years ago. WSO2 folks have been working on it
continuously in the meantime, so hopefully, with their help we can whip it
into shape. We should also focus on improving our test coverage as you
suggest. If we can get multiple committers to look at our code, and provide
feedback (perhaps as part of a release cycle), we can identify various
abstraction leaks over time and fix them properly.
>
> >
> > Enough complaining... what can I do? Like always, time is a limiting
factor.
> > First of all we need to upgrade to Synapse trunk. A new Synapse release
would
> > help a lot here, because it provides a version which doesn't change.
Our local
> > changes should be rebased on the trunk and sanitized to become patches
in Jira.
> > As we have a rich set of integration tests for our services we could
set up CI
> > jobs for testing against the trunk version, although we would use a
stable
> > version ourselves. Ideally our integration tests are ported to unit or
> > integration tests for the Synapse project, but by executing our tests
on both
> > the latest Synapse release and trunk we can alert the project when our
build
> > fails and preferably provide patches and tests for the issue.
>
> +1
>
> >
> > I presume WSO2 does also have some quality assurance for their Synapse
based
> > product which could used to improve the quality of the project and
according to
> > the other thread there are more people who want to contribute. So it
looks like
> > Synapse can be revived and can become a healthy project.
> >
> > It would be great if Synapse could release more often and at least
follow the
> > Axis2 releases. Seeing regular releases, even with only small changes,
will
> > create a lot more trust in the project.
>
> I agree. In many ways frequent releases is the only reliable indication
of a healthy project. With every release we can improve the code base a
little bit.
>
> >
> > Andreas, you are saying the release process needs to be updated to make
it
> > conform to the current
> > requirements for Apache releases. Who is able to do that? Is there
anything I
> > could do to help in this area?
>
> Ravi has volunteered to drive this release as the release manager. I
believe he’s aware of these requirements. This mostly includes
https://issues.apache.org/jira/browse/SYNAPSE-993
>
> Thanks,
> Hiranya
>
> >
> > Auke
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
> > For additional commands, e-mail: dev-help@synapse.apache.org
> >
>
> --
> Hiranya Jayathilaka
> Mayhem Lab/RACE Lab;
> Dept. of Computer Science, UCSB;  http://cs.ucsb.edu
> E-mail: hiranya@cs.ucsb.edu;  Mobile: +1 (805) 895-7443
> Blog: http://techfeast-hiranya.blogspot.com
>
>
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
> For additional commands, e-mail: dev-help@synapse.apache.org
>

Re: Synapse 2.2.0 release and future

Posted by Hiranya Jayathilaka <hi...@gmail.com>.
> On May 30, 2016, at 9:13 AM, Auke Schrijnen <as...@bkwi.nl> wrote:
> 
> Hiranya, Andreas, others,
> 
> It looks like the mail from Brett worked as a wakeup call, the seems to be more
> activity in the last week than the last year.
> 
> I've tried to rebase our patches (based on Synapse 2.1.0) onto the latest trunk
> version, which isn't that easy (the odd project structure doesn't help here, see
> SYNAPSE-888). It needs a lot of work to reshape those patches into small changes
> which could be applied to Synapse. We do have quite some integration tests for
> our services implemented in Synapse and I did found at least one regression
> (Andreas merged the fix, see SYNAPSE-1027).
> 
> One thing I noticed was the level of integration of the pass through transport
> with the framework. We ran into similar issues when we started to use Synapse in
> a servlet environment, it seemed that the nhttp transport was the only transport
> which was really supported.

Supporting servlet containers has always been a challenge to us. Usually all our development and performance optimization efforts are targeted at improving the native transports (first NHTTP, then PT), since we fully understand those implementations. Testing on various servlet container environments requires a lot of time, effort and in some cases access to hard-to-acquire resources. Consequently our support for servlet containers has withered over the years. Even now we have a number of open issues pertaining to various servlet container environments, and fixing them (or even verifying them) could be a massive undertaking. We should discuss whether to continue this support or not in the future. AFAIK WSO2 discontinued servlet container support several years ago for similar reasons.

> Both Axis2 and Synapse provide various abstraction
> levels and modularity through modules, transports and mediators but the
> boundaries of those abstractions are crossed on many occasions. The root case
> for SYNAPSE-1027 is a crossing of such a boundary in combination with the
> assumption that the pass through transport is used. Unfortunately Synapse lacks
> unit tests which cover those cases and some features are implemented without
> following the architecture of the framework. 

I agree. The PT transport code hasn’t really been reviewed or updated to the level it should have been. As a result the code is pretty much in the same stage it was a couple of years ago. WSO2 folks have been working on it continuously in the meantime, so hopefully, with their help we can whip it into shape. We should also focus on improving our test coverage as you suggest. If we can get multiple committers to look at our code, and provide feedback (perhaps as part of a release cycle), we can identify various abstraction leaks over time and fix them properly. 

> 
> Enough complaining... what can I do? Like always, time is a limiting factor.
> First of all we need to upgrade to Synapse trunk. A new Synapse release would
> help a lot here, because it provides a version which doesn't change. Our local
> changes should be rebased on the trunk and sanitized to become patches in Jira.
> As we have a rich set of integration tests for our services we could set up CI
> jobs for testing against the trunk version, although we would use a stable
> version ourselves. Ideally our integration tests are ported to unit or
> integration tests for the Synapse project, but by executing our tests on both
> the latest Synapse release and trunk we can alert the project when our build
> fails and preferably provide patches and tests for the issue.

+1

> 
> I presume WSO2 does also have some quality assurance for their Synapse based
> product which could used to improve the quality of the project and according to
> the other thread there are more people who want to contribute. So it looks like
> Synapse can be revived and can become a healthy project.
> 
> It would be great if Synapse could release more often and at least follow the
> Axis2 releases. Seeing regular releases, even with only small changes, will
> create a lot more trust in the project.

I agree. In many ways frequent releases is the only reliable indication of a healthy project. With every release we can improve the code base a little bit. 

> 
> Andreas, you are saying the release process needs to be updated to make it
> conform to the current
> requirements for Apache releases. Who is able to do that? Is there anything I
> could do to help in this area?

Ravi has volunteered to drive this release as the release manager. I believe he’s aware of these requirements. This mostly includes https://issues.apache.org/jira/browse/SYNAPSE-993

Thanks,
Hiranya

> 
> Auke
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
> For additional commands, e-mail: dev-help@synapse.apache.org
> 

--
Hiranya Jayathilaka
Mayhem Lab/RACE Lab;
Dept. of Computer Science, UCSB;  http://cs.ucsb.edu
E-mail: hiranya@cs.ucsb.edu;  Mobile: +1 (805) 895-7443
Blog: http://techfeast-hiranya.blogspot.com







---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org


Re: Synapse 2.2.0 release and future

Posted by Auke Schrijnen <as...@bkwi.nl>.
Hiranya, Andreas, others,

It looks like the mail from Brett worked as a wakeup call, the seems to be more
activity in the last week than the last year.

I've tried to rebase our patches (based on Synapse 2.1.0) onto the latest trunk
version, which isn't that easy (the odd project structure doesn't help here, see
SYNAPSE-888). It needs a lot of work to reshape those patches into small changes
which could be applied to Synapse. We do have quite some integration tests for
our services implemented in Synapse and I did found at least one regression
(Andreas merged the fix, see SYNAPSE-1027).

One thing I noticed was the level of integration of the pass through transport
with the framework. We ran into similar issues when we started to use Synapse in
a servlet environment, it seemed that the nhttp transport was the only transport
which was really supported. Both Axis2 and Synapse provide various abstraction
levels and modularity through modules, transports and mediators but the
boundaries of those abstractions are crossed on many occasions. The root case
for SYNAPSE-1027 is a crossing of such a boundary in combination with the
assumption that the pass through transport is used. Unfortunately Synapse lacks
unit tests which cover those cases and some features are implemented without
following the architecture of the framework. 

Enough complaining... what can I do? Like always, time is a limiting factor.
First of all we need to upgrade to Synapse trunk. A new Synapse release would
help a lot here, because it provides a version which doesn't change. Our local
changes should be rebased on the trunk and sanitized to become patches in Jira.
As we have a rich set of integration tests for our services we could set up CI
jobs for testing against the trunk version, although we would use a stable
version ourselves. Ideally our integration tests are ported to unit or
integration tests for the Synapse project, but by executing our tests on both
the latest Synapse release and trunk we can alert the project when our build
fails and preferably provide patches and tests for the issue.

I presume WSO2 does also have some quality assurance for their Synapse based
product which could used to improve the quality of the project and according to
the other thread there are more people who want to contribute. So it looks like
Synapse can be revived and can become a healthy project.

It would be great if Synapse could release more often and at least follow the
Axis2 releases. Seeing regular releases, even with only small changes, will
create a lot more trust in the project.

Andreas, you are saying the release process needs to be updated to make it
conform to the current
requirements for Apache releases. Who is able to do that? Is there anything I
could do to help in this area?

Auke

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org


Re: Synapse 2.2.0 release and future

Posted by Andreas Veithen <an...@gmail.com>.
On Thu, May 19, 2016 at 7:47 AM, Auke Schrijnen <as...@bkwi.nl> wrote:
> Hi all!
>
> We are sad to see the development of Synapse slowly stop. We use Synapse in our integration platform since 2012 which has proved it’s use and still perfectly does the job. Over the years we had to apply some patches, especially to make the servlet integration work with the various mediators and transport methods.
>
> When trying to contribute to the Synapse project we ran into a wall. Our lack of understanding of the Apache rules and uses and all the hurdles to overcome made that we didn’t contribute that much. It’s really hard compared to contributing to projects which are using tools like GitHub or Gerrit.
>
> I’m wondering if the user base of Apache Synapse has shrunk to 1 (just us). Back in 2012 the development seemed stable and WSO2 was involved in the project. Did they move away from Apache Synapse?

They forked Synapse and continued development on their fork. It looks
like they are now submitting some of these changes back to Apache
Synapse; at least that's what I got from looking at some of the
recently submitted patches.

Part of the problem of the Apache Synapse problem has always been that
the project is too dependent on contributors of a single organization.
It would be great to see you contribute actively to the project in
order to get more diversity.

> Or are there more organizations using Synapse?
>
> What can be done to revive the project and keep it alive? Andreas created a 1.7.2 release for Axis2, what would it take to create a 2.2.0 release for Synapse?

Update the release process to make it conform to the current
requirements for Apache releases.

>
> Auke
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
> For additional commands, e-mail: dev-help@synapse.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org