Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
c13fc693
Commit
c13fc693
authored
Apr 21, 2006
by
elliot@mysql.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
After merge fixes.
parent
b02185c5
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
0 additions
and
168 deletions
+0
-168
sql/ha_innodb.cc
sql/ha_innodb.cc
+0
-130
sql/ha_innodb.h
sql/ha_innodb.h
+0
-3
sql/mysqld.cc
sql/mysqld.cc
+0
-17
sql/set_var.cc
sql/set_var.cc
+0
-13
sql/sql_class.h
sql/sql_class.h
+0
-5
No files found.
sql/ha_innodb.cc
View file @
c13fc693
...
...
@@ -1769,25 +1769,6 @@ innobase_report_binlog_offset_and_commit(
trx
->
mysql_log_file_name
=
log_file_name
;
trx
->
mysql_log_offset
=
(
ib_longlong
)
end_offset
;
#ifdef HAVE_REPLICATION
if
(
thd
->
variables
.
sync_replication
)
{
/* Let us store the binlog file name and the position, so that
we know how long to wait for the binlog to the replicated to
the slave in synchronous replication. */
if
(
trx
->
repl_wait_binlog_name
==
NULL
)
{
trx
->
repl_wait_binlog_name
=
(
char
*
)
mem_alloc_noninline
(
FN_REFLEN
+
100
);
}
ut_a
(
strlen
(
log_file_name
)
<
FN_REFLEN
+
100
);
strcpy
(
trx
->
repl_wait_binlog_name
,
log_file_name
);
trx
->
repl_wait_binlog_pos
=
(
ib_longlong
)
end_offset
;
}
#endif
/* HAVE_REPLICATION */
trx
->
flush_log_later
=
TRUE
;
innobase_commit
(
thd
,
TRUE
);
...
...
@@ -1856,117 +1837,6 @@ innobase_commit_complete(
trx_commit_complete_for_mysql
(
trx
);
}
#ifdef HAVE_REPLICATION
if
(
thd
->
variables
.
sync_replication
&&
trx
->
repl_wait_binlog_name
&&
innobase_repl_state
!=
0
)
{
struct
timespec
abstime
;
int
cmp
;
int
ret
;
/* In synchronous replication, let us wait until the MySQL
replication has sent the relevant binlog segment to the
replication slave. */
pthread_mutex_lock
(
&
innobase_repl_cond_mutex
);
try_again:
if
(
innobase_repl_state
==
0
)
{
pthread_mutex_unlock
(
&
innobase_repl_cond_mutex
);
return
(
0
);
}
cmp
=
strcmp
(
innobase_repl_file_name
,
trx
->
repl_wait_binlog_name
);
if
(
cmp
>
0
||
(
cmp
==
0
&&
innobase_repl_pos
>=
(
my_off_t
)
trx
->
repl_wait_binlog_pos
))
{
/* We have already sent the relevant binlog to the
slave: no need to wait here */
pthread_mutex_unlock
(
&
innobase_repl_cond_mutex
);
/* printf("Binlog now sent\n"); */
return
(
0
);
}
/* Let us update the info about the minimum binlog position
of waiting threads in the innobase_repl_... variables */
if
(
innobase_repl_wait_file_name_inited
!=
0
)
{
cmp
=
strcmp
(
trx
->
repl_wait_binlog_name
,
innobase_repl_wait_file_name
);
if
(
cmp
<
0
||
(
cmp
==
0
&&
(
my_off_t
)
trx
->
repl_wait_binlog_pos
<=
innobase_repl_wait_pos
))
{
/* This thd has an even lower position, let
us update the minimum info */
strcpy
(
innobase_repl_wait_file_name
,
trx
->
repl_wait_binlog_name
);
innobase_repl_wait_pos
=
trx
->
repl_wait_binlog_pos
;
}
}
else
{
strcpy
(
innobase_repl_wait_file_name
,
trx
->
repl_wait_binlog_name
);
innobase_repl_wait_pos
=
trx
->
repl_wait_binlog_pos
;
innobase_repl_wait_file_name_inited
=
1
;
}
set_timespec
(
abstime
,
thd
->
variables
.
sync_replication_timeout
);
/* Let us suspend this thread to wait on the condition;
when replication has progressed far enough, we will release
these waiting threads. The following call
pthread_cond_timedwait also atomically unlocks
innobase_repl_cond_mutex. */
innobase_repl_n_wait_threads
++
;
/* printf("Waiting for binlog to be sent\n"); */
ret
=
pthread_cond_timedwait
(
&
innobase_repl_cond
,
&
innobase_repl_cond_mutex
,
&
abstime
);
innobase_repl_n_wait_threads
--
;
if
(
ret
!=
0
)
{
ut_print_timestamp
(
stderr
);
sql_print_error
(
"MySQL synchronous replication was "
"not able to send the binlog to the "
"slave within the timeout %lu. We "
"assume that the slave has become "
"inaccessible, and switch off "
"synchronous replication until the "
"communication to the slave works "
"again. MySQL synchronous replication "
"has sent binlog to the slave up to "
"file %s, position %lu. This "
"transaction needs it to be sent up "
"to file %s, position %lu."
,
thd
->
variables
.
sync_replication_timeout
,
innobase_repl_file_name
,
(
ulong
)
innobase_repl_pos
,
trx
->
repl_wait_binlog_name
,
(
ulong
)
trx
->
repl_wait_binlog_pos
);
innobase_repl_state
=
0
;
pthread_mutex_unlock
(
&
innobase_repl_cond_mutex
);
return
(
0
);
}
goto
try_again
;
}
#endif // HAVE_REPLICATION
return
(
0
);
}
...
...
sql/ha_innodb.h
View file @
c13fc693
...
...
@@ -316,9 +316,6 @@ int innobase_rollback_by_xid(
XID
*
xid
);
/* in : X/Open XA Transaction Identification */
int
innobase_repl_report_sent_binlog
(
THD
*
thd
,
char
*
log_file_name
,
my_off_t
end_offset
);
/***********************************************************************
Create a consistent view for a cursor based on current transaction
which is created if the corresponding MySQL thread still lacks one.
...
...
sql/mysqld.cc
View file @
c13fc693
...
...
@@ -6160,23 +6160,6 @@ The minimum value for this variable is 4096.",
{
"sync-frm"
,
OPT_SYNC_FRM
,
"Sync .frm to disk on create. Enabled by default."
,
(
gptr
*
)
&
opt_sync_frm
,
(
gptr
*
)
&
opt_sync_frm
,
0
,
GET_BOOL
,
NO_ARG
,
1
,
0
,
0
,
0
,
0
,
0
},
#ifdef HAVE_REPLICATION
{
"sync-replication"
,
OPT_SYNC_REPLICATION
,
"Enable synchronous replication."
,
(
gptr
*
)
&
global_system_variables
.
sync_replication
,
(
gptr
*
)
&
global_system_variables
.
sync_replication
,
0
,
GET_ULONG
,
REQUIRED_ARG
,
0
,
0
,
1
,
0
,
1
,
0
},
{
"sync-replication-slave-id"
,
OPT_SYNC_REPLICATION_SLAVE_ID
,
"Synchronous replication is wished for this slave."
,
(
gptr
*
)
&
global_system_variables
.
sync_replication_slave_id
,
(
gptr
*
)
&
global_system_variables
.
sync_replication_slave_id
,
0
,
GET_ULONG
,
REQUIRED_ARG
,
0
,
0
,
~
0L
,
0
,
1
,
0
},
{
"sync-replication-timeout"
,
OPT_SYNC_REPLICATION_TIMEOUT
,
"Synchronous replication timeout."
,
(
gptr
*
)
&
global_system_variables
.
sync_replication_timeout
,
(
gptr
*
)
&
global_system_variables
.
sync_replication_timeout
,
0
,
GET_ULONG
,
REQUIRED_ARG
,
10
,
0
,
~
0L
,
0
,
1
,
0
},
#endif
/* HAVE_REPLICATION */
{
"table_cache"
,
OPT_TABLE_OPEN_CACHE
,
"Deprecated; use --table_open_cache instead."
,
(
gptr
*
)
&
table_cache_size
,
(
gptr
*
)
&
table_cache_size
,
0
,
GET_ULONG
,
...
...
sql/set_var.cc
View file @
c13fc693
...
...
@@ -436,14 +436,6 @@ sys_var_thd_storage_engine sys_storage_engine("storage_engine",
&
SV
::
table_type
);
#ifdef HAVE_REPLICATION
sys_var_sync_binlog_period
sys_sync_binlog_period
(
"sync_binlog"
,
&
sync_binlog_period
);
sys_var_thd_ulong
sys_sync_replication
(
"sync_replication"
,
&
SV
::
sync_replication
);
sys_var_thd_ulong
sys_sync_replication_slave_id
(
"sync_replication_slave_id"
,
&
SV
::
sync_replication_slave_id
);
sys_var_thd_ulong
sys_sync_replication_timeout
(
"sync_replication_timeout"
,
&
SV
::
sync_replication_timeout
);
#endif
sys_var_bool_ptr
sys_sync_frm
(
"sync_frm"
,
&
opt_sync_frm
);
sys_var_long_ptr
sys_table_def_size
(
"table_definition_cache"
,
...
...
@@ -966,11 +958,6 @@ SHOW_VAR init_vars[]= {
{
sys_sync_binlog_period
.
name
,(
char
*
)
&
sys_sync_binlog_period
,
SHOW_SYS
},
#endif
{
sys_sync_frm
.
name
,
(
char
*
)
&
sys_sync_frm
,
SHOW_SYS
},
#ifdef HAVE_REPLICATION
{
sys_sync_replication
.
name
,
(
char
*
)
&
sys_sync_replication
,
SHOW_SYS
},
{
sys_sync_replication_slave_id
.
name
,
(
char
*
)
&
sys_sync_replication_slave_id
,
SHOW_SYS
},
{
sys_sync_replication_timeout
.
name
,
(
char
*
)
&
sys_sync_replication_timeout
,
SHOW_SYS
},
#endif
#ifdef HAVE_TZNAME
{
"system_time_zone"
,
system_time_zone
,
SHOW_CHAR
},
#endif
...
...
sql/sql_class.h
View file @
c13fc693
...
...
@@ -241,11 +241,6 @@ struct system_variables
my_bool
new_mode
;
my_bool
query_cache_wlock_invalidate
;
my_bool
engine_condition_pushdown
;
#ifdef HAVE_REPLICATION
ulong
sync_replication
;
ulong
sync_replication_slave_id
;
ulong
sync_replication_timeout
;
#endif
/* HAVE_REPLICATION */
my_bool
innodb_table_locks
;
my_bool
innodb_support_xa
;
my_bool
ndb_force_send
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment