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
94bd61e2
Commit
94bd61e2
authored
Jul 05, 2006
by
knielsen@devsrv-b.mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge bk-internal:/home/bk/mysql-5.1
into mysql.com:/data0/knielsen/tmp-5.1
parents
b1c686cc
0a75f5fe
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
85 additions
and
4 deletions
+85
-4
mysql-test/t/ndb_blob_partition.test
mysql-test/t/ndb_blob_partition.test
+4
-0
mysql-test/t/ndb_dd_backuprestore.test
mysql-test/t/ndb_dd_backuprestore.test
+4
-0
mysql-test/t/ndb_partition_error.test
mysql-test/t/ndb_partition_error.test
+3
-0
mysql-test/t/ndb_partition_list.test
mysql-test/t/ndb_partition_list.test
+4
-0
mysql-test/t/ndb_partition_range.test
mysql-test/t/ndb_partition_range.test
+4
-0
sql/ha_ndbcluster.cc
sql/ha_ndbcluster.cc
+1
-3
storage/ndb/include/ndbapi/Ndb.hpp
storage/ndb/include/ndbapi/Ndb.hpp
+1
-0
storage/ndb/src/kernel/blocks/suma/Suma.cpp
storage/ndb/src/kernel/blocks/suma/Suma.cpp
+2
-1
storage/ndb/src/ndbapi/ClusterMgr.cpp
storage/ndb/src/ndbapi/ClusterMgr.cpp
+3
-0
storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp
storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp
+40
-0
storage/ndb/src/ndbapi/NdbEventOperationImpl.hpp
storage/ndb/src/ndbapi/NdbEventOperationImpl.hpp
+1
-0
storage/ndb/src/ndbapi/Ndbif.cpp
storage/ndb/src/ndbapi/Ndbif.cpp
+15
-0
storage/ndb/src/ndbapi/TransporterFacade.cpp
storage/ndb/src/ndbapi/TransporterFacade.cpp
+3
-0
No files found.
mysql-test/t/ndb_blob_partition.test
View file @
94bd61e2
--
source
include
/
have_ndb
.
inc
--
source
include
/
not_embedded
.
inc
--
disable_query_log
set
new
=
on
;
--
enable_query_log
--
disable_warnings
drop
table
if
exists
t1
;
--
enable_warnings
...
...
mysql-test/t/ndb_dd_backuprestore.test
View file @
94bd61e2
...
...
@@ -6,6 +6,10 @@
--
source
include
/
have_ndb
.
inc
--
disable_query_log
set
new
=
on
;
--
enable_query_log
--
disable_warnings
DROP
TABLE
IF
EXISTS
test
.
t1
;
DROP
TABLE
IF
EXISTS
test
.
t2
;
...
...
mysql-test/t/ndb_partition_error.test
View file @
94bd61e2
...
...
@@ -10,6 +10,9 @@
drop
table
if
exists
t1
;
--
enable_warnings
--
disable_query_log
set
new
=
on
;
--
enable_query_log
#
# Partition by range, generate node group error
#
...
...
mysql-test/t/ndb_partition_list.test
View file @
94bd61e2
...
...
@@ -5,6 +5,10 @@
#
#-- source include/have_partition.inc
--
disable_query_log
set
new
=
on
;
--
enable_query_log
--
disable_warnings
drop
table
if
exists
t1
;
--
enable_warnings
...
...
mysql-test/t/ndb_partition_range.test
View file @
94bd61e2
...
...
@@ -6,6 +6,10 @@
#
#-- source include/have_partition.inc
--
disable_query_log
set
new
=
on
;
--
enable_query_log
--
disable_warnings
drop
table
if
exists
t1
;
--
enable_warnings
...
...
sql/ha_ndbcluster.cc
View file @
94bd61e2
...
...
@@ -9869,7 +9869,6 @@ uint ha_ndbcluster::set_up_partition_info(partition_info *part_info,
}
else
{
#ifdef NOT_YET
if
(
!
current_thd
->
variables
.
new_mode
)
{
push_warning_printf
(
current_thd
,
MYSQL_ERROR
::
WARN_LEVEL_ERROR
,
...
...
@@ -9878,9 +9877,8 @@ uint ha_ndbcluster::set_up_partition_info(partition_info *part_info,
ndbcluster_hton_name
,
"LIST, RANGE and HASH partition disabled by default,"
" use --new option to enable"
);
return
HA_ERR_UNSUPPORTED
;
DBUG_RETURN
(
HA_ERR_UNSUPPORTED
)
;
}
#endif
/*
Create a shadow field for those tables that have user defined
partitioning. This field stores the value of the partition
...
...
storage/ndb/include/ndbapi/Ndb.hpp
View file @
94bd61e2
...
...
@@ -1553,6 +1553,7 @@ private:
const
char
*
aCatalogName
,
const
char
*
aSchemaName
);
void
connected
(
Uint32
block_reference
);
void
report_node_connected
(
Uint32
nodeId
);
NdbTransaction
*
startTransactionLocal
(
Uint32
aPrio
,
Uint32
aFragmentId
);
...
...
storage/ndb/src/kernel/blocks/suma/Suma.cpp
View file @
94bd61e2
...
...
@@ -2667,7 +2667,8 @@ Suma::reportAllSubscribers(Signal *signal,
{
SubTableData
*
data
=
(
SubTableData
*
)
signal
->
getDataPtrSend
();
if
(
table_event
==
NdbDictionary
::
Event
::
_TE_SUBSCRIBE
)
if
(
table_event
==
NdbDictionary
::
Event
::
_TE_SUBSCRIBE
&&
!
c_startup
.
m_restart_server_node_id
)
{
data
->
gci
=
m_last_complete_gci
+
1
;
data
->
tableId
=
subPtr
.
p
->
m_tableId
;
...
...
storage/ndb/src/ndbapi/ClusterMgr.cpp
View file @
94bd61e2
...
...
@@ -396,6 +396,8 @@ ClusterMgr::execNF_COMPLETEREP(const Uint32 * theData){
void
ClusterMgr
::
reportConnected
(
NodeId
nodeId
){
DBUG_ENTER
(
"ClusterMgr::reportConnected"
);
DBUG_PRINT
(
"info"
,
(
"nodeId: %u"
,
nodeId
));
/**
* Ensure that we are sending heartbeat every 100 ms
* until we have got the first reply from NDB providing
...
...
@@ -421,6 +423,7 @@ ClusterMgr::reportConnected(NodeId nodeId){
theNode
.
nfCompleteRep
=
true
;
theFacade
.
ReportNodeAlive
(
nodeId
);
DBUG_VOID_RETURN
;
}
void
...
...
storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp
View file @
94bd61e2
...
...
@@ -1521,6 +1521,46 @@ NdbEventBuffer::complete_outof_order_gcis()
ndbout_c
(
"complete_outof_order_gcis: m_latestGCI: %lld"
,
m_latestGCI
);
}
void
NdbEventBuffer
::
report_node_connected
(
Uint32
node_id
)
{
NdbEventOperation
*
op
=
m_ndb
->
getEventOperation
(
0
);
if
(
op
==
0
)
return
;
DBUG_ENTER
(
"NdbEventBuffer::report_node_connected"
);
SubTableData
data
;
LinearSectionPtr
ptr
[
3
];
bzero
(
&
data
,
sizeof
(
data
));
bzero
(
ptr
,
sizeof
(
ptr
));
data
.
tableId
=
~
0
;
data
.
operation
=
NdbDictionary
::
Event
::
_TE_ACTIVE
;
data
.
req_nodeid
=
(
Uint8
)
node_id
;
data
.
ndbd_nodeid
=
(
Uint8
)
node_id
;
data
.
logType
=
SubTableData
::
LOG
;
data
.
gci
=
m_latestGCI
+
1
;
/**
* Insert this event for each operation
*/
{
// no need to lock()/unlock(), receive thread calls this
NdbEventOperationImpl
*
impl
=
&
op
->
m_impl
;
do
if
(
!
impl
->
m_node_bit_mask
.
isclear
())
{
data
.
senderData
=
impl
->
m_oid
;
insertDataL
(
impl
,
&
data
,
ptr
);
}
while
((
impl
=
impl
->
m_next
));
for
(
impl
=
m_dropped_ev_op
;
impl
;
impl
=
impl
->
m_next
)
if
(
!
impl
->
m_node_bit_mask
.
isclear
())
{
data
.
senderData
=
impl
->
m_oid
;
insertDataL
(
impl
,
&
data
,
ptr
);
}
}
DBUG_VOID_RETURN
;
}
void
NdbEventBuffer
::
report_node_failure
(
Uint32
node_id
)
{
...
...
storage/ndb/src/ndbapi/NdbEventOperationImpl.hpp
View file @
94bd61e2
...
...
@@ -422,6 +422,7 @@ public:
void
execSUB_GCP_COMPLETE_REP
(
const
SubGcpCompleteRep
*
const
rep
);
void
complete_outof_order_gcis
();
void
report_node_connected
(
Uint32
node_id
);
void
report_node_failure
(
Uint32
node_id
);
void
completeClusterFailed
();
...
...
storage/ndb/src/ndbapi/Ndbif.cpp
View file @
94bd61e2
...
...
@@ -177,6 +177,7 @@ Ndb::executeMessage(void* NdbObject,
void
Ndb
::
connected
(
Uint32
ref
)
{
// cluster connect, a_node == own reference
theMyRef
=
ref
;
Uint32
tmpTheNode
=
refToNode
(
ref
);
Uint64
tBlockNo
=
refToBlock
(
ref
);
...
...
@@ -209,16 +210,30 @@ void Ndb::connected(Uint32 ref)
theNode
=
tmpTheNode
;
// flag that Ndb object is initialized
}
void
Ndb
::
report_node_connected
(
Uint32
nodeId
)
{
if
(
theEventBuffer
)
{
// node connected
// eventOperations in the ndb object should be notified
theEventBuffer
->
report_node_connected
(
nodeId
);
}
}
void
Ndb
::
statusMessage
(
void
*
NdbObject
,
Uint32
a_node
,
bool
alive
,
bool
nfComplete
)
{
DBUG_ENTER
(
"Ndb::statusMessage"
);
DBUG_PRINT
(
"info"
,
(
"a_node: %u alive: %u nfComplete: %u"
,
a_node
,
alive
,
nfComplete
));
Ndb
*
tNdb
=
(
Ndb
*
)
NdbObject
;
if
(
alive
)
{
if
(
nfComplete
)
{
// cluster connect, a_node == own reference
tNdb
->
connected
(
a_node
);
DBUG_VOID_RETURN
;
}
//if
tNdb
->
report_node_connected
(
a_node
);
}
else
{
if
(
nfComplete
)
{
tNdb
->
report_node_failure_completed
(
a_node
);
...
...
storage/ndb/src/ndbapi/TransporterFacade.cpp
View file @
94bd61e2
...
...
@@ -794,6 +794,8 @@ TransporterFacade::connected()
void
TransporterFacade
::
ReportNodeDead
(
NodeId
tNodeId
)
{
DBUG_ENTER
(
"TransporterFacade::ReportNodeDead"
);
DBUG_PRINT
(
"enter"
,(
"nodeid= %d"
,
tNodeId
));
/**
* When a node fails we must report this to each Ndb object.
* The function that is used for communicating node failures is called.
...
...
@@ -810,6 +812,7 @@ TransporterFacade::ReportNodeDead(NodeId tNodeId)
(
*
RegPC
)
(
obj
,
tNodeId
,
false
,
false
);
}
}
DBUG_VOID_RETURN
;
}
void
...
...
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