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
5c243d4c
Commit
5c243d4c
authored
Jan 22, 2024
by
Marko Mäkelä
Browse files
Options
Browse Files
Download
Plain Diff
Merge 10.5 into 10.6
parents
e2379259
7573fe8b
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
17 additions
and
3 deletions
+17
-3
mysql-test/suite/innodb/t/doublewrite.test
mysql-test/suite/innodb/t/doublewrite.test
+3
-0
scripts/mysql_install_db.sh
scripts/mysql_install_db.sh
+1
-1
storage/innobase/log/log0recv.cc
storage/innobase/log/log0recv.cc
+13
-2
No files found.
mysql-test/suite/innodb/t/doublewrite.test
View file @
5c243d4c
...
@@ -39,6 +39,9 @@ commit work;
...
@@ -39,6 +39,9 @@ commit work;
SET
GLOBAL
innodb_fast_shutdown
=
0
;
SET
GLOBAL
innodb_fast_shutdown
=
0
;
let
$shutdown_timeout
=
;
let
$shutdown_timeout
=
;
--
source
include
/
restart_mysqld
.
inc
--
source
include
/
restart_mysqld
.
inc
# Ensure that buf_flush_page_cleaner() has woken up from its
# first my_cond_timedwait() and gone idle.
sleep
1
;
--
source
../
include
/
no_checkpoint_start
.
inc
--
source
../
include
/
no_checkpoint_start
.
inc
connect
(
dml
,
localhost
,
root
,,);
connect
(
dml
,
localhost
,
root
,,);
XA
START
'x'
;
XA
START
'x'
;
...
...
scripts/mysql_install_db.sh
View file @
5c243d4c
...
@@ -658,7 +658,7 @@ then
...
@@ -658,7 +658,7 @@ then
then
then
echo
echo
echo
"You can start the MariaDB daemon with:"
echo
"You can start the MariaDB daemon with:"
echo
"cd '
$basedir
' ;
$bindir
/mariadb-safe --datadir='
$ldata
'"
echo
"cd '
$basedir
' ;
$bindir
/mariadb
d
-safe --datadir='
$ldata
'"
echo
echo
echo
"You can test the MariaDB daemon with mysql-test-run.pl"
echo
"You can test the MariaDB daemon with mysql-test-run.pl"
echo
"cd '
$basedir
/@INSTALL_MYSQLTESTDIR@' ; perl mariadb-test-run.pl"
echo
"cd '
$basedir
/@INSTALL_MYSQLTESTDIR@' ; perl mariadb-test-run.pl"
...
...
storage/innobase/log/log0recv.cc
View file @
5c243d4c
...
@@ -4875,16 +4875,20 @@ uint32_t recv_dblwr_t::find_first_page(const char *name, pfs_os_file_t file)
...
@@ -4875,16 +4875,20 @@ uint32_t recv_dblwr_t::find_first_page(const char *name, pfs_os_file_t file)
for
(
const
page_t
*
page
:
pages
)
for
(
const
page_t
*
page
:
pages
)
{
{
uint32_t
space_id
=
page_get_space_id
(
page
);
uint32_t
space_id
=
page_get_space_id
(
page
);
byte
*
read_page
=
nullptr
;
if
(
page_get_page_no
(
page
)
>
0
||
space_id
==
0
)
if
(
page_get_page_no
(
page
)
>
0
||
space_id
==
0
)
{
next_page:
next_page:
aligned_free
(
read_page
);
continue
;
continue
;
}
uint32_t
flags
=
mach_read_from_4
(
uint32_t
flags
=
mach_read_from_4
(
FSP_HEADER_OFFSET
+
FSP_SPACE_FLAGS
+
page
);
FSP_HEADER_OFFSET
+
FSP_SPACE_FLAGS
+
page
);
page_id_t
page_id
(
space_id
,
0
);
page_id_t
page_id
(
space_id
,
0
);
size_t
page_size
=
fil_space_t
::
physical_size
(
flags
);
size_t
page_size
=
fil_space_t
::
physical_size
(
flags
);
if
(
file_size
<
4
*
page_size
)
if
(
file_size
<
4
*
page_size
)
goto
next_page
;
goto
next_page
;
byte
*
read_page
=
read_page
=
static_cast
<
byte
*>
(
aligned_malloc
(
3
*
page_size
,
page_size
));
static_cast
<
byte
*>
(
aligned_malloc
(
3
*
page_size
,
page_size
));
/* Read 3 pages from the file and match the space id
/* Read 3 pages from the file and match the space id
with the space id which is stored in
with the space id which is stored in
...
@@ -4896,7 +4900,10 @@ uint32_t recv_dblwr_t::find_first_page(const char *name, pfs_os_file_t file)
...
@@ -4896,7 +4900,10 @@ uint32_t recv_dblwr_t::find_first_page(const char *name, pfs_os_file_t file)
{
{
byte
*
cur_page
=
read_page
+
j
*
page_size
;
byte
*
cur_page
=
read_page
+
j
*
page_size
;
if
(
buf_is_zeroes
(
span
<
const
byte
>
(
cur_page
,
page_size
)))
if
(
buf_is_zeroes
(
span
<
const
byte
>
(
cur_page
,
page_size
)))
return
0
;
{
space_id
=
0
;
goto
early_exit
;
}
if
(
mach_read_from_4
(
cur_page
+
FIL_PAGE_OFFSET
)
!=
j
+
1
||
if
(
mach_read_from_4
(
cur_page
+
FIL_PAGE_OFFSET
)
!=
j
+
1
||
memcmp
(
cur_page
+
FIL_PAGE_SPACE_ID
,
memcmp
(
cur_page
+
FIL_PAGE_SPACE_ID
,
page
+
FIL_PAGE_SPACE_ID
,
4
)
||
page
+
FIL_PAGE_SPACE_ID
,
4
)
||
...
@@ -4904,7 +4911,11 @@ uint32_t recv_dblwr_t::find_first_page(const char *name, pfs_os_file_t file)
...
@@ -4904,7 +4911,11 @@ uint32_t recv_dblwr_t::find_first_page(const char *name, pfs_os_file_t file)
goto
next_page
;
goto
next_page
;
}
}
if
(
!
restore_first_page
(
space_id
,
name
,
file
))
if
(
!
restore_first_page
(
space_id
,
name
,
file
))
{
early_exit:
aligned_free
(
read_page
);
return
space_id
;
return
space_id
;
}
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