An error occurred fetching the project authors.
  1. 15 Mar, 2011 1 commit
  2. 17 Dec, 2010 1 commit
    • Luis Soares's avatar
      BUG#46166 · 9e161d30
      Luis Soares authored
      Post-push fixes:
      
        - fixed platform dependent result files
        - appeasing valgrind warnings:
         
          Fault injection was also uncovering a previously existing 
          potential mem leaks. For BUG#46166 testing purposes, fixed 
          by forcing handling the leak when injecting faults.
      9e161d30
  3. 30 Nov, 2010 1 commit
    • Luis Soares's avatar
      BUG#46166: MYSQL_BIN_LOG::new_file_impl is not propagating error · aaefb52d
      Luis Soares authored
                 when generating new name.
            
      If find_uniq_filename returns an error, then this error is not
      being propagated upwards, and execution does not report error to
      the user (although a entry in the error log is generated).
                        
      Additionally, some more errors were ignored in new_file_impl:
      - when writing the rotate event
      - when reopening the index and binary log file
                        
      This patch addresses this by propagating the error up in the
      execution stack. Furthermore, when rotation of the binary log
      fails, an incident event is written, because there may be a
      chance that some changes for a given statement, were not properly
      logged. For example, in SBR, LOAD DATA INFILE statement requires
      more than one event to be logged, should rotation fail while
      logging part of the LOAD DATA events, then the logged data would
      become inconsistent with the data in the storage engine.
      aaefb52d
  4. 08 Dec, 2009 1 commit
  5. 05 Dec, 2009 1 commit
  6. 04 Dec, 2009 1 commit
    • Alfranio Correia's avatar
      BUG#45292 orphan binary log created when starting server twice · e362e9a7
      Alfranio Correia authored
      This patch fixes three bugs as follows. First, aborting the server while purging
      binary logs might generate orphan files due to how the purge operation was
      implemented:
      
                (purge routine - sql/log.cc - MYSQL_BIN_LOG::purge_logs)
      
            1 - register the files to be removed in a temporary buffer.
            2 - update the log-bin.index.
            3 - flush the log-bin.index.
            4 - erase the files whose names where register in the temporary buffer
            in step 1.
      
      Thus a failure while  executing step 4 would generate an orphan file. Second,
      a similar issue might happen while creating a new binary as follows:
      
                (create routine - sql/log.cc - MYSQL_BIN_LOG::open)
      
            1 - open the new log-bin.
            2 - update the log-bin.index.
      
      Thus a failure while executing step 1 would generate an orphan file.
      
      To fix these issues, we record the files to be purged or created before really
      removing or adding them. So if a failure happens such records can be used to
      automatically remove dangling files. The new steps might be outlined as follows:
      
                (purge routine - sql/log.cc - MYSQL_BIN_LOG::purge_logs)
      
            1 - register the files to be removed in the log-bin.~rec~ placed in
            the data directory.
            2 - update the log-bin.index.
            3 - flush the log-bin.index.
            4 - delete the log-bin.~rec~.
      
                (create routine - sql/log.cc - MYSQL_BIN_LOG::open)
      
            1 - register the file to be created in the log-bin.~rec~
            placed in the data directory.
            2 - open the new log-bin.
            3 - update the log-bin.index.
            4 - delete the log-bin.~rec~.
      
                (recovery routine - sql/log.cc - MYSQL_BIN_LOG::open_index_file)
      
            1 - open the log-bin.index.
            2 - open the log-bin.~rec~.
            3 - for each file in log-bin.~rec~.
              3.1 Check if the file is in the log-bin.index and if so ignore it.
              3.2 Otherwise, delete it.
      
      The third issue can be described as follows. The purge operation was allowing
      to remove a file in use thus leading to the loss of data and possible
      inconsistencies between the master and slave. Roughly, the routine was only
      taking into account the dump threads and so if a slave was not connect the
      file might be delete even though it was in use.
      e362e9a7
  7. 05 Apr, 2008 1 commit
  8. 03 Apr, 2008 1 commit
  9. 17 Mar, 2008 1 commit
    • aelkin/andrei@mysql1000.(none)'s avatar
      Bug #18199 PURGE BINARY LOGS fails silently with missing logs; · 18dab9d7
      aelkin/andrei@mysql1000.(none) authored
      Bug #18453  Warning/error message if there is a mismatch between ...
       
      There were three problems:
       
       1. the reported lack of warnings for the BEFORE syntax of PURGE;
       2. the similar lack of warnings for the TO syntax;
       3. incompatible behaviour between the two in that the latter blanked out
          regardlessly of presence or lack the actual file corresponding to
          an index record; the former version gave up at the first mismatch.
      
      fixed with deploying the warning's generation and synronizing logics of 
      purge_logs() and purge_logs_before_date().
      my_stat() is called in either of two branches of purge_logs() (responsible
      for the TO syntax of PURGE) similarly to how it has behaved in the BEFORE syntax.
      If there is no actual binlog file, my_stat returns NULL and my_delete is
      not invoked.
      A critical error is reported to the user if a file from the index
      could not be retrieved info about or deleted with a system error code
      different than ENOENT.
      18dab9d7