This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/huor_czbank by this push:
     new 8404363  HAWQ-1722. Fix core dump due to lock is not released before 
reporting errors when exceeding MaxAORelSegFileStatus
8404363 is described below

commit 84043631153419c9298332011b76ffb534aff788
Author: Ruilong Huo <[email protected]>
AuthorDate: Sun Jun 2 12:03:39 2019 +0800

    HAWQ-1722. Fix core dump due to lock is not released before reporting 
errors when exceeding MaxAORelSegFileStatus
---
 src/backend/access/appendonly/appendonlywriter.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/backend/access/appendonly/appendonlywriter.c 
b/src/backend/access/appendonly/appendonlywriter.c
index 63b6bc2..addd33e 100644
--- a/src/backend/access/appendonly/appendonlywriter.c
+++ b/src/backend/access/appendonly/appendonlywriter.c
@@ -423,6 +423,8 @@ AORelCreateHashEntry(Oid relid)
                        {
                                pfree(allfsinfoParquet);
 
+                               LWLockRelease(AOSegFileLock);
+
                                ereport(ERROR, (errmsg("cannot open more than 
%d "
                                      "append-only table segment "
                                      "files cocurrently",
@@ -458,6 +460,8 @@ AORelCreateHashEntry(Oid relid)
                        {
                                pfree(allfsinfo);
 
+                               LWLockRelease(AOSegFileLock);
+
                                ereport(ERROR, (errmsg("cannot open more than 
%d "
                                      "append-only table segment "
                                      "files cocurrently",
@@ -1147,6 +1151,7 @@ List *SetSegnoForWrite(List *existing_segnos, Oid relid, 
int segment_num,
                                if (new_status == NEXT_END_OF_LIST)
                                {
                                        LWLockRelease(AOSegFileLock);
+
                                        ereport(ERROR, (errmsg("cannot open 
more than %d append-only table segment files concurrently",
                                                                        
MaxAORelSegFileStatus)));
                                }

Reply via email to