Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mysql 5.6.11 #3

Closed
wants to merge 148 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
148 commits
Select commit Hold shift + click to select a range
ff9c9e5
Fixed 5.6.11 code/test/distro errors.
steaphangreene Jul 7, 2012
eec604a
Disable binlog.binlog_server_start_options
jtolmer Apr 19, 2013
9dd3834
Added fb.cmake Facebook build config file.
steaphangreene Oct 23, 2012
5aee376
Disable PerfSchema By Default
steaphangreene Mar 28, 2013
e9bfa36
Add -DMY_PTHREAD_FASTMUTEX for 5.6
steaphangreene Feb 28, 2013
057035a
Stop spawning dummy threads on client library initialization (5.6)
Apr 5, 2013
f37b8e8
Share more structures
steaphangreene Mar 31, 2013
6eb74f8
Adding xtrabackup files
steaphangreene Mar 4, 2013
74b6cc6
Integrate xtrabackup into tree
steaphangreene Mar 4, 2013
922d355
Prevent xtrabackup apply-log disk-space bloat
Mar 28, 2013
38d9cb3
Facebook changes to xtrabackup
steaphangreene Mar 27, 2013
c45dad7
Port v5.1 innodb stress tests to 5.6
steaphangreene Apr 2, 2013
bd4a4bc
Add trx pointer to struct mtr_t
steaphangreene Mar 29, 2013
77f5b2b
Port Percona fake changes patch to 5.6
steaphangreene Mar 28, 2013
64c14da
Parse, but ignore, MEMECACHE_DIRTY keyword.
steaphangreene Mar 20, 2012
b6311ac
Use both upstream and our crc algo, migrating to upstream.
steaphangreene Mar 21, 2012
e3e2235
Fix our acl damage in mysql_upgrade
steaphangreene Oct 25, 2012
0a1f919
Allow reading of headerless compressed pages.
steaphangreene Oct 30, 2012
e5c4318
Port v5.1 SQL_NO_FCACHE to 5.6
steaphangreene Mar 28, 2012
a334b43
Fix unsigned arithmetic
Mar 27, 2012
386ab02
Port Control Cross-Table Access to 5.6
emayanke Oct 29, 2012
ef2e91b
Port v5.1 super_read_only
steaphangreene Oct 19, 2012
22a8b8c
Added new fast timer support.
steaphangreene Apr 24, 2012
27e4c3b
Port v5.1 Extra Stats: Basic Stats
steaphangreene Mar 31, 2013
a535b68
Port v5.1 Extra Stats: BinLog BaseDirs
steaphangreene Apr 10, 2012
83c4e4f
Port v5.1 Extra Stats: mutex and rw-lock
steaphangreene Apr 24, 2012
79ee703
Port v5.1 Extra Stats: InnoDB transaction logging
steaphangreene Apr 24, 2012
44bed9b
Port v5.1 Extra Stats: More buffer pool stats.
steaphangreene Apr 24, 2012
a42b065
Port v5.1 Extra Stats: Command Timers
steaphangreene Apr 25, 2012
a334bd1
Port v5.1 Allow innodb_lock_wait_timeout=0
steaphangreene Apr 18, 2012
141168b
Port v5.1 Extra Stats: records_in_range_seconds
steaphangreene Apr 27, 2012
7b50c38
Port v5.1 Extra Stats: callers of os_file_flush
steaphangreene Apr 27, 2012
6fcbe16
Port v5.1 Extra Stats: IO Perf Counters
steaphangreene Apr 30, 2012
a32d118
Port v5.1 Extra Stats: Insert Buffer and Adaptive Hash
steaphangreene May 2, 2012
24b3d11
Port v5.1 Extra Stats: Time Master Thread Tasks
steaphangreene May 1, 2012
dbc3c69
Port v5.1 SysVar: innodb_deadlock_detect
steaphangreene Mar 28, 2013
c54c3d3
Port v5.1 Extra Stats: InnoDB Lock Status
steaphangreene Nov 9, 2012
a90e2a3
Port v5.1 Extra Stats: Remove Transactions
steaphangreene May 2, 2012
90429dc
Port v5.1 Extra Stats: Flushed Neighbor Counters
steaphangreene Nov 9, 2012
0dcb3f1
Port v5.1 Extra Stats: SHOW ENGINE INNODB TRANSACTION STATUS
steaphangreene May 2, 2012
8068673
Port v5.1 SHOW STATUS tests
steaphangreene May 2, 2012
a4a48c3
Port v5.1 Slow Query Log Changes
steaphangreene May 24, 2012
1482a90
Port v5.1 Extra Stats: Pages Evicted
steaphangreene Jun 7, 2012
64a2cef
Port v5.1 InnoDB Commit and Rollback Counters
steaphangreene May 23, 2012
246d2fa
Port v5.1 Extra Stats: Per-Table
steaphangreene Apr 10, 2013
c230745
Port v5.1 os_aio_old/slow changes
steaphangreene Mar 28, 2013
6fc26a7
Port v5.1 Extra Stats: Hide BinLog Threads
steaphangreene Jun 7, 2012
118e571
Port v5.1 IS.User_Stats to 5.6
Apr 12, 2013
cffd602
Log changes to 'read_only' and 'super_read_only'
steaphangreene Dec 11, 2012
e5c8ab5
Adding logging for durability changes
Mar 12, 2013
3db5967
Port binlog_bytes_written status to 5.6
Oct 23, 2012
eb5859e
Porting per session stats from 5.1 to 5.6
Apr 12, 2013
92c3a2a
Port per query stats from 5.1 to 5.6
Sep 25, 2012
e2b9411
Porting more table stats changes from 5.1 to 5.6
Apr 16, 2013
b581af4
port global per page IO stats from 5.1 to 5.6
steaphangreene Oct 12, 2012
84ee91f
Porting secondary index to 5.6
Oct 18, 2012
1c1c30d
Port v5.1 SHOW MASTER LOGS without SUPER privilege
steaphangreene Oct 19, 2012
44bb61a
Port v5.1 process_can_disable_bin_log
steaphangreene Oct 19, 2012
42346f9
Port v5.1 sql_log_bin changes
steaphangreene Oct 19, 2012
08286b9
Port replication counter stats to 5.6
Oct 23, 2012
6483211
Port Stats: binlog slave offset to 5.6
Oct 23, 2012
d456588
Port Stats: slow_log_if_rows_examined to 5.6
Apr 10, 2013
2940cda
Port Per-Tablespace Mutex Contention Fix to 5.6
Apr 12, 2013
dd377be
Port Fuzzy Checkpoint Limits to 5.6
Oct 19, 2012
dad6a4d
Port Stats: Log -vs- Double-Write to 5.6
Oct 26, 2012
91ad928
Port Ignore innodb_thread_concurrency for Replication Thread to 5.6
Mar 28, 2013
3bd6c63
Port Fix Locality of trx_ts to 5.6
Nov 1, 2012
5f9cf36
Port Stats: Slow IOs to 5.6
Apr 12, 2013
5a4c16f
Port Optimizations for os_aio_thread_buffer to 5.6
Oct 31, 2012
48af57e
Port per page type table stats, and fix native_aio data stats
steaphangreene Apr 17, 2013
0cc3917
Replication IO thread retries more frequently
jtolmer Nov 7, 2012
bf47c0a
Port v5.1 Compression Stats
Apr 17, 2013
c1c7d8c
Make replication and client connection compression configurable.
steaphangreene Dec 14, 2012
2dd83ca
Port disable_slave_update_table_stats change to 5.6
Mar 28, 2013
db8eb38
Port unix datagram socket from 5.1 to 5.6
rvsprvsp Dec 14, 2012
f2c05a0
Ported Working Set Size to 5.6
Apr 12, 2013
192f35c
Check how max_binlog_cache_size affects LOAD DATA INFILE
rvsprvsp Nov 17, 2012
adadc00
Fix an inifinite loop while reading compressed pages
rvsprvsp Nov 26, 2012
8bdd21d
Port additional session stats in SHOW PROCESSLIST
steaphangreene Mar 28, 2013
2c08050
Port v5.1 fix for bug #60682 to 5.6
rvsprvsp Nov 28, 2012
36a220d
Make DROP DATABASE replicate safely with FK constraints
rvsprvsp Nov 29, 2012
69645eb
Check for a killed connection while building a previous version.
jtolmer Mar 28, 2013
e3c31a0
Replication Monitoring to 5.6
steaphangreene Dec 14, 2012
c5369e9
Port rpl_read_size to 5.6
rvsprvsp Dec 14, 2012
95dfb4a
Add reset_seconds_behind_master and Relay_log_io_connected
jtolmer Dec 19, 2012
7f9705c
Reduce LOCK_log mutex contention during lock during binlog reads.
steaphangreene Apr 18, 2013
49ecae0
Port Stats: Peak Lag to 5.6
Oct 26, 2012
bc267c3
Fix failure of set relay_log_info_repository = 'file'
rvsprvsp Jan 9, 2013
44051a2
Fix checksum errors in 5.6 slave when 5.6 master is downgraded to 5.1
rvsprvsp Jan 11, 2013
5df7a35
Test autoinc intvar not persisted across relay-log events on slave
rvsprvsp Feb 13, 2013
cf410f6
Port Warn on Purge with Active Slave to 5.6
rvsprvsp Feb 13, 2013
382ea2c
port add rpl_event_buffer_size to 5.6
rvsprvsp Apr 18, 2013
57ecb0a
Set Default metadata_locks_hash_instances=256
steaphangreene Feb 19, 2013
72e95f1
Port Compression: Reduce Calls to btr_cur_optimistic_insert to 5.6
Nov 27, 2012
10f24ce
Change the default value for innodb_log_compressed_pages to false
Feb 27, 2013
64ba92e
Fix changing from gtid-based to position-based replication
rvsprvsp Feb 23, 2013
d830046
create new config option enable_gitd_on_new_slave_with_old_master
rvsprvsp Feb 25, 2013
f172125
Set Default table_open_cache_instances=8
jtolmer Mar 1, 2013
8a133e2
Port v5.1 InnoChecksum: Page Type
steaphangreene Jun 8, 2012
40f3202
Port v5.1 extra page stats for innochecksum
Oct 30, 2012
6bceb58
Port compressed, and fix uncompressed, page support in innochecksum
Apr 16, 2013
ee8dedf
Port v5.1 tests for non-blocking read-only
Mar 12, 2013
107a4b7
Port Add --timeout option for mysqldump to 5.6
Mar 12, 2013
8c30d8f
Port ALL_O_DIRECT to 5.6
Mar 13, 2013
e19fd7c
Allow mysqldump from 5.6 to dump 5.1 tables.
Mar 15, 2013
b763904
Add support for MYSQL_SYSVAR_DOUBLE.
Dec 18, 2012
68a7fe1
Port Fast Index Creation to 5.6
Mar 25, 2013
3cfd01f
Port Compression: Making empty space reserved dynamic to 5.6
Mar 21, 2013
b191c2c
Add innodb_page_cleaner_interval_millis
mdcallag Mar 20, 2013
6130989
Made innodb_max_dirty_pages_pct my.cnf variable a double
Mar 25, 2013
07ee2aa
Merge aio page read requests
Mar 27, 2013
ee024c6
Add logical read-ahead to InnoDB.
Mar 28, 2013
fd05d7d
Add mysqldump support for logical read ahead
steaphangreene Apr 10, 2013
e1ff3c4
Port testing of random compression failures
jtolmer Mar 29, 2013
c23127a
Add support for srv_unzip_LRU_pct and innodb_lru_io_to_unzip_factor.
Mar 30, 2013
a73beda
Implement START TRANSACTION WITH CONSISTENT INNODB SNAPSHOT
jtolmer Mar 18, 2013
86e9ffc
Add the value of padding to table statistics in 5.6.
steaphangreene Apr 12, 2013
9ff3d3f
Make "FACEBOOK" the default crc setting.
steaphangreene Oct 24, 2012
b11c652
Write old FB crcs by default
steaphangreene Oct 26, 2012
b723a0a
Waste less memory on os_event structs
steaphangreene Feb 21, 2013
f8c37c4
Port fix for mysqlbinlog reading big records from stdin
rvsprvsp Apr 25, 2013
9d571cb
port streaming binlogs to 5.6.11
rvsprvsp Apr 25, 2013
09cb719
Make mysqldump not lock all tables with --single-transaction
Apr 26, 2013
71e9e5a
Make default value of binlog_checksum 'NONE'
rvsprvsp Apr 26, 2013
9261f0f
Two fixes for logical read-ahead feature
Apr 23, 2013
39309ee
Add config option gtid_deployment_step useful for deployment
rvsprvsp Mar 20, 2013
eb621d9
Fix disable_deadlock_detect
steaphangreene Apr 30, 2013
a4dad83
Port v5.1 Compression: Reduce Log Records
Apr 19, 2013
1594ae8
Port v5.1 Cache buf_page_t Memory Allocations
Apr 16, 2013
5db55fd
Port v5.1 Cache mem_block_t Memory Allocations
Apr 4, 2013
58e9fbc
Stabalize main.partition_innodb test
steaphangreene May 2, 2013
5ef7807
Move InnoDB message from warning to info
jtolmer May 9, 2013
8af6176
Add error messages for main.slow_log_extra_big
May 7, 2013
0bb21a2
Initialize innodb_sync_pool_size, even without mysql.
steaphangreene May 10, 2013
4596d7d
Initialize error messages for xtrabackup
May 10, 2013
58f3e15
xtrabackup: Do not FLUSH TABLES WITH READ LOCK on master
May 9, 2013
7b2bb76
Add GTID info to START TRANSACTION WITH CONSISTENT INNODB SNAPSHOT
rvsprvsp Apr 26, 2013
df04aae
Oracle's diff for MTS recovery SEGV
jtolmer May 9, 2013
fc14f6c
Back-port Oracle's stop-sleeping patch from 5.6
steaphangreene May 3, 2013
e68ec58
Port v5.1: Skip fsyncs on O_DIRECT
steaphangreene May 9, 2013
4dd11b5
Port v5.1 Prefix Index Queries Optimization
steaphangreene May 8, 2013
e8d01a8
Create xtrabackup_logfile in the supplied target_dir
May 13, 2013
3bbd76e
Xtrabackup: Always use default error messages
May 10, 2013
d0aad62
Change binlog index file format to incude previous gtid set.
rvsprvsp May 2, 2013
911133c
Fix CREATE TABLE ... LIKE to handle KEY_BLOCK_SIZE
jtolmer May 13, 2013
0fd6a6d
Zero-padding trx log write to OS block size
Apr 19, 2013
cc11939
Oracle's fix for flush tables breaking replication
rvsprvsp May 13, 2013
4c478e2
Back-port Oracle's fix for CREATE TABLE IF NOT EXISTS
steaphangreene May 13, 2013
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions client/client_priv.h
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,9 @@ enum options_client
OPT_CONFIG_ALL,
OPT_SERVER_PUBLIC_KEY,
OPT_ENABLE_CLEARTEXT_PLUGIN,
OPT_TIMEOUT,
OPT_INNODB_OPTIMIZE_KEYS,
OPT_LRA_SIZE, OPT_LRA_SLEEP, OPT_LRA_N_NODE_RECS_BEFORE_SLEEP,
OPT_MAX_CLIENT_OPTION
};

Expand Down
6 changes: 4 additions & 2 deletions client/mysql.cc
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,8 @@ extern "C" {
#include "completion_hash.h"
#include <welcome_copyright_notice.h> // ORACLE_WELCOME_COPYRIGHT_NOTICE

#include "blind_fwrite.h"

#define PROMPT_CHAR '\\'
#define DEFAULT_DELIMITER ";"

Expand Down Expand Up @@ -5161,9 +5163,9 @@ void tee_write(FILE *file, const char *s, size_t slen, int flags)
my_win_console_write(charset_info, s, mblen);
else
#endif
fwrite(s, 1, mblen, file);
blind_fwrite(s, 1, mblen, file);
if (opt_outfile)
fwrite(s, 1, mblen, OUTFILE);
blind_fwrite(s, 1, mblen, OUTFILE);
s+= mblen - 1;
continue;
}
Expand Down
1 change: 1 addition & 0 deletions client/mysql_upgrade.c
Original file line number Diff line number Diff line change
Expand Up @@ -771,6 +771,7 @@ static const char *expected_errors[]=
"ERROR 1060", /* Duplicate column name */
"ERROR 1061", /* Duplicate key name */
"ERROR 1054", /* Unknown column */
"ERROR 1091", /* Can't DROP 'column' */
0
};

Expand Down
120 changes: 96 additions & 24 deletions client/mysqlbinlog.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2252,14 +2252,18 @@ static Exit_status dump_remote_log_entries(PRINT_EVENT_INFO *print_event_info,

@param[in] logname Name of input binlog.

@param[in] stream_file Used to indicate that file is a stream and
therefore can't seek back and forth

@retval ERROR_STOP An error occurred - the program should terminate.
@retval OK_CONTINUE No error, the program should continue.
@retval OK_STOP No error, but the end of the specified range of
events to process has been reached and the program should terminate.
*/
static Exit_status check_header(IO_CACHE* file,
PRINT_EVENT_INFO *print_event_info,
const char* logname)
const char* logname,
bool stream_file)
{
DBUG_ENTER("check_header");
uchar header[BIN_LOG_HEADER_SIZE];
Expand All @@ -2276,14 +2280,22 @@ static Exit_status check_header(IO_CACHE* file,

pos= my_b_tell(file);

/* fstat the file to check if the file is a regular file. */
if (my_fstat(file->file, &my_file_stat, MYF(0)) == -1)
if (!stream_file)
{
/* fstat the file to check if the file is a regular file. */
if (my_fstat(file->file, &my_file_stat, MYF(0)) == -1)
{
error("Unable to stat the file.");
DBUG_RETURN(ERROR_STOP);
}
if ((my_file_stat.st_mode & S_IFMT) == S_IFREG)
my_b_seek(file, (my_off_t)0);
}
if (stream_file && pos != (my_off_t)0)
{
error("Unable to stat the file.");
error("Cannot rewind to header in a stream.");
DBUG_RETURN(ERROR_STOP);
}
if ((my_file_stat.st_mode & S_IFMT) == S_IFREG)
my_b_seek(file, (my_off_t)0);

if (my_b_read(file, header, sizeof(header)))
{
Expand All @@ -2296,6 +2308,72 @@ static Exit_status check_header(IO_CACHE* file,
DBUG_RETURN(ERROR_STOP);
}

/*
The rest of this function tries to figure out binlog format etc by reading
some events. We have two codepaths based on whether it is streaming file
or not. This is because we cannot go back and forth in a stream. Since the
streaming file only needs to be supported for 5.0+ formats, the code for
streaming path is simpler than the non-streaming case that handles all
formats.
*/
if (stream_file)
{
for (;;)
{
pos= my_b_tell(file);

if (pos >= start_position)
{
DBUG_RETURN(OK_CONTINUE);
}

Log_event *ev;
if (!(ev= Log_event::read_log_event(file, glob_description_event,
opt_verify_binlog_checksum)))
{
if (file->error)
{
error("Could not read a log_event at offset %llu;"
" this could be a log format error or read error.",
(ulonglong)pos);
DBUG_RETURN(ERROR_STOP);
}
// EOF
DBUG_RETURN(OK_CONTINUE);
}

if (ev->get_type_code() != FORMAT_DESCRIPTION_EVENT)
{
delete ev;
ev = NULL;
continue;
}

Format_description_log_event *new_description_event =
static_cast<Format_description_log_event *>(ev);

if (opt_base64_output_mode == BASE64_OUTPUT_AUTO)
{
/*
process_event will delete *description_event and set it to
the new one, so we should not do it ourselves in this
case.
*/
Exit_status retval= process_event(print_event_info,
new_description_event, pos,
logname);
if (retval != OK_CONTINUE)
DBUG_RETURN(retval);
}
else
{
delete glob_description_event;
glob_description_event= new_description_event;
}
}
DBUG_RETURN(OK_CONTINUE);
}

/*
Imagine we are running with --start-position=1000. We still need
to know the binlog format's. So we still need to find, if there is
Expand Down Expand Up @@ -2451,7 +2529,8 @@ static Exit_status dump_local_log_entries(PRINT_EVENT_INFO *print_event_info,
my_close(fd, MYF(MY_WME));
return ERROR_STOP;
}
if ((retval= check_header(file, print_event_info, logname)) != OK_CONTINUE)
if ((retval= check_header(file, print_event_info, logname, false))
!= OK_CONTINUE)
goto end;
}
else
Expand All @@ -2473,28 +2552,14 @@ static Exit_status dump_local_log_entries(PRINT_EVENT_INFO *print_event_info,
}
#endif
if (init_io_cache(file, my_fileno(stdin), 0, READ_CACHE, (my_off_t) 0,
0, MYF(MY_WME | MY_NABP | MY_DONT_CHECK_FILESIZE)))
0, MYF(MY_WME | MY_NABP | MY_DONT_CHECK_FILESIZE | MY_FULL_IO)))
{
error("Failed to init IO cache.");
return ERROR_STOP;
}
if ((retval= check_header(file, print_event_info, logname)) != OK_CONTINUE)
if ((retval= check_header(file, print_event_info, logname, true))
!= OK_CONTINUE)
goto end;
if (start_position)
{
/* skip 'start_position' characters from stdin */
uchar buff[IO_SIZE];
my_off_t length,tmp;
for (length= start_position_mot ; length > 0 ; length-=tmp)
{
tmp= min<size_t>(length, sizeof(buff));
if (my_b_read(file, buff, (uint) tmp))
{
error("Failed reading from file.");
goto err;
}
}
}
}

if (!glob_description_event || !glob_description_event->is_valid())
Expand Down Expand Up @@ -2721,6 +2786,13 @@ int main(int argc, char** argv)
exit(1);
}

if ((argc == 1) && (stop_position != (ulonglong)(~(my_off_t)0)) &&
(!strcmp(argv[0], "-")))
{
error("stop_position not allowed when input is STDIN");
exit(1);
}

/* Check for argument conflicts and do any post-processing */
if (args_post_process() == ERROR_STOP)
exit(1);
Expand Down
Loading