Skip to content
Snippets Groups Projects
  • Nikolay Shirokovskiy's avatar
    e72eaa8a
    app: start init script event loop explicitly · e72eaa8a
    Nikolay Shirokovskiy authored
    The motivation is to reduce time slip on Tarantool startup before
    running init scripts. Internal ev time is set in fiber_init/ev_default_loop
    and is not get updated until starting event loop. This causes
    timeouts slip up to 0.3 in debug ASAN build in init script (see #9261).
    
    Let's run event loop right at the beginning of the run_script_f before
    executing any script. This way besides updating internal ev time we make
    an explicit place of starting script event loop. Currently it is started
    lazily when config script yields.
    
    This will fix CI for PR https://github.com/tarantool/tarantool-ee/pull/572
    for debug ASAN workflow.
    
    We can also remove start_loop condition. It does not make sense now. It
    was added in the commit 3a851430 ("Fix tarantool -e "os.exit()"
    hang") but since then we start to stop event loop after handling
    os.exit().
    
    Also this fixes #9266. The issue is we don't have an event loop to run
    on shutdown triggers if -e command line expression add such a trigger
    and then call os.exit().
    
    Follow-up #7327
    Closes #9266
    
    NO_DOC=bugfix
    
    (cherry picked from commit 1fcfb8c2)
    e72eaa8a
    History
    app: start init script event loop explicitly
    Nikolay Shirokovskiy authored
    The motivation is to reduce time slip on Tarantool startup before
    running init scripts. Internal ev time is set in fiber_init/ev_default_loop
    and is not get updated until starting event loop. This causes
    timeouts slip up to 0.3 in debug ASAN build in init script (see #9261).
    
    Let's run event loop right at the beginning of the run_script_f before
    executing any script. This way besides updating internal ev time we make
    an explicit place of starting script event loop. Currently it is started
    lazily when config script yields.
    
    This will fix CI for PR https://github.com/tarantool/tarantool-ee/pull/572
    for debug ASAN workflow.
    
    We can also remove start_loop condition. It does not make sense now. It
    was added in the commit 3a851430 ("Fix tarantool -e "os.exit()"
    hang") but since then we start to stop event loop after handling
    os.exit().
    
    Also this fixes #9266. The issue is we don't have an event loop to run
    on shutdown triggers if -e command line expression add such a trigger
    and then call os.exit().
    
    Follow-up #7327
    Closes #9266
    
    NO_DOC=bugfix
    
    (cherry picked from commit 1fcfb8c2)