Repository: incubator-hawq
Updated Branches:
  refs/heads/master aea5e6046 -> adbf7c549


HAWQ-572. Add fault injection in parquet_getnext().


Project: http://git-wip-us.apache.org/repos/asf/incubator-hawq/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-hawq/commit/adbf7c54
Tree: http://git-wip-us.apache.org/repos/asf/incubator-hawq/tree/adbf7c54
Diff: http://git-wip-us.apache.org/repos/asf/incubator-hawq/diff/adbf7c54

Branch: refs/heads/master
Commit: adbf7c549927dbeba22501c139c7819b3b94d833
Parents: aea5e60
Author: Chunling Wang <wangchunlin...@126.com>
Authored: Fri Mar 25 18:23:44 2016 +0800
Committer: Lili Ma <ictmal...@gmail.com>
Committed: Wed Mar 30 10:08:44 2016 +0800

----------------------------------------------------------------------
 src/backend/access/parquet/parquetam.c         | 8 ++++++++
 src/backend/cdb/dispatcher.c                   | 2 +-
 src/backend/utils/misc/faultinjector.c         | 5 ++++-
 src/include/utils/faultinjector.h              | 3 ++-
 tools/bin/gppylib/programs/clsInjectFault.py   | 1 +
 tools/bin/hawqpylib/programs/clsInjectFault.py | 1 +
 6 files changed, 17 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/adbf7c54/src/backend/access/parquet/parquetam.c
----------------------------------------------------------------------
diff --git a/src/backend/access/parquet/parquetam.c 
b/src/backend/access/parquet/parquetam.c
index a01f89b..bec8422 100644
--- a/src/backend/access/parquet/parquetam.c
+++ b/src/backend/access/parquet/parquetam.c
@@ -266,6 +266,14 @@ void parquet_getnext(ParquetScanDesc scan, ScanDirection 
direction,
        AOTupleId aoTupleId;
        Assert(ScanDirectionIsForward(direction));
 
+#ifdef FAULT_INJECTOR
+                               FaultInjector_InjectFaultIfSet(
+                                                                               
           FailQeWhenParquetGetNext,
+                                                                               
           DDLNotSpecified,
+                                                                               
           "",  // databaseName
+                                                                               
           ""); // tableName
+#endif
+
        for(;;)
        {
                if(scan->bufferDone)

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/adbf7c54/src/backend/cdb/dispatcher.c
----------------------------------------------------------------------
diff --git a/src/backend/cdb/dispatcher.c b/src/backend/cdb/dispatcher.c
index ad826d3..d2ee4b7 100644
--- a/src/backend/cdb/dispatcher.c
+++ b/src/backend/cdb/dispatcher.c
@@ -1239,7 +1239,7 @@ dispatch_run(DispatchData *data)
 
 #ifdef FAULT_INJECTOR
                                FaultInjector_InjectFaultIfSet(
-                                                                               
           FaillQeAfterConnection,
+                                                                               
           FailQeAfterConnection,
                                                                                
           DDLNotSpecified,
                                                                                
           "",  // databaseName
                                                                                
           ""); // tableName

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/adbf7c54/src/backend/utils/misc/faultinjector.c
----------------------------------------------------------------------
diff --git a/src/backend/utils/misc/faultinjector.c 
b/src/backend/utils/misc/faultinjector.c
index a760b4d..b1dea54 100644
--- a/src/backend/utils/misc/faultinjector.c
+++ b/src/backend/utils/misc/faultinjector.c
@@ -293,6 +293,8 @@ FaultInjectorIdentifierEnumToString[] = {
                /* inject fault when QE actually working, set error */
        _("fail_qe_when_begin_parquet_scan"),
                /* inject fault when begin scan parquet table, set error */
+       _("fail_qe_when_parquet_get_next"),
+               /* inject fault when get next, set error */
 /*     _("make_dispatch_thread"),
                 inject fault when initialing memory structure for dispatcher 
thread*/
        _("before_dispatch"),
@@ -1083,7 +1085,7 @@ FaultInjector_NewHashEntry(
                case ConnectionFailAfterGangCreation:
                case CreateCdbDispathResultObject:
                case WorkerManagerSubmitJob:
-               case FaillQeAfterConnection:
+               case FailQeAfterConnection:
 
                        /* These faults are designed for master. */
                        if(!AmIMaster())
@@ -1111,6 +1113,7 @@ FaultInjector_NewHashEntry(
                case MultiExecHashLargeVmem:
                case FailQeWhenDoQuery:
                case FailQeWhenBeginParquetScan:
+               case FailQeWhenParquetGetNext:
                        /* SEGMENT */
                        if(!AmISegment())
                        {

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/adbf7c54/src/include/utils/faultinjector.h
----------------------------------------------------------------------
diff --git a/src/include/utils/faultinjector.h 
b/src/include/utils/faultinjector.h
index 8f94349..06a3dfc 100644
--- a/src/include/utils/faultinjector.h
+++ b/src/include/utils/faultinjector.h
@@ -190,9 +190,10 @@ typedef enum FaultInjectorIdentifier_e {
 /*     MakeDispatchThread,*/
        CreateCdbDispathResultObject,
        WorkerManagerSubmitJob,
-       FaillQeAfterConnection,
+       FailQeAfterConnection,
        FailQeWhenDoQuery,
        FailQeWhenBeginParquetScan,
+       FailQeWhenParquetGetNext,
 
        BeforeDispatch,
 

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/adbf7c54/tools/bin/gppylib/programs/clsInjectFault.py
----------------------------------------------------------------------
diff --git a/tools/bin/gppylib/programs/clsInjectFault.py 
b/tools/bin/gppylib/programs/clsInjectFault.py
index 8c166bb..a96ca4b 100644
--- a/tools/bin/gppylib/programs/clsInjectFault.py
+++ b/tools/bin/gppylib/programs/clsInjectFault.py
@@ -411,6 +411,7 @@ class GpInjectFaultProgram:
                                  "fail_qe_after_connection (inject fault after 
connecting to QD, sleep to wait QE fail)" \
                                  "fail_qe_when_do_query (inject fault when QE 
actually working, set error)" \
                                  "fail_qe_when_begin_parquet_scan (inject 
fault when begin scan parquet table, set error)"\
+                                 "fail_qe_when_parquet_get_next (inject fault 
when get next, set error)"\
                                  "all (affects all faults injected, used for 
'status' and 'reset'), ")
         addTo.add_option("-c", "--ddl_statement", dest="ddlStatement", 
type="string",
                          metavar="ddlStatement",

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/adbf7c54/tools/bin/hawqpylib/programs/clsInjectFault.py
----------------------------------------------------------------------
diff --git a/tools/bin/hawqpylib/programs/clsInjectFault.py 
b/tools/bin/hawqpylib/programs/clsInjectFault.py
index e1944fb..7281338 100644
--- a/tools/bin/hawqpylib/programs/clsInjectFault.py
+++ b/tools/bin/hawqpylib/programs/clsInjectFault.py
@@ -419,6 +419,7 @@ class HAWQInjectFaultProgram:
                                  "fail_qe_after_connection (inject fault after 
connecting to QD, sleep to wait QE fail)" \
                                  "fail_qe_when_do_query (inject fault when QE 
actually working, set error)" \
                                  "fail_qe_when_begin_parquet_scan (inject 
fault when begin scan parquet table, set error)"\
+                                 "fail_qe_when_parquet_get_next (inject fault 
when get next, set error)"\
                                  "all (affects all faults injected, used for 
'status' and 'reset'), ")
         addTo.add_option("-c", "--ddl_statement", dest="ddlStatement", 
type="string",
                          metavar="ddlStatement",

Reply via email to