[GitHub] karaf pull request #378: Backport plugin optimizations from master
GitHub user rovarga opened a pull request: https://github.com/apache/karaf/pull/378 Backport plugin optimizations from master OpenDaylight is a heavy user of feature generation and is using 4.0.9 branch currently. These fixes speed up build time considerably and should be backported. You can merge this pull request into a Git repository by running: $ git pull https://github.com/rovarga/karaf backport-plugin Alternatively you can review and apply these changes as the patch at: https://github.com/apache/karaf/pull/378.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #378 commit cc857dfecac35c3dff3dc46c21d28ea1cb1a1e9d Author: Robert Varga <n...@hq.sk> Date: 2017-08-13T16:56:29Z Use java.util.file.Files.newInputStream() Instead of wiring to FileInputStream, which is hard to GC due to the presence of finalize(), use Files.newInputStream. Brings down feature generation time in OpenDaylight, before: real2m5.828s user2m14.886s sys 0m20.849s after: real1m46.523s user1m59.258s sys 0m17.048s Signed-off-by: Robert Varga <n...@hq.sk> (cherry picked from commit ed797960d2a43eee8c04a9572478320af2420cfb) commit 8d55bc782eb1a135b47b9eb3e989dd8d9244d88a Author: Robert Varga <n...@hq.sk> Date: 2017-08-13T17:38:26Z Cache unmarshalled Features If we are processing a deep feature tree with multiple dependencies referencing same features (like in the case of OpenDaylight), we end up unmarshalling the same features over and over again. Rather than doing that, instantiate a cache, which will hold a weak reference to features already encountered. Before: real1m46.523s user1m59.258s sys 0m17.048s After: real0m42.642s user1m0.892s sys 0m10.148s Signed-off-by: Robert Varga <n...@hq.sk> (cherry picked from commit 9714d76be6442faca13e6f45f02a27eac52b8ebb) commit 7e860d3392c947d662b1765a9206108a0222c7e0 Author: Robert Varga <n...@hq.sk> Date: 2017-08-13T18:26:17Z Reuse extracted manifest Obtaining the manifest can cost us some IO. Treat it as an invariant when determining whether a file is a bundle. Signed-off-by: Robert Varga <n...@hq.sk> (cherry picked from commit edcda0b0ea4a50ae8e8019af1eaff161507e3ee4) ---
[GitHub] karaf pull request #376: Turn Feature.VERSION_SEPARATOR into a char
GitHub user rovarga opened a pull request: https://github.com/apache/karaf/pull/376 Turn Feature.VERSION_SEPARATOR into a char String.indexOf(char) is faster than String.indexOf(String), so use char for VERSION_SEPARATOR. Signed-off-by: Robert Varga <n...@hq.sk> You can merge this pull request into a Git repository by running: $ git pull https://github.com/rovarga/karaf feature-version-char Alternatively you can review and apply these changes as the patch at: https://github.com/apache/karaf/pull/376.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #376 commit 0b61d22a36add072d34129043e28ac4a4a9dc731 Author: Robert Varga <n...@hq.sk> Date: 2017-09-25T09:54:31Z Turn Feature.VERSION_SEPARATOR into a char String.indexOf(char) is faster than String.indexOf(String), so use char for VERSION_SEPARATOR. Signed-off-by: Robert Varga <n...@hq.sk> ---
[GitHub] karaf pull request #368: Speed up string splitting operations
Github user rovarga closed the pull request at: https://github.com/apache/karaf/pull/368 ---
[GitHub] karaf pull request #368: Speed up string splitting operations
GitHub user rovarga opened a pull request: https://github.com/apache/karaf/pull/368 Speed up string splitting operations Instead of performing multiple String.indexOf(String) operations, use String.indexOf(char) and cache its result. Signed-off-by: Robert Varga <n...@hq.sk> You can merge this pull request into a Git repository by running: $ git pull https://github.com/rovarga/karaf indexof Alternatively you can review and apply these changes as the patch at: https://github.com/apache/karaf/pull/368.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #368 commit bc2b75b2acea745abe8a1f049f0bc77d3f2a4a5d Author: Robert Varga <n...@hq.sk> Date: 2017-09-14T14:54:46Z Speed up string splitting operations Instead of performing multiple String.indexOf(String) operations, use String.indexOf(char) and cache its result. Signed-off-by: Robert Varga <n...@hq.sk> ---
[GitHub] karaf pull request #367: Use Map.computeIfAbsent() in map population
GitHub user rovarga opened a pull request: https://github.com/apache/karaf/pull/367 Use Map.computeIfAbsent() in map population Instead of performing two lookups, perform a computeIfAbsent(), which perform a fused lookup-or-put. Signed-off-by: Robert Varga <n...@hq.sk> You can merge this pull request into a Git repository by running: $ git pull https://github.com/rovarga/karaf compute-if Alternatively you can review and apply these changes as the patch at: https://github.com/apache/karaf/pull/367.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #367 commit f1877b0ba0bf3af8fc2145d2f26c4795771214ab Author: Robert Varga <n...@hq.sk> Date: 2017-09-14T15:01:32Z Use Map.computeIfAbsent() in map population Instead of performing two lookups, perform a computeIfAbsent(), which perform a fused lookup-or-put. Signed-off-by: Robert Varga <n...@hq.sk> ---
[GitHub] karaf pull request #366: Speed up repository loading
Github user rovarga closed the pull request at: https://github.com/apache/karaf/pull/366 ---
[GitHub] karaf pull request #366: Speed up repository loading
GitHub user rovarga opened a pull request: https://github.com/apache/karaf/pull/366 Speed up repository loading toLoad is used as a java.util.Queue, but is backed by an ArrayList, which is highly inefficient when large number of items are present. Turn it into a Queue with ArrayDeque as the implementation, which shaves OpenDaylight initial start time from 102 seconds down to under3 seconds. Signed-off-by: Robert Varga <n...@hq.sk> You can merge this pull request into a Git repository by running: $ git pull https://github.com/rovarga/karaf toload-features Alternatively you can review and apply these changes as the patch at: https://github.com/apache/karaf/pull/366.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #366 commit 6a40cab21f4f5fa2baf7c28ff7c6b05fe9a4868b Author: Robert Varga <n...@hq.sk> Date: 2017-09-14T11:26:07Z Speed up repository loading toLoad is used as a java.util.Queue, but is backed by an ArrayList, which is highly inefficient when large number of items are present. Turn it into a Queue with ArrayDeque as the implementation, which shaves OpenDaylight initial start time from 102 seconds down to under3 seconds. Signed-off-by: Robert Varga <n...@hq.sk> ---
[GitHub] karaf pull request #336: Optimize GenerateDescriptorMojo
GitHub user rovarga opened a pull request: https://github.com/apache/karaf/pull/336 Optimize GenerateDescriptorMojo OpenDaylight typically processes deeply nested feature.xmls, which takes significant time. This PR optimizes GenerateDescriptorMojo, reducing build time observed by a factor of 3. You can merge this pull request into a Git repository by running: $ git pull https://github.com/rovarga/karaf generate-features Alternatively you can review and apply these changes as the patch at: https://github.com/apache/karaf/pull/336.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #336 commit 689b415c45a1f5ac21b29a08fd65408018c0772f Author: Robert Varga <n...@hq.sk> Date: 2017-08-13T16:56:29Z Use java.util.file.Files.newInputStream() Instead of wiring to FileInputStream, which is hard to GC due to the presence of finalize(), use Files.newInputStream. Brings down feature generation time in OpenDaylight, before: real2m5.828s user2m14.886s sys 0m20.849s after: real1m46.523s user1m59.258s sys 0m17.048s Signed-off-by: Robert Varga <n...@hq.sk> commit d429f8030235e5cfd1fd20130e231acf000b327b Author: Robert Varga <n...@hq.sk> Date: 2017-08-13T17:38:26Z Cache unmarshalled Features If we are processing a deep feature tree with multiple dependencies referencing same features (like in the case of OpenDaylight), we end up unmarshalling the same features over and over again. Rather than doing that, instantiate a cache, which will hold a weak reference to features already encountered. Before: real1m46.523s user1m59.258s sys 0m17.048s After: real0m42.642s user1m0.892s sys 0m10.148s Signed-off-by: Robert Varga <n...@hq.sk> --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---
[GitHub] karaf pull request #296: [KARAF-5107] Add DeploymentListener
GitHub user rovarga opened a pull request: https://github.com/apache/karaf/pull/296 [KARAF-5107] Add DeploymentListener This adds the capability for external components to hook into the Deployer machinery, so they can perform operations at opportune moments. Signed-off-by: Robert Varga <robert.va...@pantheon.tech> You can merge this pull request into a Git repository by running: $ git pull https://github.com/rovarga/karaf karaf5107 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/karaf/pull/296.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #296 commit a46c6c8978a39b058e567eb8f7e577b90523cf8c Author: Robert Varga <n...@hq.sk> Date: 2017-04-27T12:15:41Z [KARAF-5107] Add DeploymentListener Signed-off-by: Robert Varga <robert.va...@pantheon.tech> --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---
[GitHub] karaf pull request #279: Add Aries Quiesce to aries-blueprint
Github user rovarga closed the pull request at: https://github.com/apache/karaf/pull/279 --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---
[GitHub] karaf pull request #282: Expose Dependency.hasVersion()
GitHub user rovarga opened a pull request: https://github.com/apache/karaf/pull/282 Expose Dependency.hasVersion() Since Dependency.getVersion() behaves the same as Feature.getVersion() by returning "0.0.0" when no version is set, users attempting to examine dependencies need to resort to touching the internal model to understand that the version is not actually set. Expose Dependency.hasVersion() to help potential users to understand that the version has not been set. Signed-off-by: Robert Varga <n...@hq.sk> You can merge this pull request into a Git repository by running: $ git pull https://github.com/rovarga/karaf dependency-hasversion Alternatively you can review and apply these changes as the patch at: https://github.com/apache/karaf/pull/282.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #282 commit 400bcea403ad2e2409570421a9cf7f0a21e4bd02 Author: Robert Varga <n...@hq.sk> Date: 2017-02-13T20:02:36Z Expose Dependency.hasVersion() Since Dependency.getVersion() behaves the same as Feature.getVersion() by returning "0.0.0" when no version is set, users attempting to examine dependencies need to resort to touching the internal model to understand that the version is not actually set. Expose Dependency.hasVersion() to help potential users to understand that the version has not been set. Signed-off-by: Robert Varga <n...@hq.sk> --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---
[GitHub] karaf pull request #281: Add Dependecy.hasVersion()
Github user rovarga closed the pull request at: https://github.com/apache/karaf/pull/281 --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---
[GitHub] karaf pull request #281: Add Dependecy.hasVersion()
GitHub user rovarga opened a pull request: https://github.com/apache/karaf/pull/281 Add Dependecy.hasVersion() Dependency.getVersion() behaves exactly like Feature.getVersion(), masking unspecified versions to "0.0.0". This is forcing potential users to perform unmasking, either via a hard-coded constant, or by referencing internal.model.Feature.DEFAULT_VERSION. Provide Dependency.hasVersion() with the same mechanics as Feature.hasVersion(). You can merge this pull request into a Git repository by running: $ git pull https://github.com/rovarga/karaf dependency-hasversion Alternatively you can review and apply these changes as the patch at: https://github.com/apache/karaf/pull/281.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #281 commit 51097ce4367edd58ad43e2a56c2717d03e8bf1c0 Author: Jean-Baptiste Onofré <jbono...@apache.org> Date: 2016-04-10T06:06:45Z [KARAF-4477] Upgrade to Pax URL 2.4.7 commit 9973be7b4a5299cd07782c7ff9116f4076a98265 Author: Jean-Baptiste Onofré <jbono...@apache.org> Date: 2016-04-10T08:25:47Z [KARAF-4479] Fix JAVA_HOME definition for all shell in wrapper karaf-service commit efc251749463ebf350bf8897a83900456b3c9d62 Author: Jean-Baptiste Onofré <jbono...@apache.org> Date: 2016-04-11T10:47:03Z [KARAF-4485] Update lock package in the failover documentation commit 700b4b43a654d05849c137929463186893e4eb7e Author: Jean-Baptiste Onofré <jbono...@apache.org> Date: 2016-04-12T11:04:24Z [KARAF-4482] Downgrade to Aries Blueprint CM 1.0.8 commit ec18716e2d338ebe2453d3dfbfc47b6e978f5147 Author: Andrea Cosentino <anco...@gmail.com> Date: 2016-04-13T08:18:59Z [KARAF-4492] Upgrade Apache Commons-compress to version 1.11 commit 0357766e78da336c2f9d47286638c93405e60b44 Author: Jean-Baptiste Onofré <jbono...@apache.org> Date: 2016-04-13T11:49:52Z [KARAF-4489] Introduce configCfgStore property in etc/org.apache.karaf.features.cfg to define if the features service automatically creates cfg file for element commit 3f6ddbbb18d3fb1025fdfc3b67f773bd1e9af8fe Author: Jean-Baptiste Onofré <jbono...@apache.org> Date: 2016-04-13T11:51:05Z Merge branch 'karaf-4.0.x' of https://git-wip-us.apache.org/repos/asf/karaf into karaf-4.0.x commit b3fcae21ae4d833d2a0a30d599442258816877b4 Author: Guillaume Nodet <gno...@apache.org> Date: 2016-04-14T13:28:47Z [KARAF-3802] Fix problem with the logic commit d6ddec814b96025c155ad4aeb0aaa9d4056468e0 Author: mhautman <morgan.haut...@gmail.com> Date: 2016-03-27T15:06:28Z KARAF-4454 - Resolve scr:list conflict between gogo and Karaf commit 55db450a95453c9e587cb6147ef087bb39bb4061 Author: Lars Kiesow <lkie...@uos.de> Date: 2016-03-02T15:34:07Z Fix problems in Karaf start script This commit fixes most of the problems pointed out by shellcheck [1] in the karaf start script (bin/karaf). These include: - Properly quote variables to prevent spaces from breaking the script - Ensure that KARAF_HOME is set for commands which would otherwise try to delete parts of the root file system. E.g: rm -rf "$KARAF_HOME/lib" - Use only $(..) instead of both $(...) and `...` - Require bash since not all commands are posix compliant anyway. [1] http://shellcheck.net Signed-off-by: Lars Kiesow <lkie...@uos.de> commit 89941714ad8d7aa906768df6f41d9555e86c4aef Author: Lars Kiesow <lkie...@uos.de> Date: 2016-03-02T21:01:32Z Always use ${} for variables This commit makes the main start script use only ${VAR} instead of both ${VAR} and $VAR Signed-off-by: Lars Kiesow <lkie...@uos.de> commit c449f3e558074fac99887088d351233c16a3d72c Author: Jean-Baptiste Onofré <jbono...@apache.org> Date: 2016-04-17T20:56:02Z [KARAF-4497] Upgrade to ServiceMix Specs 2.7.0 commit 4cb1b687b821c802749d8c65f4860e1811a33bb2 Author: Jean-Baptiste Onofré <jbono...@apache.org> Date: 2016-04-18T05:23:59Z [KARAF-4476] Upgrade to Aries Blueprint Core 1.6.1 commit d6ea1c853538006345714cfeb4559bfc6f607ac2 Author: Jean-Baptiste Onofré <jbono...@apache.org> Date: 2016-04-18T05:54:03Z Update RELEASE-NOTES in preparation for the 4.0.5 release commit 231673c2d22166a0176ad9333510dae6ec75303c Author: Jean-Baptiste Onofré <jbono...@apache.org> Date: 2016-04-18T06:12:13Z [maven-release-plugin] prepare release karaf-4.0.5 commit 5f4f23e72431ac3564d4f1f85e91a39656db1744 Author: Jean-Baptiste Onofré <jbono...@apache.org> Date: 2016-04-18T06:12:36Z [maven-release-plugin] prepare for next development iteration commit 726121db0c9a7dd1d4f6bd14d6914248ae19903a Author: Andrea Cosentino <anco...@gmail.com> Date: 2016-04-19T06:51:2
[GitHub] karaf pull request #279: Add Aries Quiesce to aries-blueprint
GitHub user rovarga opened a pull request: https://github.com/apache/karaf/pull/279 Add Aries Quiesce to aries-blueprint Signed-off-by: Robert Varga <n...@hq.sk> You can merge this pull request into a Git repository by running: $ git pull https://github.com/rovarga/karaf quiesce Alternatively you can review and apply these changes as the patch at: https://github.com/apache/karaf/pull/279.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #279 commit 8e767edd96a55dfd34e705500754e442b88cb6f5 Author: Robert Varga <n...@hq.sk> Date: 2017-02-06T03:52:23Z Add Aries Quiesce to aries-blueprint Signed-off-by: Robert Varga <n...@hq.sk> --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---