You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by Carsten Ziegeler <cz...@apache.org> on 2013/05/17 09:33:10 UTC

Releasing discovery

Hi,

I'm planning to cut a release of the discovery modules next week, this
includes:
api
support - a general useful property provider service (formerly in the api
package)
standalone - a standalone implementation of the discovery (formerly in the
api package)
impl - the full fledged repository based implementation

If you see any issues with releasing this stuff, please speak up now. I
guess the most important part is the API as we have to support this :)

Thanks
Carsten
-- 
Carsten Ziegeler
cziegeler@apache.org

Re: Releasing discovery

Posted by Stefan Egli <eg...@adobe.com>.
And the page is now live:

http://sling.apache.org/documentation/bundles/discovery-api-and-impl.html

Cheers,
Stefan

On 5/22/13 2:35 PM, "Stefan Egli" <eg...@adobe.com> wrote:

>Excellent, thanks a lot for the review & fixes!
>
>Cheers,
>Stefan
>
>On 5/22/13 2:29 PM, "Bertrand Delacretaz" <bd...@apache.org> wrote:
>
>>Hi Stefan,
>>
>>On Wed, May 22, 2013 at 2:03 PM, Stefan Egli <eg...@adobe.com> wrote:
>>> The documentation is now ready...
>>> 
>>>http://sling.staging.apache.org/documentation/bundles/discovery-api-and-
>>>i
>>>mp
>>> l.html
>>
>>Very cool! I have fixed a few typos and made some minor changes while
>>reviewing, and I now understand what this module is about ;-)
>>
>>You can review my changes at http://svn.apache.org/r1485185 and as far
>>as I'm concerned this can go live.
>>
>>-Bertrand
>


Re: Releasing discovery

Posted by Stefan Egli <eg...@adobe.com>.
Excellent, thanks a lot for the review & fixes!

Cheers,
Stefan

On 5/22/13 2:29 PM, "Bertrand Delacretaz" <bd...@apache.org> wrote:

>Hi Stefan,
>
>On Wed, May 22, 2013 at 2:03 PM, Stefan Egli <eg...@adobe.com> wrote:
>> The documentation is now ready...
>> 
>>http://sling.staging.apache.org/documentation/bundles/discovery-api-and-i
>>mp
>> l.html
>
>Very cool! I have fixed a few typos and made some minor changes while
>reviewing, and I now understand what this module is about ;-)
>
>You can review my changes at http://svn.apache.org/r1485185 and as far
>as I'm concerned this can go live.
>
>-Bertrand


Re: Releasing discovery

Posted by Bertrand Delacretaz <bd...@apache.org>.
Hi Stefan,

On Wed, May 22, 2013 at 2:03 PM, Stefan Egli <eg...@adobe.com> wrote:
> The documentation is now ready...
> http://sling.staging.apache.org/documentation/bundles/discovery-api-and-imp
> l.html

Very cool! I have fixed a few typos and made some minor changes while
reviewing, and I now understand what this module is about ;-)

You can review my changes at http://svn.apache.org/r1485185 and as far
as I'm concerned this can go live.

-Bertrand

Re: Releasing discovery

Posted by Stefan Egli <eg...@adobe.com>.
On 5/21/13 5:20 PM, "Bertrand Delacretaz" <bd...@apache.org> wrote:

>On Tue, May 21, 2013 at 4:52 PM, Stefan Egli <eg...@adobe.com> wrote:
>> On 5/21/13 11:13 AM, "Bertrand Delacretaz" <bd...@apache.org>
>>wrote:
>>>Can we have some docs about these modules?...
>
>> I shall be looking into this.
>> Is the 'Misc' section under
>> http://sling.apache.org/documentation/bundles.html a good place?...
>
>I think so - if it's your first time using the Apache CMS, the
>simplest is to add the new .mdtext file at
>https://svn.apache.org/repos/asf/sling/site/trunk/content/documentation/bu
>ndles
>and then edit it and the bundles.mdtext page from
>https://cms.apache.org/sling/

Thanks.

The documentation is now ready. Much appreciate comments and feedback.

It can already be found here:

http://sling.staging.apache.org/documentation/bundles/discovery-api-and-imp
l.html

But should soon be here too:

http://sling.apache.org/documentation/bundles/discovery-api-and-impl.html

Cheers,
Stefan


Re: Releasing discovery

Posted by Bertrand Delacretaz <bd...@apache.org>.
On Tue, May 21, 2013 at 4:52 PM, Stefan Egli <eg...@adobe.com> wrote:
> On 5/21/13 11:13 AM, "Bertrand Delacretaz" <bd...@apache.org> wrote:
>>Can we have some docs about these modules?...

> I shall be looking into this.
> Is the 'Misc' section under
> http://sling.apache.org/documentation/bundles.html a good place?...

I think so - if it's your first time using the Apache CMS, the
simplest is to add the new .mdtext file at
https://svn.apache.org/repos/asf/sling/site/trunk/content/documentation/bundles
and then edit it and the bundles.mdtext page from
https://cms.apache.org/sling/

-Bertrand

Re: Releasing discovery

Posted by Stefan Egli <eg...@adobe.com>.
On 5/21/13 11:13 AM, "Bertrand Delacretaz" <bd...@apache.org> wrote:

>On Fri, May 17, 2013 at 9:33 AM, Carsten Ziegeler <cz...@apache.org>
>wrote:
>> ...I'm planning to cut a release of the discovery modules next week...
>
>Can we have some docs about these modules? Dan's probably not the only
>one wondering what they're about.
>
>Even something minimal like I did for the health check module (just
>"what's that and how to play with it") at
>http://sling.apache.org/documentation/bundles/sling-health-check-tool.html
>is good to have IMO, so that a web search for "sling discovery
>modules" lands in a place that has at least basic info.

I shall be looking into this.

Is the 'Misc' section under
http://sling.apache.org/documentation/bundles.html a good place?

Cheers,
Stefan

>
>-Bertrand


Re: Releasing discovery

Posted by Bertrand Delacretaz <bd...@apache.org>.
On Fri, May 17, 2013 at 9:33 AM, Carsten Ziegeler <cz...@apache.org> wrote:
> ...I'm planning to cut a release of the discovery modules next week...

Can we have some docs about these modules? Dan's probably not the only
one wondering what they're about.

Even something minimal like I did for the health check module (just
"what's that and how to play with it") at
http://sling.apache.org/documentation/bundles/sling-health-check-tool.html
is good to have IMO, so that a web search for "sling discovery
modules" lands in a place that has at least basic info.

-Bertrand

Re: Releasing discovery

Posted by Carsten Ziegeler <cz...@apache.org>.
I just realized that I don't have the time to release this in the next days
anyway, so we have time until a first release unless someone else wants to
cut one

Thanks everyone
Carsten


2013/5/21 Carsten Ziegeler <cz...@apache.org>

> Thanks, I've fixed this
>
>
> 2013/5/21 Bertrand Delacretaz <bd...@apache.org>
>
>> On Fri, May 17, 2013 at 9:33 AM, Carsten Ziegeler <cz...@apache.org>
>> wrote:
>> > ...If you see any issues with releasing this stuff, please speak up
>> now...
>>
>> In InstanceDescription, two constants have the same value:
>>
>>     String PROPERTY_NAME = "org.apache.sling.instance.name";
>>     String PROPERTY_DESCRIPTION = "org.apache.sling.instance.name";
>>
>> -Bertrand
>>
>
>
>
> --
> Carsten Ziegeler
> cziegeler@apache.org
>



-- 
Carsten Ziegeler
cziegeler@apache.org

Re: Releasing discovery

Posted by Carsten Ziegeler <cz...@apache.org>.
Thanks, I've fixed this


2013/5/21 Bertrand Delacretaz <bd...@apache.org>

> On Fri, May 17, 2013 at 9:33 AM, Carsten Ziegeler <cz...@apache.org>
> wrote:
> > ...If you see any issues with releasing this stuff, please speak up
> now...
>
> In InstanceDescription, two constants have the same value:
>
>     String PROPERTY_NAME = "org.apache.sling.instance.name";
>     String PROPERTY_DESCRIPTION = "org.apache.sling.instance.name";
>
> -Bertrand
>



-- 
Carsten Ziegeler
cziegeler@apache.org

Re: Releasing discovery

Posted by Bertrand Delacretaz <bd...@apache.org>.
On Fri, May 17, 2013 at 9:33 AM, Carsten Ziegeler <cz...@apache.org> wrote:
> ...If you see any issues with releasing this stuff, please speak up now...

In InstanceDescription, two constants have the same value:

    String PROPERTY_NAME = "org.apache.sling.instance.name";
    String PROPERTY_DESCRIPTION = "org.apache.sling.instance.name";

-Bertrand

Re: Releasing discovery

Posted by Stefan Egli <eg...@adobe.com>.
On 5/21/13 12:00 PM, "Bertrand Delacretaz" <bd...@apache.org> wrote:

>On Fri, May 17, 2013 at 9:33 AM, Carsten Ziegeler <cz...@apache.org>
>wrote:
>> ...If you see any issues with releasing this stuff, please speak up
>>now...
>
>I had another (quick) look at the tests, and unless I missed something
>it's still mostly or only happy cases that are tested.
>
>I personally wouldn't trust this stuff until torture tests that break
>it are implemented...multi-instance discovery and consensus will
>usually break when someone pulls power and network plugs randomly, and
>the question is then how robust the recovery algorithms are.
>
>Such simulations can be hard to implement, but maybe just running lots
>of test threads and killing some of them at random would help discover
>how the discovery implementation handles unexpected failures and
>timeouts. We can let such tests run on Jenkins even if they are slow.

FYI: that's on my list ..

Cheers,
Stefan

>
>This doesn't prevent us from releasing the API, of course, but for the
>implementation it might be good to include a note about what level of
>testing exists so far, to avoid unrealistic expectations.
>
>-Bertrand


Re: Releasing discovery

Posted by Bertrand Delacretaz <bd...@apache.org>.
On Fri, May 17, 2013 at 9:33 AM, Carsten Ziegeler <cz...@apache.org> wrote:
> ...If you see any issues with releasing this stuff, please speak up now...

I had another (quick) look at the tests, and unless I missed something
it's still mostly or only happy cases that are tested.

I personally wouldn't trust this stuff until torture tests that break
it are implemented...multi-instance discovery and consensus will
usually break when someone pulls power and network plugs randomly, and
the question is then how robust the recovery algorithms are.

Such simulations can be hard to implement, but maybe just running lots
of test threads and killing some of them at random would help discover
how the discovery implementation handles unexpected failures and
timeouts. We can let such tests run on Jenkins even if they are slow.

This doesn't prevent us from releasing the API, of course, but for the
implementation it might be good to include a note about what level of
testing exists so far, to avoid unrealistic expectations.

-Bertrand

Re: Releasing discovery

Posted by Carsten Ziegeler <cz...@apache.org>.
Hi Dan,



2013/5/20 Dan Klco <da...@sixdimensions.com>

> Carsten,
>
> I am not sure I fully understand the scope and usage of this API.  From
> what I have seen in the code and the mailing list discussions, it is meant
> to expose clustered Sling instances to each other and send notifications
> when instances are added and removed.  It also facilitates the selection of
> a leader instance and provides the ability to interchange properties.
>
> Is this all correct?


Yes, it is :)


>  If so, what is the intended use?  Will this be used to directly transmit
> information through properties or will the properties be used to exchange
> connection information?
>

The idea is that the discovery provides basic functionality, having a view
of all cluster nodes and having a basic mechanism to exchange properties.
These properties are more connection information or general configuration
that is of interest for other nodes in the cluster. It is not meant to be
used for messaging between instances.
However, this basic functionality can be used to implement various stuff on
top of it - everything which needs a dedicated instance in a cluster can
use the leader detection - or if you want to build a communication
mechanism for sending messages between instances, the discovery provides
the basics. In addition, we're using it for the Sling job distribution -
incoming jobs are "distributed" (or processed) by instances depending on
their announced capabilities.

Regards
Carsten

>
> Thanks and my apologies for my ignorance.
>
> Thanks,
> Dan
>
> -----Original Message-----
> From: Carsten Ziegeler [mailto:cziegeler@apache.org]
> Sent: Friday, May 17, 2013 3:33 AM
> To: dev@sling.apache.org
> Subject: Releasing discovery
>
> Hi,
>
> I'm planning to cut a release of the discovery modules next week, this
> includes:
> api
> support - a general useful property provider service (formerly in the api
> package)
> standalone - a standalone implementation of the discovery (formerly in the
> api package) impl - the full fledged repository based implementation
>
> If you see any issues with releasing this stuff, please speak up now. I
> guess the most important part is the API as we have to support this :)
>
> Thanks
> Carsten
> --
> Carsten Ziegeler
> cziegeler@apache.org
>
> -----
> No virus found in this message.
> Checked by AVG - www.avg.com
> Version: 2013.0.3336 / Virus Database: 3162/6325 - Release Date: 05/15/13
>
>


-- 
Carsten Ziegeler
cziegeler@apache.org

RE: Releasing discovery

Posted by Dan Klco <da...@sixdimensions.com>.
Carsten,

I am not sure I fully understand the scope and usage of this API.  From what I have seen in the code and the mailing list discussions, it is meant to expose clustered Sling instances to each other and send notifications when instances are added and removed.  It also facilitates the selection of a leader instance and provides the ability to interchange properties.  

Is this all correct?  If so, what is the intended use?  Will this be used to directly transmit information through properties or will the properties be used to exchange connection information?

Thanks and my apologies for my ignorance.

Thanks,
Dan

-----Original Message-----
From: Carsten Ziegeler [mailto:cziegeler@apache.org] 
Sent: Friday, May 17, 2013 3:33 AM
To: dev@sling.apache.org
Subject: Releasing discovery

Hi,

I'm planning to cut a release of the discovery modules next week, this
includes:
api
support - a general useful property provider service (formerly in the api
package)
standalone - a standalone implementation of the discovery (formerly in the api package) impl - the full fledged repository based implementation

If you see any issues with releasing this stuff, please speak up now. I guess the most important part is the API as we have to support this :)

Thanks
Carsten
--
Carsten Ziegeler
cziegeler@apache.org

-----
No virus found in this message.
Checked by AVG - www.avg.com
Version: 2013.0.3336 / Virus Database: 3162/6325 - Release Date: 05/15/13