[ https://issues.apache.org/jira/browse/FELIX-5383?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15583618#comment-15583618 ]
Matt Magoffin commented on FELIX-5383: -------------------------------------- Hi Guillaume, Thank you for responding. Let me start off by saying I am using Gemini Blueprint (not Aries), and running on Equinox (not Felix, and not using Karaf). I am simply deploying File Install with a service configuration like: {noformat} felix.fileinstall.poll = 0 felix.fileinstall.dir = app/main felix.fileinstall.noInitialDelay = true felix.fileinstall.bundles.new.start = true felix.fileinstall.disableConfigSave = true felix.fileinstall.active.level = 9 felix.fileinstall.start.level = 9 {noformat} Within that {{app/main}} directory I have many bundles. In one example where I get a timeout is on a web application bundle (I'll just call it bundle {{web}}), that when started by File Install has the Gemini Web extender is trying to initialize non-optional Blueprint dependencies that are provided by other bundles in {{app/main}}. If those other bundles happen to have been started by File Install already, everything is fine. Otherwise, the {{web}} bundle blocks, waiting as long as the configured Blueprint service timeout, before giving up. Once it gives up, File Install continues starting the other bundles in {{app/main}}, but when finished the {{web}} bundle will be left un-started. With the change in my branch, I add this to the File Install configuration: {noformat} felix.fileinstall.start.tasks = 5 felix.fileinstall.start.tasksRetryDelay = 1 {noformat} and then even if {{web}} ends up blocking while it waits for non-optional services, other bundles continue to be started by File Install and eventually those services become available and {{web}} can start successfully. > Support parallel bundle starting > -------------------------------- > > Key: FELIX-5383 > URL: https://issues.apache.org/jira/browse/FELIX-5383 > Project: Felix > Issue Type: Improvement > Components: File Install > Affects Versions: fileinstall-3.5.4 > Reporter: Matt Magoffin > Assignee: Guillaume Nodet > > I have an application that uses Felix File Install to start a set of bundles > that use Blueprint configuration extensively, but with the poll time disabled > ({{felix.fileinstall.poll = 0}}) because I only want the bundles started at > application startup time. Sometimes one bundle might have a Blueprint service > dependency provided by another bundle such that when started and that other > bundle has not been started yet causes a service timeout. The ordering File > Install uses to start bundles is indeterminate (a {{HashSet}} is passed to > {{startBundles(Collection<Bundle> bundles)}}) so I thought a good solution > would be to start bundles in parallel, so if one bundle gets stuck when > starting, waiting for a Blueprint service to become available, other bundles > can continue to be started under the assumption one of them will be providing > that service "soon". -- This message was sent by Atlassian JIRA (v6.3.4#6332)