void forceSections(boolean rewriteRequired) throws InternalLogException
  {
    if (tc.isEntryEnabled()) Tr.entry(tc, "forceSections",new java.lang.Object[]{this,new Boolean(rewriteRequired)});

    // If the parent recovery log instance has experienced a serious internal error then prevent
    // this operation from executing.
    if (_recLog.failed())
    {
      if (tc.isEntryEnabled()) Tr.exit(tc, "forceSections",this);
      throw new InternalLogException(null);
    }

    try
    {
      writeSections(rewriteRequired);
      _recLog.forceSections();
    }
    catch(InternalLogException exc)
    {
      FFDCFilter.processException(exc, "com.ibm.ws.recoverylog.spi.SQLRecoverableUnitImpl.forceSections", "531", this);
      if (tc.isEntryEnabled()) Tr.exit(tc, "forceSections", exc);
      throw exc;
    }
    catch(Throwable exc)
    {
      FFDCFilter.processException(exc, "com.ibm.ws.recoverylog.spi.SQLRecoverableUnitImpl.forceSections", "537", this);
      if (tc.isEntryEnabled()) Tr.exit(tc, "forceSections", "InternalLogException");
      throw new InternalLogException(exc);
    }

    if (tc.isEntryEnabled()) Tr.exit(tc, "forceSections");
  }
void forceSections ( boolean rewriteRequired ) throws InternalLogException { if ( tc . isEntryEnabled ( ) ) Tr . entry ( tc , "forceSections" , new java . lang . Object [ ] { this , new Boolean ( rewriteRequired ) } ) ; if ( _recLog . failed ( ) ) { if ( tc . isEntryEnabled ( ) ) Tr . exit ( tc , "forceSections" , this ) ; throw new InternalLogException ( null ) ; } try { writeSections ( rewriteRequired ) ; _recLog . forceSections ( ) ; } catch ( InternalLogException exc ) { FFDCFilter . processException ( exc , "com.ibm.ws.recoverylog.spi.SQLRecoverableUnitImpl.forceSections" , "531" , this ) ; if ( tc . isEntryEnabled ( ) ) Tr . exit ( tc , "forceSections" , exc ) ; throw exc ; } catch ( Throwable exc ) { FFDCFilter . processException ( exc , "com.ibm.ws.recoverylog.spi.SQLRecoverableUnitImpl.forceSections" , "537" , this ) ; if ( tc . isEntryEnabled ( ) ) Tr . exit ( tc , "forceSections" , "InternalLogException" ) ; throw new InternalLogException ( exc ) ; } if ( tc . isEntryEnabled ( ) ) Tr . exit ( tc , "forceSections" ) ; }
<p>
Forces to the underlying recovery log information from the recoverable unit
sections. The amount of information written depends on the input argument
'rewriteRequired'. If this flag is false then only information that has not
not previously been written will be passed to the underlying recover log.
If this flag is true then all information will be passed to the underlying
recovery log. Either way, the the underlying recovery log contains an up
to date copy of the information retained in the target.
<p>

<p>
The information is written to the underlying recovery log and forced
through to persisent storage. After this call, the information is
guaranteed to be retrieved during any post-failure recovery processing.
</p>

<p>
This call my be used as part of an optomization when several recoverable units
need to be pushed to disk. For example, the following sequence will ensure that
recoverable units 1 through 4 are all persisted to physical storage:-
</p>
<p>
<ul>
<li>RecoverableUnit1.writeSections(..)</li>
<li>RecoverableUnit2.writeSections(..)</li>
<li>RecoverableUnit3.writeSections(..)</li>
<li>RecoverableUnit4.forceSections(..)</li>
</ul>
</p>

<p>
This internal version of the method is not exposed on the interfaces and can only
be called from within the RLS. Client services invoke the simpler version of the
method (with no arguments) which deligates down to this method.
</p>

@param rewriteRequired Boolean flag indicating if a rewrite is required.

@exception InternalLogException An unexpected error has occured.