summaryrefslogtreecommitdiff
path: root/ndb/test/src/UtilTransactions.cpp
diff options
context:
space:
mode:
authorunknown <joreland@mysql.com>2004-10-13 12:34:36 +0200
committerunknown <joreland@mysql.com>2004-10-13 12:34:36 +0200
commit27ca2d660d6d36774671c2187de3de73e5969347 (patch)
tree7139ceb12f55b2e3898879a3b40705911b40d7ef /ndb/test/src/UtilTransactions.cpp
parent9acbb9c0f68c6d9e5d38ff6decfbce935bb79b9a (diff)
downloadmariadb-git-27ca2d660d6d36774671c2187de3de73e5969347.tar.gz
Handle temporary errors in clearTable
Diffstat (limited to 'ndb/test/src/UtilTransactions.cpp')
-rw-r--r--ndb/test/src/UtilTransactions.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/ndb/test/src/UtilTransactions.cpp b/ndb/test/src/UtilTransactions.cpp
index 52341c0e0e6..68fd5d3662d 100644
--- a/ndb/test/src/UtilTransactions.cpp
+++ b/ndb/test/src/UtilTransactions.cpp
@@ -383,11 +383,20 @@ UtilTransactions::clearTable3(Ndb* pNdb,
pOp = pTrans->getNdbScanOperation(tab.getName());
if (pOp == NULL) {
+ err = pTrans->getNdbError();
+ if(err.status == NdbError::TemporaryError){
+ ERR(err);
+ pNdb->closeTransaction(pTrans);
+ NdbSleep_MilliSleep(50);
+ par = 1;
+ goto restart;
+ }
goto failed;
}
NdbResultSet * rs = pOp->readTuplesExclusive(par);
if( rs == 0 ) {
+ err = pTrans->getNdbError();
goto failed;
}
@@ -647,8 +656,16 @@ UtilTransactions::scanReadRecords(Ndb* pNdb,
pOp = pTrans->getNdbScanOperation(tab.getName());
if (pOp == NULL) {
- ERR(pTrans->getNdbError());
+ const NdbError err = pNdb->getNdbError();
pNdb->closeTransaction(pTrans);
+
+ if (err.status == NdbError::TemporaryError){
+ ERR(err);
+ NdbSleep_MilliSleep(50);
+ retryAttempt++;
+ continue;
+ }
+ ERR(err);
return NDBT_FAILED;
}