Merge branch 'COLLAB_RELEASE_6_4' into keydbpro_collab
Former-commit-id: 3d43e7a022250273ee5cfb5755ed1d6ca42b9889
This commit is contained in:
commit
2d0f54eb8f
@ -2547,7 +2547,7 @@ void parseClientCommandBuffer(client *c) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Prefetch outside the lock for better perf */
|
/* Prefetch outside the lock for better perf */
|
||||||
if (g_pserver->prefetch_enabled && cserver.cthreads > 1 && cqueriesStart < c->vecqueuedcmd.size() &&
|
if (g_pserver->prefetch_enabled && (cserver.cthreads > 1 || g_pserver->m_pstorageFactory) && cqueriesStart < c->vecqueuedcmd.size() &&
|
||||||
(g_pserver->m_pstorageFactory || aeLockContested(cserver.cthreads/2) || cserver.cthreads == 1) && !GlobalLocksAcquired()) {
|
(g_pserver->m_pstorageFactory || aeLockContested(cserver.cthreads/2) || cserver.cthreads == 1) && !GlobalLocksAcquired()) {
|
||||||
auto &query = c->vecqueuedcmd.back();
|
auto &query = c->vecqueuedcmd.back();
|
||||||
if (query.argc > 0 && query.argc == query.argcMax) {
|
if (query.argc > 0 && query.argc == query.argcMax) {
|
||||||
@ -2694,7 +2694,7 @@ void readQueryFromClient(connection *conn) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cserver.cthreads > 1) {
|
if (cserver.cthreads > 1 || g_pserver->m_pstorageFactory) {
|
||||||
parseClientCommandBuffer(c);
|
parseClientCommandBuffer(c);
|
||||||
serverTL->vecclientsProcess.push_back(c);
|
serverTL->vecclientsProcess.push_back(c);
|
||||||
} else {
|
} else {
|
||||||
|
@ -2112,13 +2112,12 @@ void databasesCron(bool fMainThread) {
|
|||||||
if (g_pserver->activerehashing) {
|
if (g_pserver->activerehashing) {
|
||||||
for (j = 0; j < dbs_per_call; j++) {
|
for (j = 0; j < dbs_per_call; j++) {
|
||||||
if (serverTL->rehashCtl != nullptr) {
|
if (serverTL->rehashCtl != nullptr) {
|
||||||
if (dictRehashSomeAsync(serverTL->rehashCtl, 5)) {
|
if (dictRehashSomeAsync(serverTL->rehashCtl, rehashes_per_ms)) {
|
||||||
break;
|
break;
|
||||||
} else {
|
}
|
||||||
dictCompleteRehashAsync(serverTL->rehashCtl, true /*fFree*/);
|
dictCompleteRehashAsync(serverTL->rehashCtl, true /*fFree*/);
|
||||||
serverTL->rehashCtl = nullptr;
|
serverTL->rehashCtl = nullptr;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
serverAssert(serverTL->rehashCtl == nullptr);
|
serverAssert(serverTL->rehashCtl == nullptr);
|
||||||
::dict *dict = g_pserver->db[rehash_db]->dictUnsafeKeyOnly();
|
::dict *dict = g_pserver->db[rehash_db]->dictUnsafeKeyOnly();
|
||||||
@ -3794,8 +3793,6 @@ static void initServerThread(struct redisServerThreadVars *pvar, int fMain)
|
|||||||
pvar->in_eval = 0;
|
pvar->in_eval = 0;
|
||||||
pvar->in_exec = 0;
|
pvar->in_exec = 0;
|
||||||
pvar->el = aeCreateEventLoop(g_pserver->maxclients+CONFIG_FDSET_INCR);
|
pvar->el = aeCreateEventLoop(g_pserver->maxclients+CONFIG_FDSET_INCR);
|
||||||
aeSetBeforeSleepProc(pvar->el, beforeSleep, AE_SLEEP_THREADSAFE);
|
|
||||||
aeSetAfterSleepProc(pvar->el, afterSleep, AE_SLEEP_THREADSAFE);
|
|
||||||
pvar->current_client = nullptr;
|
pvar->current_client = nullptr;
|
||||||
pvar->fRetrySetAofEvent = false;
|
pvar->fRetrySetAofEvent = false;
|
||||||
if (pvar->el == NULL) {
|
if (pvar->el == NULL) {
|
||||||
@ -3804,6 +3801,8 @@ static void initServerThread(struct redisServerThreadVars *pvar, int fMain)
|
|||||||
strerror(errno));
|
strerror(errno));
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
aeSetBeforeSleepProc(pvar->el, beforeSleep, AE_SLEEP_THREADSAFE);
|
||||||
|
aeSetAfterSleepProc(pvar->el, afterSleep, AE_SLEEP_THREADSAFE);
|
||||||
|
|
||||||
fastlock_init(&pvar->lockPendingWrite, "lockPendingWrite");
|
fastlock_init(&pvar->lockPendingWrite, "lockPendingWrite");
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user