hawq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ztao1...@apache.org
Subject [hawq] 02/02: fix proc wait queue disorder in deadlock scenario
Date Thu, 14 Nov 2019 06:12:47 GMT
This is an automated email from the ASF dual-hosted git repository.

ztao1987 pushed a commit to branch taoz
in repository https://gitbox.apache.org/repos/asf/hawq.git

commit 90125185e1825dc5b6da05e422493b72abc5b495
Author: ztao1987 <zhenglin.taozl@gmail.com>
AuthorDate: Fri Aug 16 21:55:34 2019 +0800

    fix proc wait queue disorder in deadlock scenario
---
 src/backend/storage/lmgr/proc.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/backend/storage/lmgr/proc.c b/src/backend/storage/lmgr/proc.c
index 5bb008f..0a6db6c 100644
--- a/src/backend/storage/lmgr/proc.c
+++ b/src/backend/storage/lmgr/proc.c
@@ -1174,12 +1174,14 @@ CheckDeadLock(void)
 		goto check_done;
 	}
 
+	Assert(MyProc->waitLock != NULL);
+	RemoveFromWaitQueue(MyProc, LockTagHashCode(&(MyProc->waitLock->tag)));
+
 	/*
 	 * Unlock my semaphore so that the interrupted ProcSleep() call can
 	 * finish.
 	 */
 	PGSemaphoreUnlock(&MyProc->sem);
-	MyProc->waitStatus = STATUS_FOUND;
 
 	/*
 	 * We're done here.  Transaction abort caused by the error that ProcSleep


Mime
View raw message