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
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
a64cb6d2
Commit
a64cb6d2
authored
Dec 28, 2020
by
Marko Mäkelä
Browse files
Options
Browse Files
Download
Plain Diff
Merge 10.3 into 10.4
parents
478b8303
7f037b8c
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
31 additions
and
7 deletions
+31
-7
storage/innobase/lock/lock0lock.cc
storage/innobase/lock/lock0lock.cc
+14
-5
storage/innobase/log/log0recv.cc
storage/innobase/log/log0recv.cc
+1
-1
storage/innobase/rem/rem0rec.cc
storage/innobase/rem/rem0rec.cc
+16
-1
No files found.
storage/innobase/lock/lock0lock.cc
View file @
a64cb6d2
...
@@ -659,6 +659,20 @@ static void wsrep_assert_no_bf_bf_wait(
...
@@ -659,6 +659,20 @@ static void wsrep_assert_no_bf_bf_wait(
if
(
UNIV_LIKELY
(
!
wsrep_thd_is_BF
(
lock_rec2
->
trx
->
mysql_thd
,
FALSE
)))
if
(
UNIV_LIKELY
(
!
wsrep_thd_is_BF
(
lock_rec2
->
trx
->
mysql_thd
,
FALSE
)))
return
;
return
;
/* if BF - BF order is honored, we can keep trx1 waiting for the lock */
if
(
wsrep_thd_order_before
(
trx1
->
mysql_thd
,
lock_rec2
->
trx
->
mysql_thd
))
return
;
/* avoiding BF-BF conflict assert, if victim is already aborting
or rolling back for replaying
*/
wsrep_thd_LOCK
(
lock_rec2
->
trx
->
mysql_thd
);
if
(
wsrep_thd_is_aborting
(
lock_rec2
->
trx
->
mysql_thd
))
{
wsrep_thd_UNLOCK
(
lock_rec2
->
trx
->
mysql_thd
);
return
;
}
wsrep_thd_UNLOCK
(
lock_rec2
->
trx
->
mysql_thd
);
mtr_t
mtr
;
mtr_t
mtr
;
if
(
lock_rec1
)
{
if
(
lock_rec1
)
{
...
@@ -1454,11 +1468,6 @@ lock_rec_create_low(
...
@@ -1454,11 +1468,6 @@ lock_rec_create_low(
trx_mutex_exit
(
c_lock
->
trx
);
trx_mutex_exit
(
c_lock
->
trx
);
if
(
UNIV_UNLIKELY
(
wsrep_debug
))
{
wsrep_report_bf_lock_wait
(
trx
->
mysql_thd
,
trx
->
id
);
wsrep_report_bf_lock_wait
(
c_lock
->
trx
->
mysql_thd
,
c_lock
->
trx
->
id
);
}
/* have to bail out here to avoid lock_set_lock... */
/* have to bail out here to avoid lock_set_lock... */
return
(
lock
);
return
(
lock
);
}
}
...
...
storage/innobase/log/log0recv.cc
View file @
a64cb6d2
...
@@ -2391,7 +2391,7 @@ void recv_apply_hashed_log_recs(bool last_batch)
...
@@ -2391,7 +2391,7 @@ void recv_apply_hashed_log_recs(bool last_batch)
/* Wait until all the pages have been processed */
/* Wait until all the pages have been processed */
while
(
recv_sys
.
n_addrs
!=
0
)
{
while
(
recv_sys
.
n_addrs
||
buf_get_n_pending_read_ios
()
)
{
const
bool
abort
=
recv_sys
.
found_corrupt_log
const
bool
abort
=
recv_sys
.
found_corrupt_log
||
recv_sys
.
found_corrupt_fs
;
||
recv_sys
.
found_corrupt_fs
;
...
...
storage/innobase/rem/rem0rec.cc
View file @
a64cb6d2
...
@@ -2761,8 +2761,23 @@ wsrep_rec_get_foreign_key(
...
@@ -2761,8 +2761,23 @@ wsrep_rec_get_foreign_key(
break
;
break
;
case
DATA_BLOB
:
case
DATA_BLOB
:
case
DATA_BINARY
:
case
DATA_BINARY
:
case
DATA_FIXBINARY
:
case
DATA_GEOMETRY
:
memcpy
(
buf
,
data
,
len
);
memcpy
(
buf
,
data
,
len
);
break
;
break
;
case
DATA_FLOAT
:
{
float
f
=
mach_float_read
(
data
);
memcpy
(
buf
,
&
f
,
sizeof
(
float
));
}
break
;
case
DATA_DOUBLE
:
{
double
d
=
mach_double_read
(
data
);
memcpy
(
buf
,
&
d
,
sizeof
(
double
));
}
break
;
default:
default:
break
;
break
;
}
}
...
...
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