You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by Mike Heath <mi...@cycletime.com> on 2004/08/04 18:01:55 UTC

Re: Custom locking for James cluster

Per Danny's request I've moved this discussion to the developer list.

Let me see if I understand correctly.  Our distributed locking code
could be compiled into James but in order for people to use it, they
would have to download JGroups on their own?  Would the build system
have to download JGroups to build?  I'm assuming including JGroups in
CVS would also be a form of distributing JGroups.

This seams like a kind of crappy solution but acceptable.

-Mike

On Wed, 2004-08-04 at 03:48, Danny Angus wrote:
> Mike,
> As I understand it James can depend upon LGPL, but we can't distribute LGPL
> dependancies, and there are other concerns, but we can work it out, LGPL is
> OK, if slightly awkward.
> Perhaps you'd like to move this discussion to the developer list?
> 
> d.
> 
> 
> 
> 
> |---------+---------------------------->
> |         |           Mike Heath       |
> |         |           <mike@cycletime.c|
> |         |           om>              |
> |         |                            |
> |         |           03/08/2004 11:48 |
> |         |           PM               |
> |         |           Please respond to|
> |         |           "James Users     |
> |         |           List"            |
> |         |                            |
> |---------+---------------------------->
>   >---------------------------------------------------------------------------------------------------------------|
>   |                                                                                                               |
>   |       To:       James Users List <se...@james.apache.org>                                               |
>   |       cc:                                                                                                     |
>   |       Subject:  Re: Custom locking for James cluster                                                          |
>   >---------------------------------------------------------------------------------------------------------------|
> 
> 
> 
> 
> I am pleased to announce that I have received permission from my
> employer to contribute our distributed locking code to James.  The issue
> now is that the code depends on JGroups which is LGPL.  If James can
> include JGroups, we will contribute our code and everyone will be
> happy.  If not, we will continue down the route of providing our
> distributed locking mechanism on Source Forge as an extension to James.
> 
> -Mike
> 
> On Mon, 2004-08-02 at 03:17, Danny Angus wrote:
> > >My question now is, is it possible for James to use multiple spools?
> >
> > Using db type wherever James config allows you to specify a spool or
> > repository you have the option of using an existing table of the correct
> > type or a completely seperate table, it can be seperate to the extent of
> > being simply a different table or in a different schema or a completely
> > seperate database running on different hardware (as long as you remember
> to
> > declare and configure this data-source)
> >
> >
> > >  We have licensed our code under the
> > > terms of the LGPL.  The source code will be hosted at Source Forge
> under
> > > the "james-ha" project.
> >
> > We might be interested in either distributing it with James if it was ASF
> > licence not LGPL....
> > Perhaps you might consider contributing it to James, and bypass the whole
> > forking issue?
> > Sounds like it can be included without detracting from a non-distributed
> > system, yes/no?
> >
> > d.
> >
> >
> >
> >
> ***************************************************************************
> > The information in this e-mail is confidential and for use by the
> addressee(s) only. If you are not the intended recipient (or responsible
> for delivery of the message to the intended recipient) please notify us
> immediately on 0141 306 2050 and delete the message from your computer. You
> may not copy or forward it or use or disclose its contents to any other
> person. As Internet communications are capable of data corruption Student
> Loans Company Limited does not accept any  responsibility for changes made
> to this message after it was sent. For this reason it may be inappropriate
> to rely on advice or opinions contained in an e-mail without obtaining
> written confirmation of it. Neither Student Loans Company Limited or the
> sender accepts any liability or responsibility for viruses as it is your
> responsibility to scan attachments (if any). Opinions and views expressed
> in this e-mail are those of the sender and may not reflect the opinions and
> views of The Student Loans Company Limited.
> >
> > This footnote also confirms that this email message has been swept for
> the presence of computer viruses.
> >
> >
> **************************************************************************
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
> > For additional commands, e-mail: server-user-help@james.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
> For additional commands, e-mail: server-user-help@james.apache.org
> 
> 
> 
> 
> 
> 
> ***************************************************************************
> The information in this e-mail is confidential and for use by the addressee(s) only. If you are not the intended recipient (or responsible for delivery of the message to the intended recipient) please notify us immediately on 0141 306 2050 and delete the message from your computer. You may not copy or forward it or use or disclose its contents to any other person. As Internet communications are capable of data corruption Student Loans Company Limited does not accept any  responsibility for changes made to this message after it was sent. For this reason it may be inappropriate to rely on advice or opinions contained in an e-mail without obtaining written confirmation of it. Neither Student Loans Company Limited or the sender accepts any liability or responsibility for viruses as it is your responsibility to scan attachments (if any). Opinions and views expressed in this e-mail are those of the sender and may not reflect the opinions and views of The Student Loans Company Limited.
> 
> This footnote also confirms that this email message has been swept for the presence of computer viruses.
> 
> **************************************************************************
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
> For additional commands, e-mail: server-user-help@james.apache.org


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


[Patch] Custom locking for James cluster

Posted by Mike Heath <mi...@cycletime.com>.
After more than 2 months, I finally found the time to move our
distributed locking mechanism over to JCluster.  JCluster is very cool
by the way.  Using JCluster is actually simpler than going straight
through JGroups, IMO.

The source files aren't currently in the best shape for a patch but I
wanted to get the code out and get people looking at it to make sure
there aren't any glaring problems with the distributed locking.  We
haven't had a chance to really test the JCluster version but the logic
hasn't really changed from our JGroups version which we have tested
pretty well (although not as thoroughly as we would like.)

To compile these files you need JCluster and to run them you need
JGroups and the JGroups JCluster plug-in.  I put all the .jar's in
JAMES/lib and everything seams to be working fine.

JCluster is available at (both .jar's are required):
http://jcluster-plugin.sourceforge.net/

JGroups is available at (use the latest version):
http://sourceforge.net/project/showfiles.php?group_id=6081

After getting more familiar with the James source, I believe it would be
better to make the distributed locking a block to make it more easily
configurable.  There are conceivably a lot of settings that could be
changed and/or tweaked for distributed locking.  Unfortunately, I'm not
sure how to go about creating a new block from scratch (although it
doesn't seam like it would be that difficult.)

-Mike


RE: Custom locking for James cluster

Posted by Mike Heath <mi...@cycletime.com>.
JCluster looks very promising.  It seams fairly straight forward.  I
will try replacing the JGroups code in our distributed lock with
JCluster code over the weekend.

-Mike

On Wed, 2004-08-04 at 20:06, Noel J. Bergman wrote:
> > Let me see if I understand correctly.  Our distributed locking code
> > could be compiled into James but in order for people to use it, they
> > would have to download JGroups on their own?  Would the build system
> > have to download JGroups to build?  I'm assuming including JGroups in
> > CVS would also be a form of distributing JGroups.
> 
> As I understand it, the author of JGroups understands that LGPL is a
> problematic license, but doesn't want to change it.  Instead, he and others
> developed a new package called JCluster (https://jcluster.dev.java.net) that
> does for clustering what java.sql does for JDBC.  Basically, you write your
> code to JCluster, and it uses whatever clustering package is configured, in
> this case JGroups.
> 
> James Strachan would have better information, so I am cc'ing him.
> 
> Alternatively, when we can see your repository subclass, perhaps we can
> figure out another solution, if the only thing that JGroups is being used
> for is distributed locking.
> 
> 	--- Noel
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org


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


RE: Custom locking for James cluster

Posted by "Noel J. Bergman" <no...@devtech.com>.
> Let me see if I understand correctly.  Our distributed locking code
> could be compiled into James but in order for people to use it, they
> would have to download JGroups on their own?  Would the build system
> have to download JGroups to build?  I'm assuming including JGroups in
> CVS would also be a form of distributing JGroups.

As I understand it, the author of JGroups understands that LGPL is a
problematic license, but doesn't want to change it.  Instead, he and others
developed a new package called JCluster (https://jcluster.dev.java.net) that
does for clustering what java.sql does for JDBC.  Basically, you write your
code to JCluster, and it uses whatever clustering package is configured, in
this case JGroups.

James Strachan would have better information, so I am cc'ing him.

Alternatively, when we can see your repository subclass, perhaps we can
figure out another solution, if the only thing that JGroups is being used
for is distributed locking.

	--- Noel


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