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
03e297aa
Commit
03e297aa
authored
Aug 15, 2006
by
stewart@willster.(none)
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
BUG#20823 testBackup FailMaster failing
few cases not handled properly (NF occurs).
parent
76d4e65a
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
41 additions
and
23 deletions
+41
-23
ndb/src/kernel/blocks/backup/Backup.cpp
ndb/src/kernel/blocks/backup/Backup.cpp
+41
-23
No files found.
ndb/src/kernel/blocks/backup/Backup.cpp
View file @
03e297aa
...
...
@@ -274,36 +274,48 @@ Backup::execCONTINUEB(Signal* signal)
BackupRecordPtr
ptr
;
c_backupPool
.
getPtr
(
ptr
,
ptr_I
);
TablePtr
tabPtr
;
ptr
.
p
->
tables
.
getPtr
(
tabPtr
,
tabPtr_I
);
FragmentPtr
fragPtr
;
tabPtr
.
p
->
fragments
.
getPtr
(
fragPtr
,
fragPtr_I
);
BackupFilePtr
filePtr
;
ptr
.
p
->
files
.
getPtr
(
filePtr
,
ptr
.
p
->
ctlFilePtr
);
const
Uint32
sz
=
sizeof
(
BackupFormat
::
CtlFile
::
FragmentInfo
)
>>
2
;
Uint32
*
dst
;
if
(
!
filePtr
.
p
->
operation
.
dataBuffer
.
getWritePtr
(
&
dst
,
sz
))
if
(
tabPtr_I
==
RNIL
)
{
sendSignalWithDelay
(
BACKUP_REF
,
GSN_CONTINUEB
,
signal
,
100
,
4
);
closeFiles
(
signal
,
ptr
);
return
;
}
jam
();
TablePtr
tabPtr
;
ptr
.
p
->
tables
.
getPtr
(
tabPtr
,
tabPtr_I
);
jam
();
if
(
tabPtr
.
p
->
fragments
.
getSize
())
{
FragmentPtr
fragPtr
;
tabPtr
.
p
->
fragments
.
getPtr
(
fragPtr
,
fragPtr_I
);
BackupFormat
::
CtlFile
::
FragmentInfo
*
fragInfo
=
(
BackupFormat
::
CtlFile
::
FragmentInfo
*
)
dst
;
fragInfo
->
SectionType
=
htonl
(
BackupFormat
::
FRAGMENT_INFO
);
fragInfo
->
SectionLength
=
htonl
(
sz
);
fragInfo
->
TableId
=
htonl
(
fragPtr
.
p
->
tableId
);
fragInfo
->
FragmentNo
=
htonl
(
fragPtr_I
);
fragInfo
->
NoOfRecordsLow
=
htonl
(
fragPtr
.
p
->
noOfRecords
&
0xFFFFFFFF
);
fragInfo
->
NoOfRecordsHigh
=
htonl
(
fragPtr
.
p
->
noOfRecords
>>
32
);
fragInfo
->
FilePosLow
=
htonl
(
0
&
0xFFFFFFFF
);
fragInfo
->
FilePosHigh
=
htonl
(
0
>>
32
);
BackupFilePtr
filePtr
;
ptr
.
p
->
files
.
getPtr
(
filePtr
,
ptr
.
p
->
ctlFilePtr
);
filePtr
.
p
->
operation
.
dataBuffer
.
updateWritePtr
(
sz
);
const
Uint32
sz
=
sizeof
(
BackupFormat
::
CtlFile
::
FragmentInfo
)
>>
2
;
Uint32
*
dst
;
if
(
!
filePtr
.
p
->
operation
.
dataBuffer
.
getWritePtr
(
&
dst
,
sz
))
{
sendSignalWithDelay
(
BACKUP_REF
,
GSN_CONTINUEB
,
signal
,
100
,
4
);
return
;
}
BackupFormat
::
CtlFile
::
FragmentInfo
*
fragInfo
=
(
BackupFormat
::
CtlFile
::
FragmentInfo
*
)
dst
;
fragInfo
->
SectionType
=
htonl
(
BackupFormat
::
FRAGMENT_INFO
);
fragInfo
->
SectionLength
=
htonl
(
sz
);
fragInfo
->
TableId
=
htonl
(
fragPtr
.
p
->
tableId
);
fragInfo
->
FragmentNo
=
htonl
(
fragPtr_I
);
fragInfo
->
NoOfRecordsLow
=
htonl
(
fragPtr
.
p
->
noOfRecords
&
0xFFFFFFFF
);
fragInfo
->
NoOfRecordsHigh
=
htonl
(
fragPtr
.
p
->
noOfRecords
>>
32
);
fragInfo
->
FilePosLow
=
htonl
(
0
&
0xFFFFFFFF
);
fragInfo
->
FilePosHigh
=
htonl
(
0
>>
32
);
filePtr
.
p
->
operation
.
dataBuffer
.
updateWritePtr
(
sz
);
fragPtr_I
++
;
}
fragPtr_I
++
;
if
(
fragPtr_I
==
tabPtr
.
p
->
fragments
.
getSize
())
{
signal
->
theData
[
0
]
=
tabPtr
.
p
->
tableId
;
...
...
@@ -4243,6 +4255,12 @@ Backup::execSTOP_BACKUP_REQ(Signal* signal)
TablePtr
tabPtr
;
ptr
.
p
->
tables
.
first
(
tabPtr
);
if
(
tabPtr
.
i
==
RNIL
)
{
closeFiles
(
signal
,
ptr
);
return
;
}
signal
->
theData
[
0
]
=
BackupContinueB
::
BACKUP_FRAGMENT_INFO
;
signal
->
theData
[
1
]
=
ptr
.
i
;
signal
->
theData
[
2
]
=
tabPtr
.
i
;
...
...
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