Loading ndb/src/kernel/blocks/backup/Backup.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -3774,7 +3774,7 @@ Backup::checkFile(Signal* signal, BackupFilePtr filePtr) req->userReference = reference(); req->varIndex = 0; req->offset = tmp - c_startOfPages; req->size = sz; // Avrunda uppot req->size = sz; // Round up sendSignal(NDBFS_REF, GSN_FSAPPENDREQ, signal, FsAppendReq::SignalLength, JBA); Loading ndb/src/kernel/blocks/dbdih/DbdihMain.cpp +9 −5 Original line number Diff line number Diff line Loading @@ -10976,7 +10976,11 @@ void Dbdih::initCommonData() cnoReplicas = 1; ndb_mgm_get_int_parameter(p, CFG_DB_NO_REPLICAS, &cnoReplicas); cnoReplicas = cnoReplicas > 4 ? 4 : cnoReplicas; if (cnoReplicas > 4) { progError(__LINE__, NDBD_EXIT_INVALID_CONFIG, "Only up to four replicas are supported. Check NoOfReplicas."); } cgcpDelay = 2000; ndb_mgm_get_int_parameter(p, CFG_DB_GCP_INTERVAL, &cgcpDelay); Loading Loading @@ -11568,14 +11572,14 @@ void Dbdih::execCHECKNODEGROUPSREQ(Signal* signal) break; case CheckNodeGroups::GetNodeGroupMembers: { ok = true; Uint32 ownNodeGoup = Uint32 ownNodeGroup = Sysfile::getNodeGroup(sd->nodeId, SYSFILE->nodeGroups); sd->output = ownNodeGoup; sd->output = ownNodeGroup; sd->mask.clear(); NodeGroupRecordPtr ngPtr; ngPtr.i = ownNodeGoup; ngPtr.i = ownNodeGroup; ptrAss(ngPtr, nodeGroupRecord); for (Uint32 j = 0; j < ngPtr.p->nodeCount; j++) { jam(); Loading @@ -11583,7 +11587,7 @@ void Dbdih::execCHECKNODEGROUPSREQ(Signal* signal) } #if 0 for (int i = 0; i < MAX_NDB_NODES; i++) { if (ownNodeGoup == if (ownNodeGroup == Sysfile::getNodeGroup(i, SYSFILE->nodeGroups)) { sd->mask.set(i); } Loading ndb/src/kernel/blocks/dblqh/DblqhMain.cpp +12 −18 Original line number Diff line number Diff line Loading @@ -18444,60 +18444,54 @@ void Dblqh::execCREATE_TRIG_REQ(Signal* signal) { jamEntry(); NodeId myNodeId = getOwnNodeId(); BlockReference tupref = calcTupBlockRef(myNodeId); sendSignal(tupref, GSN_CREATE_TRIG_REQ, signal, CreateTrigReq::SignalLength, JBB); sendSignal(DBTUP_REF, GSN_CREATE_TRIG_REQ, signal, CreateTrigReq::SignalLength, JBB); } void Dblqh::execCREATE_TRIG_CONF(Signal* signal) { jamEntry(); NodeId myNodeId = getOwnNodeId(); BlockReference dictref = calcDictBlockRef(myNodeId); sendSignal(dictref, GSN_CREATE_TRIG_CONF, signal, CreateTrigConf::SignalLength, JBB); sendSignal(DBDICT_REF, GSN_CREATE_TRIG_CONF, signal, CreateTrigConf::SignalLength, JBB); } void Dblqh::execCREATE_TRIG_REF(Signal* signal) { jamEntry(); NodeId myNodeId = getOwnNodeId(); BlockReference dictref = calcDictBlockRef(myNodeId); sendSignal(dictref, GSN_CREATE_TRIG_REF, signal, CreateTrigRef::SignalLength, JBB); sendSignal(DBDICT_REF, GSN_CREATE_TRIG_REF, signal, CreateTrigRef::SignalLength, JBB); } void Dblqh::execDROP_TRIG_REQ(Signal* signal) { jamEntry(); NodeId myNodeId = getOwnNodeId(); BlockReference tupref = calcTupBlockRef(myNodeId); sendSignal(tupref, GSN_DROP_TRIG_REQ, signal, DropTrigReq::SignalLength, JBB); sendSignal(DBTUP_REF, GSN_DROP_TRIG_REQ, signal, DropTrigReq::SignalLength, JBB); } void Dblqh::execDROP_TRIG_CONF(Signal* signal) { jamEntry(); NodeId myNodeId = getOwnNodeId(); BlockReference dictref = calcDictBlockRef(myNodeId); sendSignal(dictref, GSN_DROP_TRIG_CONF, signal, DropTrigConf::SignalLength, JBB); sendSignal(DBDICT_REF, GSN_DROP_TRIG_CONF, signal, DropTrigConf::SignalLength, JBB); } void Dblqh::execDROP_TRIG_REF(Signal* signal) { jamEntry(); NodeId myNodeId = getOwnNodeId(); BlockReference dictref = calcDictBlockRef(myNodeId); sendSignal(dictref, GSN_DROP_TRIG_REF, signal, DropTrigRef::SignalLength, JBB); sendSignal(DBDICT_REF, GSN_DROP_TRIG_REF, signal, DropTrigRef::SignalLength, JBB); } Uint32 Dblqh::calcPageCheckSum(LogPageRecordPtr logP){ ndb/tools/ndb_error_reporter 0 → 100755 +88 −0 Original line number Diff line number Diff line #!/usr/bin/perl -w use strict; if(@ARGV < 1) { print STDERR "Usage:\n"; print STDERR "\tndb_error_reporter config.ini [username] [--fs]\n\n"; print STDERR "\tusername is a user that you can use to ssh into\n"; print STDERR "\t all of your nodes with.\n\n"; print STDERR "\t--fs means include the filesystems in the report\n"; print STDERR "\t WARNING: This may require a lot of disk space.\n"; print STDERR "\t Only use this option when asked to.\n\n"; exit(1); } my $config_file= $ARGV[0]; my $config_get_fs= 0; my $config_username= ''; if(defined($ARGV[1])) { $config_get_fs= 1 if $ARGV[1] eq '--fs'; $config_username= $ARGV[1].'@' if $ARGV[1] ne '--fs'; $config_get_fs= (defined $ARGV[2] && $ARGV[2] eq '--fs')?1:$config_get_fs; } if(!stat($config_file)) { print STDERR "Cannot open configuration file.\n\n"; exit(1); } my @nodes= split ' ',`ndb_config --config-file=$ARGV[0] --nodes --query=id --type=ndbd`; push @nodes, split ' ',`ndb_config --config-file=$ARGV[0] --nodes --query=id --type=ndb_mgmd`; sub config { my $nodeid= shift; my $query= shift; my $res= `ndb_config --config-file=$ARGV[0] --id=$nodeid --query=$query`; chomp $res; $res; } my @t= localtime(); my $reportdir= sprintf('ndb_error_report_%u%02u%02u%02u%02u%02u', ($t[5]+1900),($t[4]+1),$t[3],$t[2],$t[1],$t[0]); if(stat($reportdir) || stat($reportdir.'tar.bz2')) { print STDERR "It looks like another ndb_error_report process is running.\n"; print STDERR "If that is not the case, remove the ndb_error_report directory"; print STDERR " and run ndb_error_report again.\n\n"; exit(1); } mkdir($reportdir); foreach my $node (@nodes) { print "\n\n Copying data from node $node". (($config_get_fs)?" with filesystem":""). "\n\n"; my $recurse= ($config_get_fs)?'-r ':''; system 'scp '.$recurse.$config_username.config($node,'host'). ':'.config($node,'datadir')."/ndb_".$node."* ". "$reportdir/\n"; } print "\n\n Copying configuration file...\n\n\t$config_file\n\n"; system "cp $config_file $reportdir/"; my $r = system 'bzip2 2>&1 > /dev/null < /dev/null'; my $outfile; if($r==0) { $outfile= "$reportdir.tar.bz2"; system "tar c $reportdir|bzip2 > $outfile"; } else { $outfile= "$reportdir.tar.gz"; system "tar c $reportdir|gzip > $outfile"; } system "rm -rf $reportdir"; print "\n\nPlease attach $outfile to your error report\n\n"; ndb/tools/ndb_size.pl +3 −3 Original line number Diff line number Diff line Loading @@ -146,9 +146,9 @@ foreach(@{$tables}) elsif($type =~ /varchar/ || $type =~ /varbinary/) { my $fixed= 1+$size; my @dynamic=$dbh->selectrow_array("select avg(length(" .$dbh->quote($name) .")) from `".$table.'`'); my @dynamic=$dbh->selectrow_array("select avg(length(`" .$name. ."`)) from `".$table.'`'); $dynamic[0]=0 if !$dynamic[0]; @realsize= ($fixed,$fixed,ceil($dynamic[0])); } Loading Loading
ndb/src/kernel/blocks/backup/Backup.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -3774,7 +3774,7 @@ Backup::checkFile(Signal* signal, BackupFilePtr filePtr) req->userReference = reference(); req->varIndex = 0; req->offset = tmp - c_startOfPages; req->size = sz; // Avrunda uppot req->size = sz; // Round up sendSignal(NDBFS_REF, GSN_FSAPPENDREQ, signal, FsAppendReq::SignalLength, JBA); Loading
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp +9 −5 Original line number Diff line number Diff line Loading @@ -10976,7 +10976,11 @@ void Dbdih::initCommonData() cnoReplicas = 1; ndb_mgm_get_int_parameter(p, CFG_DB_NO_REPLICAS, &cnoReplicas); cnoReplicas = cnoReplicas > 4 ? 4 : cnoReplicas; if (cnoReplicas > 4) { progError(__LINE__, NDBD_EXIT_INVALID_CONFIG, "Only up to four replicas are supported. Check NoOfReplicas."); } cgcpDelay = 2000; ndb_mgm_get_int_parameter(p, CFG_DB_GCP_INTERVAL, &cgcpDelay); Loading Loading @@ -11568,14 +11572,14 @@ void Dbdih::execCHECKNODEGROUPSREQ(Signal* signal) break; case CheckNodeGroups::GetNodeGroupMembers: { ok = true; Uint32 ownNodeGoup = Uint32 ownNodeGroup = Sysfile::getNodeGroup(sd->nodeId, SYSFILE->nodeGroups); sd->output = ownNodeGoup; sd->output = ownNodeGroup; sd->mask.clear(); NodeGroupRecordPtr ngPtr; ngPtr.i = ownNodeGoup; ngPtr.i = ownNodeGroup; ptrAss(ngPtr, nodeGroupRecord); for (Uint32 j = 0; j < ngPtr.p->nodeCount; j++) { jam(); Loading @@ -11583,7 +11587,7 @@ void Dbdih::execCHECKNODEGROUPSREQ(Signal* signal) } #if 0 for (int i = 0; i < MAX_NDB_NODES; i++) { if (ownNodeGoup == if (ownNodeGroup == Sysfile::getNodeGroup(i, SYSFILE->nodeGroups)) { sd->mask.set(i); } Loading
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp +12 −18 Original line number Diff line number Diff line Loading @@ -18444,60 +18444,54 @@ void Dblqh::execCREATE_TRIG_REQ(Signal* signal) { jamEntry(); NodeId myNodeId = getOwnNodeId(); BlockReference tupref = calcTupBlockRef(myNodeId); sendSignal(tupref, GSN_CREATE_TRIG_REQ, signal, CreateTrigReq::SignalLength, JBB); sendSignal(DBTUP_REF, GSN_CREATE_TRIG_REQ, signal, CreateTrigReq::SignalLength, JBB); } void Dblqh::execCREATE_TRIG_CONF(Signal* signal) { jamEntry(); NodeId myNodeId = getOwnNodeId(); BlockReference dictref = calcDictBlockRef(myNodeId); sendSignal(dictref, GSN_CREATE_TRIG_CONF, signal, CreateTrigConf::SignalLength, JBB); sendSignal(DBDICT_REF, GSN_CREATE_TRIG_CONF, signal, CreateTrigConf::SignalLength, JBB); } void Dblqh::execCREATE_TRIG_REF(Signal* signal) { jamEntry(); NodeId myNodeId = getOwnNodeId(); BlockReference dictref = calcDictBlockRef(myNodeId); sendSignal(dictref, GSN_CREATE_TRIG_REF, signal, CreateTrigRef::SignalLength, JBB); sendSignal(DBDICT_REF, GSN_CREATE_TRIG_REF, signal, CreateTrigRef::SignalLength, JBB); } void Dblqh::execDROP_TRIG_REQ(Signal* signal) { jamEntry(); NodeId myNodeId = getOwnNodeId(); BlockReference tupref = calcTupBlockRef(myNodeId); sendSignal(tupref, GSN_DROP_TRIG_REQ, signal, DropTrigReq::SignalLength, JBB); sendSignal(DBTUP_REF, GSN_DROP_TRIG_REQ, signal, DropTrigReq::SignalLength, JBB); } void Dblqh::execDROP_TRIG_CONF(Signal* signal) { jamEntry(); NodeId myNodeId = getOwnNodeId(); BlockReference dictref = calcDictBlockRef(myNodeId); sendSignal(dictref, GSN_DROP_TRIG_CONF, signal, DropTrigConf::SignalLength, JBB); sendSignal(DBDICT_REF, GSN_DROP_TRIG_CONF, signal, DropTrigConf::SignalLength, JBB); } void Dblqh::execDROP_TRIG_REF(Signal* signal) { jamEntry(); NodeId myNodeId = getOwnNodeId(); BlockReference dictref = calcDictBlockRef(myNodeId); sendSignal(dictref, GSN_DROP_TRIG_REF, signal, DropTrigRef::SignalLength, JBB); sendSignal(DBDICT_REF, GSN_DROP_TRIG_REF, signal, DropTrigRef::SignalLength, JBB); } Uint32 Dblqh::calcPageCheckSum(LogPageRecordPtr logP){
ndb/tools/ndb_error_reporter 0 → 100755 +88 −0 Original line number Diff line number Diff line #!/usr/bin/perl -w use strict; if(@ARGV < 1) { print STDERR "Usage:\n"; print STDERR "\tndb_error_reporter config.ini [username] [--fs]\n\n"; print STDERR "\tusername is a user that you can use to ssh into\n"; print STDERR "\t all of your nodes with.\n\n"; print STDERR "\t--fs means include the filesystems in the report\n"; print STDERR "\t WARNING: This may require a lot of disk space.\n"; print STDERR "\t Only use this option when asked to.\n\n"; exit(1); } my $config_file= $ARGV[0]; my $config_get_fs= 0; my $config_username= ''; if(defined($ARGV[1])) { $config_get_fs= 1 if $ARGV[1] eq '--fs'; $config_username= $ARGV[1].'@' if $ARGV[1] ne '--fs'; $config_get_fs= (defined $ARGV[2] && $ARGV[2] eq '--fs')?1:$config_get_fs; } if(!stat($config_file)) { print STDERR "Cannot open configuration file.\n\n"; exit(1); } my @nodes= split ' ',`ndb_config --config-file=$ARGV[0] --nodes --query=id --type=ndbd`; push @nodes, split ' ',`ndb_config --config-file=$ARGV[0] --nodes --query=id --type=ndb_mgmd`; sub config { my $nodeid= shift; my $query= shift; my $res= `ndb_config --config-file=$ARGV[0] --id=$nodeid --query=$query`; chomp $res; $res; } my @t= localtime(); my $reportdir= sprintf('ndb_error_report_%u%02u%02u%02u%02u%02u', ($t[5]+1900),($t[4]+1),$t[3],$t[2],$t[1],$t[0]); if(stat($reportdir) || stat($reportdir.'tar.bz2')) { print STDERR "It looks like another ndb_error_report process is running.\n"; print STDERR "If that is not the case, remove the ndb_error_report directory"; print STDERR " and run ndb_error_report again.\n\n"; exit(1); } mkdir($reportdir); foreach my $node (@nodes) { print "\n\n Copying data from node $node". (($config_get_fs)?" with filesystem":""). "\n\n"; my $recurse= ($config_get_fs)?'-r ':''; system 'scp '.$recurse.$config_username.config($node,'host'). ':'.config($node,'datadir')."/ndb_".$node."* ". "$reportdir/\n"; } print "\n\n Copying configuration file...\n\n\t$config_file\n\n"; system "cp $config_file $reportdir/"; my $r = system 'bzip2 2>&1 > /dev/null < /dev/null'; my $outfile; if($r==0) { $outfile= "$reportdir.tar.bz2"; system "tar c $reportdir|bzip2 > $outfile"; } else { $outfile= "$reportdir.tar.gz"; system "tar c $reportdir|gzip > $outfile"; } system "rm -rf $reportdir"; print "\n\nPlease attach $outfile to your error report\n\n";
ndb/tools/ndb_size.pl +3 −3 Original line number Diff line number Diff line Loading @@ -146,9 +146,9 @@ foreach(@{$tables}) elsif($type =~ /varchar/ || $type =~ /varbinary/) { my $fixed= 1+$size; my @dynamic=$dbh->selectrow_array("select avg(length(" .$dbh->quote($name) .")) from `".$table.'`'); my @dynamic=$dbh->selectrow_array("select avg(length(`" .$name. ."`)) from `".$table.'`'); $dynamic[0]=0 if !$dynamic[0]; @realsize= ($fixed,$fixed,ceil($dynamic[0])); } Loading