code: protected void open()
                      throws ObjectManagerException
      {
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.entry(this, cclass
                          , "open"
                              );
  
          // Identifier zero is used by all single part log records, the others are allocated dynamically.
          multiPartIdentifersUsed[0] = true;
          for (int i = 1; i < multiPartIdentifersUsed.length; i++) {
              multiPartIdentifersUsed[i] = false;
              multiPartFileStart[i] = -1;
          } // for... 
  
          setFileSpaceLeft(); // Calculate the space left in the log file.
  
          // Allocate the space available in the log but hold back space for... 
          //         Two FileLogHeaders.
          //         A sector byte on each writable page.
          //         One page to prevent us writing on the page that contains the start point. 
          // Any extra space needed by recovered transactions is reserved after recovery once the active transactions
          // are known. See ObjectManagerState.performRecovery().
          long totalFileSpaceAvailable = fileSpaceLeft
                                         - FileLogHeader.headerLength * 2
                                         - (fileLogHeader.fileSize - FileLogHeader.headerLength * 2) / pageSize
                                         - pageSize;
          for (int i = 0; i < fileSpaceAvailable.length; i++) {
              fileSpaceAvailable[i] = totalFileSpaceAvailable / fileSpaceAvailable.length;
              fileSpaceAvailableLock[i] = new Object();
          } // for...  
          fileSpaceAvailable[0] = fileSpaceAvailable[0] + totalFileSpaceAvailable % fileSpaceAvailable.length;
  
          // prime the paddingSpace reservation
          calculatePaddingSpaceTarget();
  
          // Create the thread to notify flush completion. 
          notifyHelper = new NotifyHelper();
          // Create the thread that executes the flush.
          flushHelper = new FlushHelper();
  
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.exit(this, cclass
                         , "open"
                              );
      }
docs: Initialise.
  
  @throws ObjectManagerException