[jira] [Commented] (SLING-3352) Expose OSGI configuration as JCR nodes

2014-02-03 Thread Marius Petria (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-3352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13889309#comment-13889309
 ] 

Marius Petria commented on SLING-3352:
--

[~tripod], I am just restating your proposal to make sure I understand it 
correctly
- have some kind of extension for jcr installer that can be configured with a 
factory and a path
- enforce that objects of that factory can be installed only from that location 
(and also that from that location you can only install instances for that 
factory)
- the advantage for that will be that we are reusing an already implemented 
syncing mechanism

I see two small shortcomings of that:
- the urls are not friendly, they have the fully qualified name of the factory 
and contain a lot of dots. We can probably fix that by designating another 
property to represent the name of the shadow node (for example property name). 
Implementing this might require some unexpected complications.
- we are building this into the sling components directly, so we should first 
decide it is a valid use case in general. The custom syncronizer was targeted 
first at replication with the possibility of extending it.



> Expose OSGI configuration as JCR nodes
> --
>
> Key: SLING-3352
> URL: https://issues.apache.org/jira/browse/SLING-3352
> Project: Sling
>  Issue Type: Improvement
>Reporter: Marius Petria
>  Labels: replication
>
> We need a safe way to expose OSGI configuration via HTTP.
> Requirements:
> - all configs for a certain factory should be manageable
> - they should have associated JCR nodes that contain the config properties
> - only configs that are available through ConfigurationAdmin should be 
> available
> - the HTTP urls should have friendly names
> - (Optional) the implementation should be general enough to be used for other 
> configs other than replication if needed
> For example: a configuration with name publish for 
> org.apache.sling.replication.agent.impl.ReplicationAgentServiceFactory
> should be mapped to /etc/replication/agent/publish
> Problems with current implementation of JCR nodes created by JCR installed:
> -  Configuration files are read and created from  /apps/.../config or 
> /libs/.../config, and there is no easy way to determine which are active in 
> the ConfigurationAdmin
> - There is no way to restrict a repository path to create only configuration 
> from a specified factory (making it unusable with relaxed ACLs)
> - The url of a configuration is unfriendly (it contains the fully qualified 
> name of the factory)
> - The node types are not homogenous making it hard to use in a client 
> application (some are nt:file, some are sling:OsgiConfig)



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Resolved] (SLING-3037) IllegalArgumentException in logback Logger

2014-02-03 Thread Chetan Mehrotra (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-3037?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chetan Mehrotra resolved SLING-3037.


Resolution: Fixed

Updated the Logback version to 1.1.0 in http://svn.apache.org/r1563778. All 
test pass

> IllegalArgumentException in logback Logger
> --
>
> Key: SLING-3037
> URL: https://issues.apache.org/jira/browse/SLING-3037
> Project: Sling
>  Issue Type: Bug
>  Components: Commons
>Reporter: Bertrand Delacretaz
>Assignee: Chetan Mehrotra
> Fix For: Commons Log 4.0.0
>
> Attachments: SLING-3037.patch
>
>
> Since switching to logback in SLING-2024, a number of integration tests are 
> failing, typical stack trace:
> java.lang.IllegalArgumentException: 
> For logger [apps.integration-test] child name 
> [apps.integration-test.srt$1378284549103 passed as parameter, may not include 
> '.' after index22
>   at ch.qos.logback.classic.Logger.createChildByName(Logger.java:357)
>   at 
> ch.qos.logback.classic.LoggerContext.getLogger(LoggerContext.java:143)
>   at ch.qos.logback.classic.LoggerContext.getLogger(LoggerContext.java:45)
>   at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:253)
>   at 
> org.apache.sling.scripting.core.impl.DefaultSlingScript.verifySlingBindings(DefaultSlingScript.java:676)



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Resolved] (SLING-3341) [logback] Race condition in configuring Logback

2014-02-03 Thread Chetan Mehrotra (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-3341?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chetan Mehrotra resolved SLING-3341.


Resolution: Fixed

issue has not surfaced/reported again post this fix. Current fixes looks 
sufficient. Closing it for now

> [logback] Race condition in configuring Logback
> ---
>
> Key: SLING-3341
> URL: https://issues.apache.org/jira/browse/SLING-3341
> Project: Sling
>  Issue Type: Bug
>  Components: Commons
>Affects Versions: Commons Log 4.0.0
>Reporter: Chetan Mehrotra
>Assignee: Chetan Mehrotra
>
> Current way to configure Logback works like as below
> 1. Any change in config finally leads a call to 
> org.apache.sling.commons.log.logback.internal.LogbackManager#configChanged
> 2. The config change is not done in concurrent way. A thread must acquire the 
> {{resetLock}} to trigger  Logback reset. If this lock cannot be acquired then 
> it just sets a flag {{configChanged}} to true. The Logback reset job upon 
> completion checks {{configChanged}} . if found to be true then it reschedules 
> the job to load Logback again
> In current impl there is a small race condition where its possible that 
> Logback reset job does not see the {{configChanged}} flag and hence Logback 
> does not get reinitialized and is configured with stale config



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Resolved] (SLING-3252) Remove checked in Logback related classes before 4.x release

2014-02-03 Thread Chetan Mehrotra (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-3252?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chetan Mehrotra resolved SLING-3252.


Resolution: Fixed

All checked in Logback classes have been removed now. 

> Remove checked in Logback related classes before 4.x release
> 
>
> Key: SLING-3252
> URL: https://issues.apache.org/jira/browse/SLING-3252
> Project: Sling
>  Issue Type: Task
>  Components: Commons
>Affects Versions: Commons Log 4.0.0
>Reporter: Chetan Mehrotra
>Assignee: Chetan Mehrotra
>Priority: Blocker
> Fix For: Commons Log 4.0.0
>
>
> Currently the Common Log bundle has checked in 2 Logback classes as a fix for 
> SLING-3037 and SLING-3049. These classes are under EPL and cannot be part of 
> released bundle
> See http://sling.markmail.org/thread/ilixl3ebdd3hxxts



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[osgi] Using Inventory API in Commons Log

2014-02-03 Thread Chetan Mehrotra
Hi,

For SLING-3264 I was thinking to provide Inventory integration in
Commons Logs. However the Commons Log bundle starts at level 1 while
the Inventory bundle starts at Level 5. The log bundle would use the
ServiceFactory approach to expose the Inventory service and would not
have required dependency on Inventory API.

So just wanted to confirm that would it be fine to depend on classes
from a bundle which starts at later start level or not?

Chetan Mehrotra


Re: [osgi] Using Inventory API in Commons Log

2014-02-03 Thread Felix Meschberger
Hi

Am 03.02.2014 um 09:41 schrieb Chetan Mehrotra :

> Hi,
> 
> For SLING-3264 I was thinking to provide Inventory integration in
> Commons Logs. However the Commons Log bundle starts at level 1 while
> the Inventory bundle starts at Level 5. The log bundle would use the
> ServiceFactory approach to expose the Inventory service and would not
> have required dependency on Inventory API.
> 
> So just wanted to confirm that would it be fine to depend on classes
> from a bundle which starts at later start level or not?

Sure. This is what we are using ServiceFactory and dynamic/delayed import all 
over places. See for example the Configuration Admin binding the Apache Felix 
SCR bundle.

So, what seems to boild down to kind of a best practice is to:

  * use ServiceFactory for optional services
  * use Import-Package with resolution:=optional to have 
  static wiring if possible
  * use DynamicImport-Package to have dynamic wiring
  on-demand

It is just very important to thouroughly test this to not get inadvertend 
ClassNotFoundExceptions, for example if the optional classes appear in the 
method signature of a required class (see the 
ResourceResolverActivator.getFeaures() method which returns Object to work 
around this issue).

Regards
Felix

Re: [osgi] Using Inventory API in Commons Log

2014-02-03 Thread Chetan Mehrotra
Thanks for the clarification Felix!

Just to confirm though ... if Inventory bundle is later
patched/refreshed it would then lead to refresh of Commons Log bundle
also. Would that mean framework would be bought down to level 1 and
restarted again
Chetan Mehrotra


On Mon, Feb 3, 2014 at 2:21 PM, Felix Meschberger  wrote:
> Hi
>
> Am 03.02.2014 um 09:41 schrieb Chetan Mehrotra :
>
>> Hi,
>>
>> For SLING-3264 I was thinking to provide Inventory integration in
>> Commons Logs. However the Commons Log bundle starts at level 1 while
>> the Inventory bundle starts at Level 5. The log bundle would use the
>> ServiceFactory approach to expose the Inventory service and would not
>> have required dependency on Inventory API.
>>
>> So just wanted to confirm that would it be fine to depend on classes
>> from a bundle which starts at later start level or not?
>
> Sure. This is what we are using ServiceFactory and dynamic/delayed import all 
> over places. See for example the Configuration Admin binding the Apache Felix 
> SCR bundle.
>
> So, what seems to boild down to kind of a best practice is to:
>
>   * use ServiceFactory for optional services
>   * use Import-Package with resolution:=optional to have
>   static wiring if possible
>   * use DynamicImport-Package to have dynamic wiring
>   on-demand
>
> It is just very important to thouroughly test this to not get inadvertend 
> ClassNotFoundExceptions, for example if the optional classes appear in the 
> method signature of a required class (see the 
> ResourceResolverActivator.getFeaures() method which returns Object to work 
> around this issue).
>
> Regards
> Felix


Re: [osgi] Using Inventory API in Commons Log

2014-02-03 Thread Felix Meschberger
Hi

Am 03.02.2014 um 10:03 schrieb Chetan Mehrotra :

> Thanks for the clarification Felix!
> 
> Just to confirm though ... if Inventory bundle is later
> patched/refreshed it would then lead to refresh of Commons Log bundle
> also.

Yes

> Would that mean framework would be bought down to level 1 and
> restarted again

no, but … all logging would be "disabled and would have to be reconfigured" if 
the commons log bundle is refreshed …

So the question really is: what happens to the logger instances held by the 
bundles ….

Regards
Felix

> Chetan Mehrotra
> 
> 
> On Mon, Feb 3, 2014 at 2:21 PM, Felix Meschberger  wrote:
>> Hi
>> 
>> Am 03.02.2014 um 09:41 schrieb Chetan Mehrotra :
>> 
>>> Hi,
>>> 
>>> For SLING-3264 I was thinking to provide Inventory integration in
>>> Commons Logs. However the Commons Log bundle starts at level 1 while
>>> the Inventory bundle starts at Level 5. The log bundle would use the
>>> ServiceFactory approach to expose the Inventory service and would not
>>> have required dependency on Inventory API.
>>> 
>>> So just wanted to confirm that would it be fine to depend on classes
>>> from a bundle which starts at later start level or not?
>> 
>> Sure. This is what we are using ServiceFactory and dynamic/delayed import 
>> all over places. See for example the Configuration Admin binding the Apache 
>> Felix SCR bundle.
>> 
>> So, what seems to boild down to kind of a best practice is to:
>> 
>>  * use ServiceFactory for optional services
>>  * use Import-Package with resolution:=optional to have
>>  static wiring if possible
>>  * use DynamicImport-Package to have dynamic wiring
>>  on-demand
>> 
>> It is just very important to thouroughly test this to not get inadvertend 
>> ClassNotFoundExceptions, for example if the optional classes appear in the 
>> method signature of a required class (see the 
>> ResourceResolverActivator.getFeaures() method which returns Object to work 
>> around this issue).
>> 
>> Regards
>> Felix



Re: [osgi] Using Inventory API in Commons Log

2014-02-03 Thread Chetan Mehrotra
On Mon, Feb 3, 2014 at 2:54 PM, Felix Meschberger  wrote:
> So the question really is: what happens to the logger instances held by the 
> bundles 

Before answering that I need to confirm would a new classloader be
created for Commons Log upon package refresh? Probably yes then it
that case existing Logger instances would be referring to old
classloader. The other bundle would be bound to Sl4j API so they would
not be refreshed but there logger instances would be referring to
Logback provided classes.

So one should probably avoid external dependency for a bundle like Commons Log?

Chetan Mehrotra


Re: [osgi] Using Inventory API in Commons Log

2014-02-03 Thread Felix Meschberger
Hi

Am 03.02.2014 um 10:30 schrieb Chetan Mehrotra :

> On Mon, Feb 3, 2014 at 2:54 PM, Felix Meschberger  wrote:
>> So the question really is: what happens to the logger instances held by the 
>> bundles 
> 
> Before answering that I need to confirm would a new classloader be
> created for Commons Log upon package refresh? Probably yes then it
> that case existing Logger instances would be referring to old
> classloader. The other bundle would be bound to Sl4j API so they would
> not be refreshed but there logger instances would be referring to
> Logback provided classes.
> 
> So one should probably avoid external dependency for a bundle like Commons 
> Log?

Yes, that probably is the consequence and we should refrain from adding 
Inventory API binding — unless the commons log bundle exports the inventory API 
itself…

On the other hand: considering both the Inventory and the Web Console API to be 
crucial, it might be conceivable to create API only bundles for these…

Regards
Felix

> 
> Chetan Mehrotra



Re: [osgi] Using Inventory API in Commons Log

2014-02-03 Thread Chetan Mehrotra
> Yes, that probably is the consequence and we should refrain from adding 
> Inventory API binding -- unless the commons log bundle exports the inventory 
> API itself

Well I required Inventory API to expose the logback state in JSON
format (not that strong requirement though). Currently WebConsole
supports Configuration Printer which do not explicitly implement
Inventory API i.e. it supports any class which provides a method like
[1] with some service properties. However that mode looks like does
not support json mode. If it can support that then there is no string
need for using Inventory API

public void printConfiguration(PrintWriter printWriter)
Chetan Mehrotra


On Mon, Feb 3, 2014 at 3:11 PM, Felix Meschberger  wrote:
> Hi
>
> Am 03.02.2014 um 10:30 schrieb Chetan Mehrotra :
>
>> On Mon, Feb 3, 2014 at 2:54 PM, Felix Meschberger  wrote:
>>> So the question really is: what happens to the logger instances held by the 
>>> bundles 
>>
>> Before answering that I need to confirm would a new classloader be
>> created for Commons Log upon package refresh? Probably yes then it
>> that case existing Logger instances would be referring to old
>> classloader. The other bundle would be bound to Sl4j API so they would
>> not be refreshed but there logger instances would be referring to
>> Logback provided classes.
>>
>> So one should probably avoid external dependency for a bundle like Commons 
>> Log?
>
> Yes, that probably is the consequence and we should refrain from adding 
> Inventory API binding -- unless the commons log bundle exports the inventory 
> API itself...
>
> On the other hand: considering both the Inventory and the Web Console API to 
> be crucial, it might be conceivable to create API only bundles for these...
>
> Regards
> Felix
>
>>
>> Chetan Mehrotra
>


Re: buildbot failure in ASF Buildbot on sling-trunk

2014-02-03 Thread Bertrand Delacretaz
Hi,

On Sat, Feb 1, 2014 at 1:13 PM, Amit.. Gupta.  wrote:
...
> org.apache.sling.models.it.RemoteIT  Time elapsed: 60.52 sec  <<< ERROR!
> java.lang.AssertionError: Server not ready after 60 seconds, giving up
...

I have increased that timeout in the build setup, details at SLING-3234

-Bertrand


[jira] [Commented] (SLING-3234) Sling buildbot continuous integration

2014-02-03 Thread Bertrand Delacretaz (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-3234?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13889362#comment-13889362
 ] 

Bertrand Delacretaz commented on SLING-3234:


I have modified sling.conf (URL above) to set longer timeouts using 
-Dsling.testing.timeout.multiplier=4 for integration tests that use the Sling 
testing tools. That should fix the timeouts of the 
bundles/extensions/models/integration-tests module.

> Sling buildbot continuous integration
> -
>
> Key: SLING-3234
> URL: https://issues.apache.org/jira/browse/SLING-3234
> Project: Sling
>  Issue Type: Task
>  Components: Testing
>Reporter: Bertrand Delacretaz
>Assignee: Bertrand Delacretaz
>
> Buildbot jobs have been setup for Sling in INFRA-6962;
> * http://ci.apache.org/builders/sling-trunk (triggered by commits)
> * http://ci.apache.org/builders/sling-trunk-oak (runs after sling-trunk)
> We'll use this issue to keep track of changes related to this buildbot setup, 
> as we did with SLING-920 for our Jenkins builds.
> I suggest marking issues that cause intermittent buildbot failures as 
> blockers for this issue, so that we can quickly check if failed builds are 
> due to known issues.
> Builds can be started manually via IRC if needed, via #asftest. Talk to the 
> sling-bot there, start with "help force", "status" or "commands".
> [1] 
> https://svn.apache.org/repos/infra/infrastructure/buildbot/aegis/buildmaster/master1/projects/sling.conf



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Created] (SLING-3363) Make Logback status part of Configuration Printer output

2014-02-03 Thread Chetan Mehrotra (JIRA)
Chetan Mehrotra created SLING-3363:
--

 Summary: Make Logback status part of Configuration Printer output
 Key: SLING-3363
 URL: https://issues.apache.org/jira/browse/SLING-3363
 Project: Sling
  Issue Type: Improvement
  Components: Commons
Affects Versions: Commons Log 4.0.0
Reporter: Chetan Mehrotra
Assignee: Chetan Mehrotra
Priority: Minor


Sling Log Configuration Printer currently dump the content of various Log file 
as part of output. It would be good to have the Logback status also part of 
same output



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Resolved] (SLING-3363) Make Logback status part of Configuration Printer output

2014-02-03 Thread Chetan Mehrotra (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-3363?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chetan Mehrotra resolved SLING-3363.


   Resolution: Fixed
Fix Version/s: Commons Log 4.0.0

Done with http://svn.apache.org/r1563820

> Make Logback status part of Configuration Printer output
> 
>
> Key: SLING-3363
> URL: https://issues.apache.org/jira/browse/SLING-3363
> Project: Sling
>  Issue Type: Improvement
>  Components: Commons
>Affects Versions: Commons Log 4.0.0
>Reporter: Chetan Mehrotra
>Assignee: Chetan Mehrotra
>Priority: Minor
> Fix For: Commons Log 4.0.0
>
>
> Sling Log Configuration Printer currently dump the content of various Log 
> file as part of output. It would be good to have the Logback status also part 
> of same output



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


Re: [osgi] Using Inventory API in Commons Log

2014-02-03 Thread Felix Meschberger
Hi

Well, officially, ConfigurationPrinter does not support JSON, but you can write 
JSON as TXT output

Regards
Felix

Am 03.02.2014 um 11:01 schrieb Chetan Mehrotra :

>> Yes, that probably is the consequence and we should refrain from adding 
>> Inventory API binding -- unless the commons log bundle exports the inventory 
>> API itself
> 
> Well I required Inventory API to expose the logback state in JSON
> format (not that strong requirement though). Currently WebConsole
> supports Configuration Printer which do not explicitly implement
> Inventory API i.e. it supports any class which provides a method like
> [1] with some service properties. However that mode looks like does
> not support json mode. If it can support that then there is no string
> need for using Inventory API
> 
> public void printConfiguration(PrintWriter printWriter)
> Chetan Mehrotra
> 
> 
> On Mon, Feb 3, 2014 at 3:11 PM, Felix Meschberger  wrote:
>> Hi
>> 
>> Am 03.02.2014 um 10:30 schrieb Chetan Mehrotra :
>> 
>>> On Mon, Feb 3, 2014 at 2:54 PM, Felix Meschberger  
>>> wrote:
 So the question really is: what happens to the logger instances held by 
 the bundles 
>>> 
>>> Before answering that I need to confirm would a new classloader be
>>> created for Commons Log upon package refresh? Probably yes then it
>>> that case existing Logger instances would be referring to old
>>> classloader. The other bundle would be bound to Sl4j API so they would
>>> not be refreshed but there logger instances would be referring to
>>> Logback provided classes.
>>> 
>>> So one should probably avoid external dependency for a bundle like Commons 
>>> Log?
>> 
>> Yes, that probably is the consequence and we should refrain from adding 
>> Inventory API binding -- unless the commons log bundle exports the inventory 
>> API itself...
>> 
>> On the other hand: considering both the Inventory and the Web Console API to 
>> be crucial, it might be conceivable to create API only bundles for these...
>> 
>> Regards
>> Felix
>> 
>>> 
>>> Chetan Mehrotra
>> 



Re: [osgi] Using Inventory API in Commons Log

2014-02-03 Thread Chetan Mehrotra
On Mon, Feb 3, 2014 at 3:50 PM, Felix Meschberger  wrote:
> Well, officially, ConfigurationPrinter does not support JSON, but you can 
> write JSON as TXT output

I can ... but rendering JSON in TXT does not look pretty!!. Probably
it can be officially made to support json.


Chetan Mehrotra


[jira] [Created] (SLING-3364) All rotated log files are not made part of the zip provided through webconsole

2014-02-03 Thread Chetan Mehrotra (JIRA)
Chetan Mehrotra created SLING-3364:
--

 Summary: All rotated log files are not made part of the zip 
provided through webconsole
 Key: SLING-3364
 URL: https://issues.apache.org/jira/browse/SLING-3364
 Project: Sling
  Issue Type: Bug
  Components: Commons
Reporter: Chetan Mehrotra
Assignee: Chetan Mehrotra
 Fix For: Commons Log 4.0.0


Sling Log bundle so far provided ability to dump all the rotated log files as 
part of zip generated via Felix WebConsole support. With shift to Logback its 
not straightforward to  determine location of all rotated logs files e.g. one 
created via config xml 

Need to find a way to determine all such rotated log files and dump them. 

1. Dump all files from log folder
2. Dump only the file created via OSGi configuration as we know the pattern 
used and then use a logic similar to earlier version to determine all such 
files. For files generated by other appenders (one configured via xml) its not 
possible to determine the pattern post initialization



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


Re: [osgi] Using Inventory API in Commons Log

2014-02-03 Thread Felix Meschberger
Hi

Am 03.02.2014 um 11:24 schrieb Chetan Mehrotra :

> On Mon, Feb 3, 2014 at 3:50 PM, Felix Meschberger  wrote:
>> Well, officially, ConfigurationPrinter does not support JSON, but you can 
>> write JSON as TXT output
> 
> I can ... but rendering JSON in TXT does not look pretty!!. Probably
> it can be officially made to support json.

(Or semi-officially by just silently supporting it ?)

Patches welcome.

Regards
Felix


Re: [osgi] Using Inventory API in Commons Log

2014-02-03 Thread Chetan Mehrotra
On Mon, Feb 3, 2014 at 4:31 PM, Felix Meschberger  wrote:
> (Or semi-officially by just silently supporting it ?)
>
> Patches welcome.

Sure. Added that to ToDo list!!


Chetan Mehrotra


Re: [VOTE] Release Testing Resource Resolver Mock 0.2.0

2014-02-03 Thread Bertrand Delacretaz
Hi,

On Thu, Jan 30, 2014 at 3:37 PM, Carsten Ziegeler  wrote:
> ...Staging repository:
> https://repository.apache.org/content/repositories/orgapachesling-1009

+1, checked signatures, build and the below archive matches the
corresponding svn tag.

MD5 
(./org.apache.sling.testing.resourceresolver-mock/0.2.0/org.apache.sling.testing.resourceresolver-mock-0.2.0-source-release.zip)
= d6f848e01cf81f1ba5f61dfb76965715

-Bertrand


[jira] [Created] (SLING-3365) HeartbeatHandler.deactivate() should not block

2014-02-03 Thread Stefan Egli (JIRA)
Stefan Egli created SLING-3365:
--

 Summary: HeartbeatHandler.deactivate() should not block
 Key: SLING-3365
 URL: https://issues.apache.org/jira/browse/SLING-3365
 Project: Sling
  Issue Type: Bug
  Components: Extensions
Affects Versions: Discovery Impl 1.0.2
Reporter: Stefan Egli
Assignee: Stefan Egli


We've seen a case where the HeartbeatHandler.deactivate() method was blocked at 
the synchronized(lock):

   java.lang.Thread.State: BLOCKED (on object monitor)
at 
org.apache.sling.discovery.impl.common.heartbeat.HeartbeatHandler.deactivate(HeartbeatHandler.java:169)
- waiting to lock <0x0006028bcfd8> (a java.lang.Object)

This in turn prevented the bundle to be deactivated and blocked other felix 
code.

The deactivate() method should succeed quickly and instruct any other 
(HeartbeatHandler) thread to stop immediately too.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Updated] (SLING-3365) HeartbeatHandler.deactivate() should not block

2014-02-03 Thread Stefan Egli (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-3365?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stefan Egli updated SLING-3365:
---

Description: 
We've seen a case where the HeartbeatHandler.deactivate() method was blocked at 
the synchronized(lock):
{code}
   java.lang.Thread.State: BLOCKED (on object monitor)
at 
org.apache.sling.discovery.impl.common.heartbeat.HeartbeatHandler.deactivate(HeartbeatHandler.java:169)
- waiting to lock <0x0006028bcfd8> (a java.lang.Object)
{code}
This in turn prevented the bundle to be deactivated and blocked other felix 
code.

The deactivate() method should succeed quickly and instruct any other 
(HeartbeatHandler) thread to stop immediately too.

  was:
We've seen a case where the HeartbeatHandler.deactivate() method was blocked at 
the synchronized(lock):

   java.lang.Thread.State: BLOCKED (on object monitor)
at 
org.apache.sling.discovery.impl.common.heartbeat.HeartbeatHandler.deactivate(HeartbeatHandler.java:169)
- waiting to lock <0x0006028bcfd8> (a java.lang.Object)

This in turn prevented the bundle to be deactivated and blocked other felix 
code.

The deactivate() method should succeed quickly and instruct any other 
(HeartbeatHandler) thread to stop immediately too.


> HeartbeatHandler.deactivate() should not block
> --
>
> Key: SLING-3365
> URL: https://issues.apache.org/jira/browse/SLING-3365
> Project: Sling
>  Issue Type: Bug
>  Components: Extensions
>Affects Versions: Discovery Impl 1.0.2
>Reporter: Stefan Egli
>Assignee: Stefan Egli
>
> We've seen a case where the HeartbeatHandler.deactivate() method was blocked 
> at the synchronized(lock):
> {code}
>java.lang.Thread.State: BLOCKED (on object monitor)
>   at 
> org.apache.sling.discovery.impl.common.heartbeat.HeartbeatHandler.deactivate(HeartbeatHandler.java:169)
>   - waiting to lock <0x0006028bcfd8> (a java.lang.Object)
> {code}
> This in turn prevented the bundle to be deactivated and blocked other felix 
> code.
> The deactivate() method should succeed quickly and instruct any other 
> (HeartbeatHandler) thread to stop immediately too.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Resolved] (SLING-3365) HeartbeatHandler.deactivate() should not block

2014-02-03 Thread Stefan Egli (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-3365?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stefan Egli resolved SLING-3365.


Resolution: Fixed

fixed, will be shipped with discovery.impl 1.0.4

> HeartbeatHandler.deactivate() should not block
> --
>
> Key: SLING-3365
> URL: https://issues.apache.org/jira/browse/SLING-3365
> Project: Sling
>  Issue Type: Bug
>  Components: Extensions
>Affects Versions: Discovery Impl 1.0.2
>Reporter: Stefan Egli
>Assignee: Stefan Egli
>
> We've seen a case where the HeartbeatHandler.deactivate() method was blocked 
> at the synchronized(lock):
> {code}
>java.lang.Thread.State: BLOCKED (on object monitor)
>   at 
> org.apache.sling.discovery.impl.common.heartbeat.HeartbeatHandler.deactivate(HeartbeatHandler.java:169)
>   - waiting to lock <0x0006028bcfd8> (a java.lang.Object)
> {code}
> This in turn prevented the bundle to be deactivated and blocked other felix 
> code.
> The deactivate() method should succeed quickly and instruct any other 
> (HeartbeatHandler) thread to stop immediately too.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Created] (SLING-3366) Allow to configure the heartbeat connection parameters

2014-02-03 Thread Timothee Maret (JIRA)
Timothee Maret created SLING-3366:
-

 Summary: Allow to configure the heartbeat connection parameters
 Key: SLING-3366
 URL: https://issues.apache.org/jira/browse/SLING-3366
 Project: Sling
  Issue Type: Improvement
  Components: Extensions
Affects Versions: Discovery Impl 1.0.2
Reporter: Timothee Maret


The HTTP connections used to send the heartbeats currently uses the default 
configuration and does not allow for configurations.
There maybe extra long requests which take more time to establish the 
connection than the configured "heartbeatInterval".

Thus, it would make sense to allow configuring the connection timeout [0] in an 
extra parameter such as "connectionTimeout"

[0] 
https://hc.apache.org/httpclient-legacy/apidocs/org/apache/commons/httpclient/params/HttpConnectionParams.html#setConnectionTimeout(int)



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Created] (SLING-3367) gzip topology announcements

2014-02-03 Thread Stefan Egli (JIRA)
Stefan Egli created SLING-3367:
--

 Summary: gzip topology announcements
 Key: SLING-3367
 URL: https://issues.apache.org/jira/browse/SLING-3367
 Project: Sling
  Issue Type: Improvement
  Components: Extensions
Affects Versions: Discovery Impl 1.0.2
Reporter: Stefan Egli
Assignee: Stefan Egli


Currently topology announcements are sent as plain-text JSON. If used in a 
large setup, the announcements grow in size and it would make a lot of sense to 
gzip it.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Created] (SLING-3368) Add toMap & iterable to resp. JSONObject and JSONArray

2014-02-03 Thread Nicolas Peltier (JIRA)
Nicolas Peltier created SLING-3368:
--

 Summary: Add toMap & iterable to resp. JSONObject and JSONArray
 Key: SLING-3368
 URL: https://issues.apache.org/jira/browse/SLING-3368
 Project: Sling
  Issue Type: Improvement
  Components: Commons
Reporter: Nicolas Peltier
Priority: Minor


Map JSONObject.toMap and JSONArray implementing Iterable allows better usage of 
those classes.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Updated] (SLING-3368) Add toMap & iterable to resp. JSONObject and JSONArray

2014-02-03 Thread Nicolas Peltier (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-3368?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicolas Peltier updated SLING-3368:
---

Attachment: [json]_add_other_ways_to_use_JSONArray_and_JSONObject.patch

proposed patch

> Add toMap & iterable to resp. JSONObject and JSONArray
> --
>
> Key: SLING-3368
> URL: https://issues.apache.org/jira/browse/SLING-3368
> Project: Sling
>  Issue Type: Improvement
>  Components: Commons
>Reporter: Nicolas Peltier
>Priority: Minor
> Attachments: 
> [json]_add_other_ways_to_use_JSONArray_and_JSONObject.patch
>
>
> Map JSONObject.toMap and JSONArray implementing Iterable allows better usage 
> of those classes.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[RESULT] [VOTE] Release Apache Sling Models API & Implementation 1.0.0

2014-02-03 Thread Justin Edelson
Hi,
The vote has passed with the following result :
+1 (binding): Justin Edelson, Ian Boston, Felix Meschberger, Carsten Ziegler
+1 (non binding): Dan Klco

I will copy this release to the Sling dist directory and
promote the artifacts to the central Maven repository.

Thanks for voting!


[jira] [Commented] (SLING-3368) Add toMap & iterable to resp. JSONObject and JSONArray

2014-02-03 Thread Justin Edelson (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-3368?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13889982#comment-13889982
 ] 

Justin Edelson commented on SLING-3368:
---

Is there any reason to be concerned that the returned maps/iterator are mutable?

> Add toMap & iterable to resp. JSONObject and JSONArray
> --
>
> Key: SLING-3368
> URL: https://issues.apache.org/jira/browse/SLING-3368
> Project: Sling
>  Issue Type: Improvement
>  Components: Commons
>Reporter: Nicolas Peltier
>Priority: Minor
> Attachments: 
> [json]_add_other_ways_to_use_JSONArray_and_JSONObject.patch
>
>
> Map JSONObject.toMap and JSONArray implementing Iterable allows better usage 
> of those classes.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)