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
942015f4
Commit
942015f4
authored
Mar 09, 2006
by
jonas@perch.ndb.mysql.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ndb dd - fix bug with many logfile groups and sync_lsn
parent
ecaf439e
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
21 additions
and
17 deletions
+21
-17
storage/ndb/src/kernel/blocks/lgman.cpp
storage/ndb/src/kernel/blocks/lgman.cpp
+4
-2
storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp
storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp
+17
-15
No files found.
storage/ndb/src/kernel/blocks/lgman.cpp
View file @
942015f4
...
...
@@ -1035,14 +1035,16 @@ int
Logfile_client
::
sync_lsn
(
Signal
*
signal
,
Uint64
lsn
,
Request
*
req
,
Uint32
flags
)
{
Lgman
::
Logfile_group
key
;
key
.
m_logfile_group_id
=
m_logfile_group_id
;
Ptr
<
Lgman
::
Logfile_group
>
ptr
;
if
(
m_lgman
->
m_logfile_group_
list
.
first
(
ptr
))
if
(
m_lgman
->
m_logfile_group_
hash
.
find
(
ptr
,
key
))
{
if
(
ptr
.
p
->
m_last_synced_lsn
>=
lsn
)
{
return
1
;
}
bool
empty
=
false
;
Ptr
<
Lgman
::
Log_waiter
>
wait
;
{
...
...
storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp
View file @
942015f4
...
...
@@ -47,6 +47,8 @@
#define DEBUG_PRINT 0
#define INCOMPATIBLE_VERSION -2
#define DICT_WAITFOR_TIMEOUT (7*24*60*60*1000)
extern
Uint64
g_latest_trans_gci
;
bool
...
...
@@ -1807,7 +1809,7 @@ NdbDictInterface::getTable(class NdbApiSignal * signal,
int
r
=
dictSignal
(
signal
,
ptr
,
noOfSections
,
-
1
,
// any node
WAIT_GET_TAB_INFO_REQ
,
WAITFOR_RESPONSE
_TIMEOUT
,
100
,
errCodes
);
DICT_WAITFOR
_TIMEOUT
,
100
,
errCodes
);
if
(
r
)
return
0
;
...
...
@@ -2640,7 +2642,7 @@ loop:
ret
=
dictSignal
(
&
tSignal
,
ptr
,
1
,
0
,
// master
WAIT_ALTER_TAB_REQ
,
WAITFOR_RESPONSE
_TIMEOUT
,
100
,
DICT_WAITFOR
_TIMEOUT
,
100
,
errCodes
);
if
(
m_error
.
code
==
AlterTableRef
::
InvalidTableVersion
)
{
...
...
@@ -2658,7 +2660,7 @@ loop:
ret
=
dictSignal
(
&
tSignal
,
ptr
,
1
,
0
,
// master node
WAIT_CREATE_INDX_REQ
,
WAITFOR_RESPONSE
_TIMEOUT
,
100
,
DICT_WAITFOR
_TIMEOUT
,
100
,
errCodes
);
}
...
...
@@ -2832,7 +2834,7 @@ NdbDictInterface::dropTable(const NdbTableImpl & impl)
int
r
=
dictSignal
(
&
tSignal
,
0
,
0
,
0
,
// master
WAIT_DROP_TAB_REQ
,
WAITFOR_RESPONSE
_TIMEOUT
,
100
,
DICT_WAITFOR
_TIMEOUT
,
100
,
errCodes
);
if
(
m_error
.
code
==
DropTableRef
::
InvalidTableVersion
)
{
// Clear caches and try again
...
...
@@ -3086,7 +3088,7 @@ NdbDictInterface::createIndex(Ndb & ndb,
return
dictSignal
(
&
tSignal
,
ptr
,
2
,
0
,
// master
WAIT_CREATE_INDX_REQ
,
WAITFOR_RESPONSE
_TIMEOUT
,
100
,
DICT_WAITFOR
_TIMEOUT
,
100
,
errCodes
);
}
...
...
@@ -3199,7 +3201,7 @@ NdbDictInterface::dropIndex(const NdbIndexImpl & impl,
int
r
=
dictSignal
(
&
tSignal
,
0
,
0
,
0
,
// master
WAIT_DROP_INDX_REQ
,
WAITFOR_RESPONSE
_TIMEOUT
,
100
,
DICT_WAITFOR
_TIMEOUT
,
100
,
errCodes
);
if
(
m_error
.
code
==
DropIndxRef
::
InvalidIndexVersion
)
{
// Clear caches and try again
...
...
@@ -3418,7 +3420,7 @@ NdbDictInterface::createEvent(class Ndb & ndb,
int
ret
=
dictSignal
(
&
tSignal
,
ptr
,
1
,
0
,
// master
WAIT_CREATE_INDX_REQ
,
WAITFOR_RESPONSE
_TIMEOUT
,
100
,
DICT_WAITFOR
_TIMEOUT
,
100
,
0
,
-
1
);
if
(
ret
)
{
...
...
@@ -4035,7 +4037,7 @@ NdbDictInterface::listObjects(NdbApiSignal* signal)
continue
;
}
m_error
.
code
=
0
;
int
ret_val
=
poll_guard
.
wait_n_unlock
(
WAITFOR_RESPONSE
_TIMEOUT
,
int
ret_val
=
poll_guard
.
wait_n_unlock
(
DICT_WAITFOR
_TIMEOUT
,
aNodeId
,
WAIT_LIST_TABLES_CONF
);
// end protected
if
(
ret_val
==
0
&&
m_error
.
code
==
0
)
...
...
@@ -4095,7 +4097,7 @@ NdbDictInterface::forceGCPWait()
m_error
.
code
=
0
;
m_waiter
.
m_node
=
aNodeId
;
m_waiter
.
m_state
=
WAIT_LIST_TABLES_CONF
;
m_waiter
.
wait
(
WAITFOR_RESPONSE
_TIMEOUT
);
m_waiter
.
wait
(
DICT_WAITFOR
_TIMEOUT
);
m_transporter
->
unlock_mutex
();
return
0
;
}
...
...
@@ -4421,7 +4423,7 @@ NdbDictInterface::drop_file(const NdbFileImpl & file){
DBUG_RETURN
(
dictSignal
(
&
tSignal
,
0
,
0
,
0
,
// master
WAIT_CREATE_INDX_REQ
,
WAITFOR_RESPONSE
_TIMEOUT
,
100
,
DICT_WAITFOR
_TIMEOUT
,
100
,
err
));
}
...
...
@@ -4516,7 +4518,7 @@ NdbDictInterface::create_filegroup(const NdbFilegroupImpl & group){
DBUG_RETURN
(
dictSignal
(
&
tSignal
,
ptr
,
1
,
0
,
// master
WAIT_CREATE_INDX_REQ
,
WAITFOR_RESPONSE
_TIMEOUT
,
100
,
DICT_WAITFOR
_TIMEOUT
,
100
,
err
));
}
...
...
@@ -4556,7 +4558,7 @@ NdbDictInterface::drop_filegroup(const NdbFilegroupImpl & group){
DBUG_RETURN
(
dictSignal
(
&
tSignal
,
0
,
0
,
0
,
// master
WAIT_CREATE_INDX_REQ
,
WAITFOR_RESPONSE
_TIMEOUT
,
100
,
DICT_WAITFOR
_TIMEOUT
,
100
,
err
));
}
...
...
@@ -4605,7 +4607,7 @@ NdbDictInterface::get_filegroup(NdbFilegroupImpl & dst,
int
r
=
dictSignal
(
&
tSignal
,
ptr
,
1
,
-
1
,
// any node
WAIT_GET_TAB_INFO_REQ
,
WAITFOR_RESPONSE
_TIMEOUT
,
100
);
DICT_WAITFOR
_TIMEOUT
,
100
);
if
(
r
)
{
DBUG_PRINT
(
"info"
,
(
"get_filegroup failed dictSignal"
));
...
...
@@ -4694,7 +4696,7 @@ NdbDictInterface::get_filegroup(NdbFilegroupImpl & dst,
int
r
=
dictSignal
(
&
tSignal
,
NULL
,
1
,
-
1
,
// any node
WAIT_GET_TAB_INFO_REQ
,
WAITFOR_RESPONSE
_TIMEOUT
,
100
);
DICT_WAITFOR
_TIMEOUT
,
100
);
if
(
r
)
{
DBUG_PRINT
(
"info"
,
(
"get_filegroup failed dictSignal"
));
...
...
@@ -4747,7 +4749,7 @@ NdbDictInterface::get_file(NdbFileImpl & dst,
int
r
=
dictSignal
(
&
tSignal
,
ptr
,
1
,
node
,
WAIT_GET_TAB_INFO_REQ
,
WAITFOR_RESPONSE
_TIMEOUT
,
100
);
DICT_WAITFOR
_TIMEOUT
,
100
);
if
(
r
)
{
DBUG_PRINT
(
"info"
,
(
"get_file failed dictSignal"
));
...
...
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