[jboss-dev] 1' hornetq delay on first boot

Dimitris Andreadis dandread at redhat.com
Thu Jul 1 11:56:53 EDT 2010


I don't think it makes sense to bundle 100Mb of empty files in any distro :-)

Since community AS targets developers I think we should configure HornetQ to create those 
files on demand, even if that causes a slight pause on the first write(s). So set 
journal-min-files to 0.

For production EAP I suppose it could be as it now (10). But we should make it clear that 
you are going to get the file creation hit on the first boot.

I guess one simple thing to do is introduce an environment variable to allow control of this 
when starting the server:

    <journal-min-files>${hornetq.journal-min-files:10}</journal-min-files>

We could also provide a small utility in /bin that can do the file creation off-line for a 
particular configuration.

Yet another idea is to see if we could do the file creation on a separate thread, in 
parallel with the boot thread?

Bill Burke wrote:
> Yet another reason why we need a developer profile for app server and 
> ditch default/ and all/ and delete minimal/.  Turn all/ into 
> production/, and default/ into developer/.  Tune production for 
> security, runtime speed.  Strip down developer/ for boot speed and 
> distro size.
> 
> For a HornetQ developer profile should have very small, precreated 
> journal files.  For the production profile, it should be optimized for 
> "out-of-box" benchmarks (and security).
> 
> Tim Fox wrote:
>> http://hornetq.sourceforge.net/docs/hornetq-2.1.0.Final/user-manual/en/html/persistence.html 
>>
>>
>> http://hornetq.sourceforge.net/docs/hornetq-2.1.0.Final/user-manual/en/html/perf-tuning.html#d0e11157 
>>
>>
>> You could reduce this number if you like. Files will still be created 
>> on demand, it just gives you less hit on demand if the files are 
>> pre-created, and consequently better performance in "out of the box" 
>> benchmarks, since it won't have to create the files during the 
>> benchmark run.
>>
>> Alternatively you could ship some actually empty binary journal files 
>> in the AS distro - but this would make the distro larger, nor sure if 
>> you would like that.
>>
>> On 01/07/10 12:38, Dimitris Andreadis wrote:
>>> It creates 10 (x10MB) files, AFAICT.
>>>
>>> Tim Fox wrote:
>>>> The first time you run it, it creates the journal files.
>>>>
>>>> The more files you have configured it with (see journal-min-files 
>>>> param in user manual) the longer it will take to create them. I 
>>>> don't know how many AS is using.
>>>>
>>>> On 01/07/10 12:25, Dimitris Andreadis wrote:
>>>>> On a 4y old WinXP laptop, hornetq seems to be adding a 1 minute 
>>>>> delay on the first boot, while creating the 
>>>>> server/xxx/data/hornetq/journal/* files
>>>>>
>>>>> 2nd boot comes without that delay. Can we avoid this?
>>>>>
>>>>> 14:03:27,624 INFO  [AbstractServer] Starting: JBossAS 
>>>>> [6.0.0.SNAPSHOT "Neo"]
>>>>> 14:03:29,702 INFO  [ServerInfo] Java version: 1.6.0_16,Sun 
>>>>> Microsystems Inc.
>>>>> 14:03:29,702 INFO  [ServerInfo] Java Runtime: Java(TM) SE Runtime 
>>>>> Environment (b
>>>>> uild 1.6.0_16-b01)
>>>>> 14:03:29,702 INFO  [ServerInfo] Java VM: Java HotSpot(TM) Server VM 
>>>>> 14.2-b01,Sun
>>>>>  Microsystems Inc.
>>>>> 14:03:29,702 INFO  [ServerInfo] OS-System: Windows XP 5.1,x86
>>>>> 14:03:29,702 INFO  [ServerInfo] VM arguments: 
>>>>> -Dprogram.name=run.bat -Xms128M -X
>>>>> mx512M -XX:MaxPermSize=256M -Dsun.rmi.dgc.client.gcInterval=3600000 
>>>>> -Dsun.rmi.dg
>>>>> c.server.gcInterval=3600000 -Dorg.jboss.resolver.warning=true 
>>>>> -Djava.endorsed.di
>>>>> rs=X:\svn\jboss-trunk\build\target\jboss-6.0.0-SNAPSHOT\lib\endorsed
>>>>> 14:03:29,780 INFO  [JMXKernel] Legacy JMX core initialized
>>>>> 14:03:37,811 INFO  [AbstractServerConfig] JBoss Web Services - 
>>>>> Stack CXF Server
>>>>> 3.3.1.SP1
>>>>> 14:03:38,405 INFO  [JSFImplManagementDeployer] Initialized 2 JSF 
>>>>> configurations:
>>>>>  [Mojarra-1.2, Mojarra-2.0]
>>>>> 14:03:42,749 WARNING [FileConfigurationParser] AIO wasn't located 
>>>>> on this platfo
>>>>> rm, it will fall back to using pure Java NIO. If your platform is 
>>>>> Linux, install
>>>>>  LibAIO to enable the AIO journal
>>>>> 14:03:47,483 WARNING [FileConfigurationParser] AIO wasn't located 
>>>>> on this platfo
>>>>> rm, it will fall back to using pure Java NIO. If your platform is 
>>>>> Linux, install
>>>>>  LibAIO to enable the AIO journal
>>>>> 14:03:47,671 INFO  [JMXConnector] starting JMXConnector on host 
>>>>> 127.0.0.1:1090
>>>>> 14:03:48,202 INFO  [MailService] Mail Service bound to java:/Mail
>>>>> 14:03:49,280 INFO  [HornetQServerImpl] live server is starting..
>>>>> 14:03:49,358 INFO  [JournalStorageManager] Using NIO Journal
>>>>> 14:03:49,374 WARNING [HornetQServerImpl] Security risk! It has been 
>>>>> detected tha
>>>>> t the cluster admin user and password have not been changed from 
>>>>> the installatio
>>>>> n default. Please see the HornetQ user guide, cluster chapter, for 
>>>>> instructions
>>>>> on how to do this.
>>>>> <-- HERE -->
>>>>> 14:04:52,077 INFO  [NettyAcceptor] Started Netty Acceptor version 
>>>>> 3.2.0.Final-r2
>>>>> 292 127.0.0.1:5455 for CORE protocol
>>>>> 14:04:52,092 INFO  [NettyAcceptor] Started Netty Acceptor version 
>>>>> 3.2.0.Final-r2
>>>>> 292 127.0.0.1:5445 for CORE protocol
>>>>> 14:04:52,092 INFO  [HornetQServerImpl] HornetQ Server version 
>>>>> 2.1.1.Final (Strip
>>>>> ey, 119) started
>>>>>
>>>>> [snip]
>>>>>
>>>>> 14:08:24,827 INFO  
>>>>> [org.jboss.bootstrap.impl.base.server.AbstractServer] JBossAS
>>>>>  [6.0.0.SNAPSHOT "Neo"] Started in 1m:30s:656ms
>>>>
>>
>>
> 


More information about the jboss-development mailing list