[jira] [Commented] (KARAF-6454) FeaturesServiceImpl downloadThreads does not improve throughput

2019-10-15 Thread Jira


[ 
https://issues.apache.org/jira/browse/KARAF-6454?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16952496#comment-16952496
 ] 

Jean-Baptiste Onofré commented on KARAF-6454:
-

Only `prerequisite` should be "blocker", the other features installation should 
be performed in parallel. Or maybe, we don't talk about the same thing ?

> FeaturesServiceImpl downloadThreads does not improve throughput
> ---
>
> Key: KARAF-6454
> URL: https://issues.apache.org/jira/browse/KARAF-6454
> Project: Karaf
>  Issue Type: Bug
>Reporter: Fabian Lange
>Assignee: Jean-Baptiste Onofré
>Priority: Major
> Fix For: 4.3.0, 4.2.8
>
> Attachments: Screenshot 2019-10-15 at 16.53.00.png
>
>
> I am looking into a slow Karaf startup and I stumbled onto this problem
> FeaturesServiceImpl does allow for parallelism thanks to the downloadThreads 
> configuration
> It does respect this value and createDownloadManager() will use it to size 
> the threadpool.
> However adding a large amount of features at the same time results in one by 
> one downloads across these threads.
> I am currently looking for any pointers where the features install could be 
> sequenced.
> Attached is a JProfiler screenshot illustrating this problem.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Assigned] (KARAF-6454) FeaturesServiceImpl downloadThreads does not improve throughput

2019-10-15 Thread Jira


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

Jean-Baptiste Onofré reassigned KARAF-6454:
---

Assignee: Jean-Baptiste Onofré

> FeaturesServiceImpl downloadThreads does not improve throughput
> ---
>
> Key: KARAF-6454
> URL: https://issues.apache.org/jira/browse/KARAF-6454
> Project: Karaf
>  Issue Type: Bug
>Reporter: Fabian Lange
>Assignee: Jean-Baptiste Onofré
>Priority: Major
> Attachments: Screenshot 2019-10-15 at 16.53.00.png
>
>
> I am looking into a slow Karaf startup and I stumbled onto this problem
> FeaturesServiceImpl does allow for parallelism thanks to the downloadThreads 
> configuration
> It does respect this value and createDownloadManager() will use it to size 
> the threadpool.
> However adding a large amount of features at the same time results in one by 
> one downloads across these threads.
> I am currently looking for any pointers where the features install could be 
> sequenced.
> Attached is a JProfiler screenshot illustrating this problem.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (KARAF-6454) FeaturesServiceImpl downloadThreads does not improve throughput

2019-10-15 Thread Jira


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

Jean-Baptiste Onofré updated KARAF-6454:

Fix Version/s: 4.2.8
   4.3.0

> FeaturesServiceImpl downloadThreads does not improve throughput
> ---
>
> Key: KARAF-6454
> URL: https://issues.apache.org/jira/browse/KARAF-6454
> Project: Karaf
>  Issue Type: Bug
>Reporter: Fabian Lange
>Assignee: Jean-Baptiste Onofré
>Priority: Major
> Fix For: 4.3.0, 4.2.8
>
> Attachments: Screenshot 2019-10-15 at 16.53.00.png
>
>
> I am looking into a slow Karaf startup and I stumbled onto this problem
> FeaturesServiceImpl does allow for parallelism thanks to the downloadThreads 
> configuration
> It does respect this value and createDownloadManager() will use it to size 
> the threadpool.
> However adding a large amount of features at the same time results in one by 
> one downloads across these threads.
> I am currently looking for any pointers where the features install could be 
> sequenced.
> Attached is a JProfiler screenshot illustrating this problem.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (KARAF-6451) Upgrade to Jackson 2.10.0

2019-10-15 Thread ASF GitHub Bot (Jira)


[ 
https://issues.apache.org/jira/browse/KARAF-6451?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16952247#comment-16952247
 ] 

ASF GitHub Bot commented on KARAF-6451:
---

jbonofre commented on pull request #956: [KARAF-6451] Upgrade to Jackson 2.10.0
URL: https://github.com/apache/karaf/pull/956
 
 
   
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Upgrade to Jackson 2.10.0
> -
>
> Key: KARAF-6451
> URL: https://issues.apache.org/jira/browse/KARAF-6451
> Project: Karaf
>  Issue Type: Bug
>  Components: cave, decanter, karaf
>Reporter: Jean-Baptiste Onofré
>Assignee: Jean-Baptiste Onofré
>Priority: Major
> Fix For: 4.3.0, cave-4.2.0, decanter-2.3.0, 4.2.8
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (KARAF-6454) FeaturesServiceImpl downloadThreads does not improve throughput

2019-10-15 Thread Fabian Lange (Jira)


[ 
https://issues.apache.org/jira/browse/KARAF-6454?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16952030#comment-16952030
 ] 

Fabian Lange commented on KARAF-6454:
-

Yes that seems to be the case, it waits for a feature to install before moving 
to the next one.

{{* Thread group "main":

  Thread "features-3-thread-1":
at java.lang.Object.wait(long)
at java.lang.Object.wait() (line: 502)
at 
org.apache.karaf.features.internal.download.impl.MavenDownloadManager$MavenDownloader.await()
 (line: 101)
at 
org.apache.karaf.features.internal.region.Subsystem.downloadBundles(org.apache.karaf.features.internal.download.DownloadManager,
 java.lang.String, 
org.apache.karaf.features.FeaturesService$ServiceRequirementsBehavior, 
org.apache.karaf.features.internal.region.RepositoryManager, 
org.apache.karaf.features.internal.region.SubsystemResolverCallback) (line: 537)
at 
org.apache.karaf.features.internal.region.Subsystem.downloadBundles(org.apache.karaf.features.internal.download.DownloadManager,
 java.lang.String, 
org.apache.karaf.features.FeaturesService$ServiceRequirementsBehavior, 
org.apache.karaf.features.internal.region.RepositoryManager, 
org.apache.karaf.features.internal.region.SubsystemResolverCallback) (line: 452)
at 
org.apache.karaf.features.internal.region.SubsystemResolver.resolve(java.lang.String,
 org.apache.karaf.features.FeaturesService$ServiceRequirementsBehavior, 
org.osgi.service.repository.Repository, java.lang.String) (line: 224)
at 
org.apache.karaf.features.internal.service.Deployer.deploy(org.apache.karaf.features.internal.service.Deployer$DeploymentState,
 org.apache.karaf.features.internal.service.Deployer$DeploymentRequest) (line: 
393)
at 
org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(java.util.Map,
 java.util.Map, org.apache.karaf.features.internal.service.State, 
java.util.Map, java.util.EnumSet, java.lang.String) (line: 1062)
at 
org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(java.util.Map,
 java.util.Map, org.apache.karaf.features.internal.service.State, 
java.util.Map, java.util.EnumSet, java.lang.String) (line: 998)
at 
org.apache.karaf.features.internal.service.FeaturesServiceImpl$$Lambda$78.672983579.call()
at java.util.concurrent.FutureTask.run() (line: 266)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(java.util.concurrent.ThreadPoolExecutor$Worker)
 (line: 1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run() (line: 624)
at java.lang.Thread.run() (line: 748)}}

Not sure if this is intentional, as the graph resolution was done before so 
this should be possible to parallelise 


> FeaturesServiceImpl downloadThreads does not improve throughput
> ---
>
> Key: KARAF-6454
> URL: https://issues.apache.org/jira/browse/KARAF-6454
> Project: Karaf
>  Issue Type: Bug
>Reporter: Fabian Lange
>Priority: Major
> Attachments: Screenshot 2019-10-15 at 16.53.00.png
>
>
> I am looking into a slow Karaf startup and I stumbled onto this problem
> FeaturesServiceImpl does allow for parallelism thanks to the downloadThreads 
> configuration
> It does respect this value and createDownloadManager() will use it to size 
> the threadpool.
> However adding a large amount of features at the same time results in one by 
> one downloads across these threads.
> I am currently looking for any pointers where the features install could be 
> sequenced.
> Attached is a JProfiler screenshot illustrating this problem.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (KARAF-6454) FeaturesServiceImpl downloadThreads does not improve throughput

2019-10-15 Thread Fabian Lange (Jira)


[ 
https://issues.apache.org/jira/browse/KARAF-6454?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16952015#comment-16952015
 ] 

Fabian Lange commented on KARAF-6454:
-

Looks to me like Subsystem#deploy() is invoked for each feature, and it does do 
a downloader.await()
Since this is a single deployment request, this is running on the threadpool, 
but it is not forking out the work for the subsystems.

> FeaturesServiceImpl downloadThreads does not improve throughput
> ---
>
> Key: KARAF-6454
> URL: https://issues.apache.org/jira/browse/KARAF-6454
> Project: Karaf
>  Issue Type: Bug
>Reporter: Fabian Lange
>Priority: Major
> Attachments: Screenshot 2019-10-15 at 16.53.00.png
>
>
> I am looking into a slow Karaf startup and I stumbled onto this problem
> FeaturesServiceImpl does allow for parallelism thanks to the downloadThreads 
> configuration
> It does respect this value and createDownloadManager() will use it to size 
> the threadpool.
> However adding a large amount of features at the same time results in one by 
> one downloads across these threads.
> I am currently looking for any pointers where the features install could be 
> sequenced.
> Attached is a JProfiler screenshot illustrating this problem.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (KARAF-6454) FeaturesServiceImpl downloadThreads does not improve throughput

2019-10-15 Thread Fabian Lange (Jira)
Fabian Lange created KARAF-6454:
---

 Summary: FeaturesServiceImpl downloadThreads does not improve 
throughput
 Key: KARAF-6454
 URL: https://issues.apache.org/jira/browse/KARAF-6454
 Project: Karaf
  Issue Type: Bug
Reporter: Fabian Lange
 Attachments: Screenshot 2019-10-15 at 16.53.00.png

I am looking into a slow Karaf startup and I stumbled onto this problem

FeaturesServiceImpl does allow for parallelism thanks to the downloadThreads 
configuration
It does respect this value and createDownloadManager() will use it to size the 
threadpool.

However adding a large amount of features at the same time results in one by 
one downloads across these threads.
I am currently looking for any pointers where the features install could be 
sequenced.
Attached is a JProfiler screenshot illustrating this problem.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (KARAF-6203) ensure karaf can build and run with JDK12

2019-10-15 Thread Jira


[ 
https://issues.apache.org/jira/browse/KARAF-6203?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16951939#comment-16951939
 ] 

Jean-Baptiste Onofré commented on KARAF-6203:
-

[~ffang] cool, I'm doing a local run/try and then I will update on Jenkins.

> ensure karaf can build and run with JDK12
> -
>
> Key: KARAF-6203
> URL: https://issues.apache.org/jira/browse/KARAF-6203
> Project: Karaf
>  Issue Type: Task
>  Components: karaf
>Reporter: Freeman Yue Fang
>Assignee: Freeman Yue Fang
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (KARAF-6203) ensure karaf can build and run with JDK12

2019-10-15 Thread Freeman Yue Fang (Jira)


[ 
https://issues.apache.org/jira/browse/KARAF-6203?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16951937#comment-16951937
 ] 

Freeman Yue Fang commented on KARAF-6203:
-

Hi [~jbonofre].

Feel free to pick it up, please note I pushed jdk12 and jdk13 branches with my 
commits separately. If you upgrade to latest Aries, I don't expect too many 
errors.

Anyway, thanks for double check this.

Freeman

> ensure karaf can build and run with JDK12
> -
>
> Key: KARAF-6203
> URL: https://issues.apache.org/jira/browse/KARAF-6203
> Project: Karaf
>  Issue Type: Task
>  Components: karaf
>Reporter: Freeman Yue Fang
>Assignee: Freeman Yue Fang
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (KARAF-6453) Registering a FeaturesListener re-loads all repositories

2019-10-15 Thread Fabian Lange (Jira)


[ 
https://issues.apache.org/jira/browse/KARAF-6453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16951918#comment-16951918
 ] 

Fabian Lange commented on KARAF-6453:
-

Well I have not yet figured out if it is intentional ;) It doesn't look like 
however.

> Registering a FeaturesListener re-loads all repositories
> 
>
> Key: KARAF-6453
> URL: https://issues.apache.org/jira/browse/KARAF-6453
> Project: Karaf
>  Issue Type: Bug
>  Components: karaf
>Affects Versions: 4.2.0
>Reporter: Fabian Lange
>Assignee: Jean-Baptiste Onofré
>Priority: Major
>  Labels: features
> Fix For: 4.3.0, 4.2.8
>
>
> This is a regression from 4.2, just discovered.
> It was caused in 2017 by this commit:
> https://github.com/apache/karaf/commit/a75fabaf071b8274c7f266affa7ce7cdd87a2a22
> https://github.com/apache/karaf/commit/a75fabaf071b8274c7f266affa7ce7cdd87a2a22#diff-29d341aa18575466b113be9168a6e7adR264
> Here  the new RepositoryCacheImpl is used to create the repository. But 
> despite its name, it does not use something from the cache, but it creates a 
> new Repository.
> This now will always "load" the repository, potentially refreshing it over 
> http.
> https://github.com/apache/karaf/commit/a75fabaf071b8274c7f266affa7ce7cdd87a2a22#diff-a3bb3d36b86e3a4c291627077972097aR47
> previously it only returned a Repository that was unloaded.
> Registering many FeaturesListeners wastes a lot of CPU.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (KARAF-6453) Registering a FeaturesListener re-loads all repositories

2019-10-15 Thread Jira


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

Jean-Baptiste Onofré updated KARAF-6453:

Fix Version/s: 4.2.8
   4.3.0

> Registering a FeaturesListener re-loads all repositories
> 
>
> Key: KARAF-6453
> URL: https://issues.apache.org/jira/browse/KARAF-6453
> Project: Karaf
>  Issue Type: Bug
>  Components: karaf
>Affects Versions: 4.2.0
>Reporter: Fabian Lange
>Assignee: Jean-Baptiste Onofré
>Priority: Major
> Fix For: 4.3.0, 4.2.8
>
>
> This is a regression from 4.2, just discovered.
> It was caused in 2017 by this commit:
> https://github.com/apache/karaf/commit/a75fabaf071b8274c7f266affa7ce7cdd87a2a22
> https://github.com/apache/karaf/commit/a75fabaf071b8274c7f266affa7ce7cdd87a2a22#diff-29d341aa18575466b113be9168a6e7adR264
> Here  the new RepositoryCacheImpl is used to create the repository. But 
> despite its name, it does not use something from the cache, but it creates a 
> new Repository.
> This now will always "load" the repository, potentially refreshing it over 
> http.
> https://github.com/apache/karaf/commit/a75fabaf071b8274c7f266affa7ce7cdd87a2a22#diff-a3bb3d36b86e3a4c291627077972097aR47
> previously it only returned a Repository that was unloaded.
> Registering many FeaturesListeners wastes a lot of CPU.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (KARAF-6453) Registering a FeaturesListener re-loads all repositories

2019-10-15 Thread Jira


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

Jean-Baptiste Onofré updated KARAF-6453:

Labels: features  (was: )

> Registering a FeaturesListener re-loads all repositories
> 
>
> Key: KARAF-6453
> URL: https://issues.apache.org/jira/browse/KARAF-6453
> Project: Karaf
>  Issue Type: Bug
>  Components: karaf
>Affects Versions: 4.2.0
>Reporter: Fabian Lange
>Assignee: Jean-Baptiste Onofré
>Priority: Major
>  Labels: features
> Fix For: 4.3.0, 4.2.8
>
>
> This is a regression from 4.2, just discovered.
> It was caused in 2017 by this commit:
> https://github.com/apache/karaf/commit/a75fabaf071b8274c7f266affa7ce7cdd87a2a22
> https://github.com/apache/karaf/commit/a75fabaf071b8274c7f266affa7ce7cdd87a2a22#diff-29d341aa18575466b113be9168a6e7adR264
> Here  the new RepositoryCacheImpl is used to create the repository. But 
> despite its name, it does not use something from the cache, but it creates a 
> new Repository.
> This now will always "load" the repository, potentially refreshing it over 
> http.
> https://github.com/apache/karaf/commit/a75fabaf071b8274c7f266affa7ce7cdd87a2a22#diff-a3bb3d36b86e3a4c291627077972097aR47
> previously it only returned a Repository that was unloaded.
> Registering many FeaturesListeners wastes a lot of CPU.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (KARAF-6453) Registering a FeaturesListener re-loads all repositories

2019-10-15 Thread Jira


[ 
https://issues.apache.org/jira/browse/KARAF-6453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16951914#comment-16951914
 ] 

Jean-Baptiste Onofré commented on KARAF-6453:
-

Good catch !

> Registering a FeaturesListener re-loads all repositories
> 
>
> Key: KARAF-6453
> URL: https://issues.apache.org/jira/browse/KARAF-6453
> Project: Karaf
>  Issue Type: Bug
>  Components: karaf
>Affects Versions: 4.2.0
>Reporter: Fabian Lange
>Assignee: Jean-Baptiste Onofré
>Priority: Major
>  Labels: features
> Fix For: 4.3.0, 4.2.8
>
>
> This is a regression from 4.2, just discovered.
> It was caused in 2017 by this commit:
> https://github.com/apache/karaf/commit/a75fabaf071b8274c7f266affa7ce7cdd87a2a22
> https://github.com/apache/karaf/commit/a75fabaf071b8274c7f266affa7ce7cdd87a2a22#diff-29d341aa18575466b113be9168a6e7adR264
> Here  the new RepositoryCacheImpl is used to create the repository. But 
> despite its name, it does not use something from the cache, but it creates a 
> new Repository.
> This now will always "load" the repository, potentially refreshing it over 
> http.
> https://github.com/apache/karaf/commit/a75fabaf071b8274c7f266affa7ce7cdd87a2a22#diff-a3bb3d36b86e3a4c291627077972097aR47
> previously it only returned a Repository that was unloaded.
> Registering many FeaturesListeners wastes a lot of CPU.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Assigned] (KARAF-6453) Registering a FeaturesListener re-loads all repositories

2019-10-15 Thread Jira


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

Jean-Baptiste Onofré reassigned KARAF-6453:
---

Assignee: Jean-Baptiste Onofré

> Registering a FeaturesListener re-loads all repositories
> 
>
> Key: KARAF-6453
> URL: https://issues.apache.org/jira/browse/KARAF-6453
> Project: Karaf
>  Issue Type: Bug
>  Components: karaf
>Affects Versions: 4.2.0
>Reporter: Fabian Lange
>Assignee: Jean-Baptiste Onofré
>Priority: Major
>
> This is a regression from 4.2, just discovered.
> It was caused in 2017 by this commit:
> https://github.com/apache/karaf/commit/a75fabaf071b8274c7f266affa7ce7cdd87a2a22
> https://github.com/apache/karaf/commit/a75fabaf071b8274c7f266affa7ce7cdd87a2a22#diff-29d341aa18575466b113be9168a6e7adR264
> Here  the new RepositoryCacheImpl is used to create the repository. But 
> despite its name, it does not use something from the cache, but it creates a 
> new Repository.
> This now will always "load" the repository, potentially refreshing it over 
> http.
> https://github.com/apache/karaf/commit/a75fabaf071b8274c7f266affa7ce7cdd87a2a22#diff-a3bb3d36b86e3a4c291627077972097aR47
> previously it only returned a Repository that was unloaded.
> Registering many FeaturesListeners wastes a lot of CPU.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (KARAF-6453) Registering a FeaturesListener re-loads all repositories

2019-10-15 Thread Fabian Lange (Jira)
Fabian Lange created KARAF-6453:
---

 Summary: Registering a FeaturesListener re-loads all repositories
 Key: KARAF-6453
 URL: https://issues.apache.org/jira/browse/KARAF-6453
 Project: Karaf
  Issue Type: Bug
  Components: karaf
Affects Versions: 4.2.0
Reporter: Fabian Lange


This is a regression from 4.2, just discovered.
It was caused in 2017 by this commit:
https://github.com/apache/karaf/commit/a75fabaf071b8274c7f266affa7ce7cdd87a2a22

https://github.com/apache/karaf/commit/a75fabaf071b8274c7f266affa7ce7cdd87a2a22#diff-29d341aa18575466b113be9168a6e7adR264
Here  the new RepositoryCacheImpl is used to create the repository. But despite 
its name, it does not use something from the cache, but it creates a new 
Repository.

This now will always "load" the repository, potentially refreshing it over http.
https://github.com/apache/karaf/commit/a75fabaf071b8274c7f266affa7ce7cdd87a2a22#diff-a3bb3d36b86e3a4c291627077972097aR47

previously it only returned a Repository that was unloaded.


Registering many FeaturesListeners wastes a lot of CPU.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (KARAF-6203) ensure karaf can build and run with JDK12

2019-10-15 Thread Jira


[ 
https://issues.apache.org/jira/browse/KARAF-6203?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16951881#comment-16951881
 ] 

Jean-Baptiste Onofré commented on KARAF-6203:
-

[~ffang] did you test JDK12/JDK13 recently ? I will do a pass. Mind if I assign 
the Jira to me ?

> ensure karaf can build and run with JDK12
> -
>
> Key: KARAF-6203
> URL: https://issues.apache.org/jira/browse/KARAF-6203
> Project: Karaf
>  Issue Type: Task
>  Components: karaf
>Reporter: Freeman Yue Fang
>Assignee: Freeman Yue Fang
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)