Merge branch 'fix/long_query' of https://github.com/taosdata/TDengine into fix/long_query
This commit is contained in:
commit
bb2ed08afc
|
@ -208,13 +208,21 @@ static int32_t tsdbCacheQueryReseek(void* pQHandle) {
|
|||
int32_t code = 0;
|
||||
SCacheRowsReader* pReader = pQHandle;
|
||||
|
||||
taosThreadMutexLock(&pReader->readerMutex);
|
||||
code = taosThreadMutexTryLock(&pReader->readerMutex);
|
||||
if (code == 0) {
|
||||
// pause current reader's state if not paused, save ts & version for resuming
|
||||
// just wait for the big all tables' snapshot untaking for now
|
||||
|
||||
// pause current reader's state if not paused, save ts & version for resuming
|
||||
// just wait for the big all tables' snapshot untaking for now
|
||||
code = TSDB_CODE_VND_QUERY_BUSY;
|
||||
|
||||
taosThreadMutexUnlock(&pReader->readerMutex);
|
||||
return code;
|
||||
taosThreadMutexUnlock(&pReader->readerMutex);
|
||||
|
||||
return code;
|
||||
} else if (code == EBUSY) {
|
||||
return TSDB_CODE_VND_QUERY_BUSY;
|
||||
} else {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
int32_t tsdbRetrieveCacheRows(void* pReader, SSDataBlock* pResBlock, const int32_t* slotIds, SArray* pTableUidList) {
|
||||
|
|
|
@ -4068,18 +4068,23 @@ static int32_t tsdbSetQueryReseek(void* pQHandle) {
|
|||
int32_t code = 0;
|
||||
STsdbReader* pReader = pQHandle;
|
||||
|
||||
taosThreadMutexLock(&pReader->readerMutex);
|
||||
code = taosThreadMutexTryLock(&pReader->readerMutex);
|
||||
if (code == 0) {
|
||||
if (pReader->suspended) {
|
||||
taosThreadMutexUnlock(&pReader->readerMutex);
|
||||
return code;
|
||||
}
|
||||
|
||||
tsdbReaderSuspend(pReader);
|
||||
|
||||
if (pReader->suspended) {
|
||||
taosThreadMutexUnlock(&pReader->readerMutex);
|
||||
|
||||
return code;
|
||||
} else if (code == EBUSY) {
|
||||
return TSDB_CODE_VND_QUERY_BUSY;
|
||||
} else {
|
||||
return -1;
|
||||
}
|
||||
|
||||
tsdbReaderSuspend(pReader);
|
||||
|
||||
taosThreadMutexUnlock(&pReader->readerMutex);
|
||||
|
||||
return code;
|
||||
}
|
||||
|
||||
int32_t tsdbReaderResume(STsdbReader* pReader) {
|
||||
|
|
Loading…
Reference in New Issue