ERROR 3587: Insufficient resources to execute plan on pool
While executing MERGE (that include 660 COLUMNS) I am getting the above error. (Insufficient resources to execute plan on pool)
I am using 4 Cores 8GB none cluster machine, redhat 6.3
Also,
I have created a pool named ETL_BATCH and assign user to work with this pool:
MEMORYSIZE= 1G
MAXMEMORYSIZE =6.5G
PLANNED_CONCURRENCY=2
MAX_CONCURENCY=150
EXECUTING_PARALLELISM =AUTO
PRIORITY=40
RUNTIME_PRIORITY=2
The error that i got:
ERROR 3587: Insufficient resources to execute plan on pool batch_etl [Request Too Large:Memory(KB) Exceeded: Requested = 7019241, Free = 6520059 (Limit = 6520059, Used = 0)]
can you advice please?
I am using 4 Cores 8GB none cluster machine, redhat 6.3
Also,
I have created a pool named ETL_BATCH and assign user to work with this pool:
MEMORYSIZE= 1G
MAXMEMORYSIZE =6.5G
PLANNED_CONCURRENCY=2
MAX_CONCURENCY=150
EXECUTING_PARALLELISM =AUTO
PRIORITY=40
RUNTIME_PRIORITY=2
The error that i got:
ERROR 3587: Insufficient resources to execute plan on pool batch_etl [Request Too Large:Memory(KB) Exceeded: Requested = 7019241, Free = 6520059 (Limit = 6520059, Used = 0)]
can you advice please?
0
Comments
You can validate what in use - HASH or MERGE join by executing query EXPLAIN.
http://vertica-forums.com/viewtopic.php?f=3&t=156&p=285
Requested = 7019241 => 7.7GB
Free = 6520059 => 6.2GB (MAX by resource pool 6.5GB)
So query require more memory than you provide.
O.K, I have tried building the correct projections (using order by) and now the explain plan actually showed that it using MERGE.
however, i am still facing same error, even worst now, it demand 10G of ram:
ERROR 3587: Insufficient resources to execute plan on pool batch_etl [Request Too Large:Memory(KB) Exceeded: Requested = 9812391, Free = 6520059 (Limit = 6520059, Used = 0)]
here how the MERGE explain plan looks like:
+-DML MERGE [Cost: 0, Rows: 0]| Target Projection: hpswadmmockTenanttrg.OPPORTUNITY_FACT_p1| Target Projection: hpswadmmockTenanttrg.OPPORTUNITY_FACT_p1_b1| Target Projection: hpswadmmockTenanttrg.OPPORTUNITY_FACT_p1_b0| Target Prep:| +---> JOIN MERGEJOIN(inputs presorted) [RightOuter] [Cost: 749K, Rows: 12K (NO STATISTICS)] (PATH ID: 1)| | Join Cond: (OPPORTUNITY_FACT.MD_OPPORTUNITY_GL_PK = VAL(2)) AND (OPPORTUNITY_FACT.MD_START_DATE = VAL(2)) AND (OPPORTUNITY_FACT.MD_CP_ID = VAL(2))| | +-- Outer -> STORAGE ACCESS for <No Alias> [Cost: 467K, Rows: 10K (NO STATISTICS)] (PATH ID: 2)| | | Projection: hpswadmmockTenanttrg.OPPORTUNITY_FACT_p1
| | | Runtime Filters: (SIP1(MergeJoin): OPPORTUNITY_FACT.MD_OPPORTUNITY_GL_PK), (SIP2(MergeJoin): OPPORTUNITY_FACT.MD_START_DATE), (SIP3(MergeJoin): OPPORTUNITY_FACT.MD_CP_ID), (SIP4(MergeJoin): OPPORTUNITY_FACT.MD_OPPORTUNITY_GL_PK, OPPORTUNITY_FACT.MD_START_DATE, OPPORTUNITY_FACT.MD_CP_ID)| | +-- Inner -> SELECT [Cost: 106K, Rows: 12K] (PATH ID: 3)| | | +---> STORAGE ACCESS for shd [Cost: 106K, Rows: 12K] (PATH ID: 4)| | | | Projection: hpswadmmockTenantstg.TITAN_OPPORTUNITY_SHD_FACT_4merge_p1
one more thing I tried to reduce the amount of rows from 12K to 1K it didn't help, same error
Remember the tables have 660 columns each.
We are waiting for some vertica Eng to explain the behave .
Any one please please please ?
Eli kindly linked to another relevant question in the previous post. Discussion of this issue has continued on that question, and there is some more information there. In order to reduce duplication/confusion, please follow that question instead.
If you think this is an unrelated issue, feel free to post some more details and bring it back up here.
Thanks,
Adam