You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-11-03 17:13:17 +03:00
chore(binaries): remove redundant reset_locks. Use mcs-shmem-locks instead.
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -80,7 +80,6 @@ versioning/BRM/controllernode
|
|||||||
versioning/BRM/copylocktest
|
versioning/BRM/copylocktest
|
||||||
versioning/BRM/dbrmctl
|
versioning/BRM/dbrmctl
|
||||||
versioning/BRM/load_brm
|
versioning/BRM/load_brm
|
||||||
versioning/BRM/reset_locks
|
|
||||||
versioning/BRM/rollback
|
versioning/BRM/rollback
|
||||||
versioning/BRM/save_brm
|
versioning/BRM/save_brm
|
||||||
versioning/BRM/tablelocktest
|
versioning/BRM/tablelocktest
|
||||||
|
|||||||
1
debian/mariadb-plugin-columnstore.install
vendored
1
debian/mariadb-plugin-columnstore.install
vendored
@@ -44,7 +44,6 @@ usr/bin/mcsSetConfig
|
|||||||
usr/bin/mycnfUpgrade
|
usr/bin/mycnfUpgrade
|
||||||
usr/bin/post-mysql-install
|
usr/bin/post-mysql-install
|
||||||
usr/bin/post-mysqld-install
|
usr/bin/post-mysqld-install
|
||||||
usr/bin/reset_locks
|
|
||||||
usr/bin/rollback
|
usr/bin/rollback
|
||||||
usr/bin/save_brm
|
usr/bin/save_brm
|
||||||
usr/bin/smcat
|
usr/bin/smcat
|
||||||
|
|||||||
@@ -59,13 +59,6 @@ columnstore_link(dbrmctl ${ENGINE_LDFLAGS} ${ENGINE_OAM_LIBS} ${ENGINE_EXEC_LIBS
|
|||||||
|
|
||||||
# ########## next target ###############
|
# ########## next target ###############
|
||||||
|
|
||||||
set(reset_locks_SRCS reset_locks.cpp)
|
|
||||||
|
|
||||||
columnstore_executable(reset_locks ${reset_locks_SRCS})
|
|
||||||
columnstore_link(reset_locks ${ENGINE_LDFLAGS} ${ENGINE_OAM_LIBS} ${ENGINE_EXEC_LIBS} ${NETSNMP_LIBRARIES})
|
|
||||||
|
|
||||||
# ########## next target ###############
|
|
||||||
|
|
||||||
set(rollback_SRCS rollback.cpp)
|
set(rollback_SRCS rollback.cpp)
|
||||||
|
|
||||||
columnstore_executable(rollback ${rollback_SRCS})
|
columnstore_executable(rollback ${rollback_SRCS})
|
||||||
|
|||||||
@@ -1,163 +0,0 @@
|
|||||||
/* Copyright (C) 2014 InfiniDB, Inc.
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or
|
|
||||||
modify it under the terms of the GNU General Public License
|
|
||||||
as published by the Free Software Foundation; version 2 of
|
|
||||||
the License.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
|
||||||
MA 02110-1301, USA. */
|
|
||||||
|
|
||||||
// $Id: reset_locks.cpp 1823 2013-01-21 14:13:09Z rdempsey $
|
|
||||||
//
|
|
||||||
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <iostream>
|
|
||||||
using namespace std;
|
|
||||||
|
|
||||||
#include "calpontsystemcatalog.h"
|
|
||||||
#include "sessionmanager.h"
|
|
||||||
#include "mastersegmenttable.h"
|
|
||||||
|
|
||||||
#include "rwlock.h"
|
|
||||||
using namespace rwlock;
|
|
||||||
|
|
||||||
#include "shmkeys.h"
|
|
||||||
|
|
||||||
using namespace BRM;
|
|
||||||
|
|
||||||
#define RESET(str, i) \
|
|
||||||
do \
|
|
||||||
{ \
|
|
||||||
cout << " - checking " << str << " semaphore" << endl; \
|
|
||||||
rwlock[i]->reset(); \
|
|
||||||
} while (0)
|
|
||||||
|
|
||||||
#define PRINT(str, i) \
|
|
||||||
do \
|
|
||||||
{ \
|
|
||||||
cout << " - checking " << str << " semaphore" << endl \
|
|
||||||
<< " - r: " << rwlock[i]->getReading() << " w: " << rwlock[i]->getWriting() \
|
|
||||||
<< " rwt: " << rwlock[i]->getReadersWaiting() << " wwt: " << rwlock[i]->getWritersWaiting() \
|
|
||||||
<< endl; \
|
|
||||||
} while (0)
|
|
||||||
|
|
||||||
namespace
|
|
||||||
{
|
|
||||||
bool vFlg;
|
|
||||||
bool nFlg;
|
|
||||||
bool sFlg;
|
|
||||||
|
|
||||||
void usage()
|
|
||||||
{
|
|
||||||
cout << "usage: reset_locks [-vnh]" << endl;
|
|
||||||
cout << " reset all ColumnStore shared memory locks" << endl;
|
|
||||||
cout << " -h display this help" << endl;
|
|
||||||
cout << " -v verbose output" << endl;
|
|
||||||
cout << " -s skip session mgr resets" << endl;
|
|
||||||
cout << " -n don't actually reset anything (implies -v)" << endl;
|
|
||||||
}
|
|
||||||
} // namespace
|
|
||||||
|
|
||||||
int main(int argc, char** argv)
|
|
||||||
{
|
|
||||||
|
|
||||||
BRM::DBRM dbrm;
|
|
||||||
|
|
||||||
int c;
|
|
||||||
opterr = 0;
|
|
||||||
vFlg = false;
|
|
||||||
nFlg = false;
|
|
||||||
sFlg = false;
|
|
||||||
|
|
||||||
while ((c = getopt(argc, argv, "vnh")) != EOF)
|
|
||||||
switch (c)
|
|
||||||
{
|
|
||||||
case 'v': vFlg = true; break;
|
|
||||||
|
|
||||||
case 'n': nFlg = true; break;
|
|
||||||
|
|
||||||
case 's': sFlg = true; break;
|
|
||||||
|
|
||||||
case 'h':
|
|
||||||
default:
|
|
||||||
usage();
|
|
||||||
return (c == 'h' ? 0 : 1);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (nFlg)
|
|
||||||
vFlg = true;
|
|
||||||
|
|
||||||
ShmKeys keys;
|
|
||||||
|
|
||||||
cerr << "(Exception msgs are probably OK)" << std::endl;
|
|
||||||
|
|
||||||
RWLock* rwlock[MasterSegmentTable::nTables];
|
|
||||||
int RWLockKeys[MasterSegmentTable::nTables];
|
|
||||||
int i;
|
|
||||||
|
|
||||||
if (MasterSegmentTable::nTables != 5)
|
|
||||||
{
|
|
||||||
cout << "There are more locks than reset_locks knows of. Time for an update." << endl;
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
RWLockKeys[0] = keys.KEYRANGE_EXTENTMAP_BASE;
|
|
||||||
RWLockKeys[1] = keys.KEYRANGE_EMFREELIST_BASE;
|
|
||||||
RWLockKeys[2] = keys.KEYRANGE_VBBM_BASE;
|
|
||||||
RWLockKeys[3] = keys.KEYRANGE_VSS_BASE;
|
|
||||||
RWLockKeys[4] = keys.KEYRANGE_CL_BASE;
|
|
||||||
|
|
||||||
for (i = 0; i < MasterSegmentTable::nTables; i++)
|
|
||||||
rwlock[i] = new RWLock(RWLockKeys[i]);
|
|
||||||
|
|
||||||
if (vFlg)
|
|
||||||
{
|
|
||||||
PRINT("Extent Map", 0);
|
|
||||||
PRINT("Extent Map free list", 1);
|
|
||||||
PRINT("VBBM", 2);
|
|
||||||
PRINT("VSS", 3);
|
|
||||||
PRINT("CL", 4);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!nFlg)
|
|
||||||
{
|
|
||||||
RESET("Extent Map", 0);
|
|
||||||
RESET("Extent Map free list", 1);
|
|
||||||
RESET("VBBM", 2);
|
|
||||||
RESET("VSS", 3);
|
|
||||||
RESET("CL", 4);
|
|
||||||
|
|
||||||
if (!sFlg)
|
|
||||||
{
|
|
||||||
if (dbrm.isDBRMReady())
|
|
||||||
{
|
|
||||||
cout << " - resetting SessionManager semaphore" << endl;
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
execplan::SessionManager sm;
|
|
||||||
sm.reset();
|
|
||||||
}
|
|
||||||
catch (std::exception& e)
|
|
||||||
{
|
|
||||||
std::cout << e.what() << std::endl;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i = 0; i < MasterSegmentTable::nTables; i++)
|
|
||||||
delete rwlock[i];
|
|
||||||
|
|
||||||
std::cout << "OK." << std::endl;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user