You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "N Campbell (JIRA)" <ji...@apache.org> on 2017/06/29 19:37:00 UTC

[jira] [Updated] (DRILL-5621) IllegalStateException: Memory was leaked by query. Memory leaked: (73728)

     [ https://issues.apache.org/jira/browse/DRILL-5621?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

N Campbell updated DRILL-5621:
------------------------------
    Description: 
A JDBC plug in is defined to access ORACLE 12 via JDBC.

The following SQL statement is executed in Drill and throws the following error

SYSTEM ERROR: IllegalStateException: Memory was leaked by query. Memory leaked: (73728)
Allocator(op:0:0:3:JdbcSubScan) 1000000/73728/200704/10000000000 (res/actual/peak/limit)


select TJOIN1.RNUM, TJOIN1.C1, TJOIN2.C1 as C1J2, TJOIN2.C2 from certora.DBCERT.TJOIN1, LATERAL ( select TJOIN2.C1, TJOIN2.C2 from certora.DBCERT.TJOIN2 where TJOIN1.C1=TJOIN2.C1) TJOIN2


ORACLE DDL

  CREATE TABLE "DBCERT"."TJOIN1" 
   (	"RNUM" NUMBER(*,0), 
	"C1" NUMBER(*,0), 
	"C2" NUMBER(*,0)
   ) ;
  GRANT SELECT ON "DBCERT"."TJOIN1" TO PUBLIC;
--------------------------------------------------------
--  DDL for Table TJOIN2
--------------------------------------------------------

  CREATE TABLE "DBCERT"."TJOIN2" 
   (	"RNUM" NUMBER(*,0), 
	"C1" NUMBER(*,0), 
	"C2" CHAR(2 BYTE)
   ) ;
  GRANT SELECT ON "DBCERT"."TJOIN2" TO PUBLIC;
--------------------------------------------------------
--  DDL for Table TJOIN3
--------------------------------------------------------

  CREATE TABLE "DBCERT"."TJOIN3" 
   (	"RNUM" NUMBER(*,0), 
	"C1" NUMBER(*,0), 
	"C2" CHAR(2 BYTE)
   ) ;
  GRANT SELECT ON "DBCERT"."TJOIN3" TO PUBLIC;
--------------------------------------------------------
--  DDL for Table TJOIN4
--------------------------------------------------------

  CREATE TABLE "DBCERT"."TJOIN4" 
   (	"RNUM" NUMBER(*,0), 
	"C1" NUMBER(*,0), 
	"C2" CHAR(2 BYTE)
   ) ;
  GRANT SELECT ON "DBCERT"."TJOIN4" TO PUBLIC;


Insert into DBCERT.TJOIN1 (RNUM,C1,C2) values (0,10,15);
Insert into DBCERT.TJOIN1 (RNUM,C1,C2) values (1,20,25);
Insert into DBCERT.TJOIN1 (RNUM,C1,C2) values (2,null,50);

Insert into DBCERT.TJOIN2 (RNUM,C1,C2) values (0,10,'BB');
Insert into DBCERT.TJOIN2 (RNUM,C1,C2) values (1,15,'DD');
Insert into DBCERT.TJOIN2 (RNUM,C1,C2) values (2,null,'EE');
Insert into DBCERT.TJOIN2 (RNUM,C1,C2) values (3,10,'FF');

Insert into DBCERT.TJOIN3 (RNUM,C1,C2) values (0,10,'XX');
Insert into DBCERT.TJOIN3 (RNUM,C1,C2) values (1,15,'YY');

Insert into DBCERT.TJOIN4 (RNUM,C1,C2) values (0,20,'ZZ');

Other examples


select TJ1C1, TJ2C2, TJ3C2 from 	(select TJ1C1, TJ2C2, TJOIN3.C1 TJ3C1, TJOIN3.C2 TJ3C2 from 		( select TJOIN1.C1 TJ1C1, TJOIN2.C2 TJ2C2  from 			certora.DBCERT.TJOIN1 inner join certora.DBCERT.TJOIN2 on TJOIN1.C1 = TJOIN2.C1 ) TJ 			inner join certora.DBCERT.TJOIN3 on TJOIN3.C1 = TJ1C1) TJ2 				inner join certora.DBCERT.TJOIN4 on TJOIN4.C1 = TJ3C1

SYSTEM ERROR: IllegalStateException: Memory was leaked by query. Memory leaked: (73728)
Allocator(op:0:0:10:JdbcSubScan) 1000000/73728/200704/10000000000 (res/actual/peak/limit)


select TJOIN2.RNUM, TJOIN1.C1, TJOIN2.C1 as C1J2, TJOIN2.C2 from certora.DBCERT.TJOIN1, certora.DBCERT.TJOIN2 where TJOIN1.C1=TJOIN2.C1

SYSTEM ERROR: IllegalStateException: Memory was leaked by query. Memory leaked: (73728)
Allocator(op:0:0:3:JdbcSubScan) 1000000/73728/200704/10000000000 (res/actual/peak/limit)

select TJOIN1.RNUM, TJOIN1.C1, TJOIN2.C2 from certora.DBCERT.TJOIN1 left outer join certora.DBCERT.TJOIN2 on ( TJOIN1.C1 = TJOIN2.C1 and TJOIN2.C2 > 'C' )

SYSTEM ERROR: IllegalStateException: Memory was leaked by query. Memory leaked: (73728)
Allocator(op:0:0:3:JdbcSubScan) 1000000/73728/200704/10000000000 (res/actual/peak/limit)



select TJOIN2.RNUM, TJOIN1.C1, TJOIN2.C2 as C2J2, TJOIN3.C2 as C2J3 from certora.DBCERT.TJOIN1 right outer join  certora.DBCERT.TJOIN2 on TJOIN1.C1 = TJOIN2.C1 left outer join certora.DBCERT.TJOIN3 on TJOIN1.C1 = TJOIN3.C1

SYSTEM ERROR: IllegalStateException: Memory was leaked by query. Memory leaked: (73728)
Allocator(op:0:0:5:JdbcSubScan) 1000000/73728/200704/10000000000 (res/actual/peak/limit)


Test: com.ibm.cognos.sqlTestSuites.joins.tests.JoinCoreLeftOuter
SQL: select TJOIN1.RNUM, TJOIN1.C1, TJOIN2.C2 from certora.DBCERT.TJOIN1 left outer join certora.DBCERT.TJOIN2 on TJOIN1.C1 = TJOIN2.C1

SYSTEM ERROR: IllegalStateException: Memory was leaked by query. Memory leaked: (73728)
Allocator(op:0:0:3:JdbcSubScan) 1000000/73728/200704/10000000000 (res/actual/peak/limit)



Test: com.ibm.cognos.sqlTestSuites.joins.tests.JoinCoreRightOuter
SQL: select TJOIN2.RNUM, TJOIN1.C1, TJOIN2.C1 as C1J2, TJOIN2.C2 as C2J2 from certora.DBCERT.TJOIN1 right outer join certora.DBCERT.TJOIN2 on TJOIN1.C1 = TJOIN2.C1

SYSTEM ERROR: IllegalStateException: Memory was leaked by query. Memory leaked: (73728)
Allocator(op:0:0:3:JdbcSubScan) 1000000/73728/200704/10000000000 (res/actual/peak/limit)



  was:

A JDBC plug in is defined to access ORACLE 12 via JDBC.

The following SQL statement is executed in Drill and throws the following error

SYSTEM ERROR: IllegalStateException: Memory was leaked by query. Memory leaked: (73728)
Allocator(op:0:0:3:JdbcSubScan) 1000000/73728/200704/10000000000 (res/actual/peak/limit)


select TJOIN1.RNUM, TJOIN1.C1, TJOIN2.C1 as C1J2, TJOIN2.C2 from certora.DBCERT.TJOIN1, LATERAL ( select TJOIN2.C1, TJOIN2.C2 from certora.DBCERT.TJOIN2 where TJOIN1.C1=TJOIN2.C1) TJOIN2


ORACLE DDL

  CREATE TABLE "DBCERT"."TJOIN1" 
   (	"RNUM" NUMBER(*,0), 
	"C1" NUMBER(*,0), 
	"C2" NUMBER(*,0)
   ) ;
  GRANT SELECT ON "DBCERT"."TJOIN1" TO PUBLIC;
--------------------------------------------------------
--  DDL for Table TJOIN2
--------------------------------------------------------

  CREATE TABLE "DBCERT"."TJOIN2" 
   (	"RNUM" NUMBER(*,0), 
	"C1" NUMBER(*,0), 
	"C2" CHAR(2 BYTE)
   ) ;
  GRANT SELECT ON "DBCERT"."TJOIN2" TO PUBLIC;
--------------------------------------------------------
--  DDL for Table TJOIN3
--------------------------------------------------------

  CREATE TABLE "DBCERT"."TJOIN3" 
   (	"RNUM" NUMBER(*,0), 
	"C1" NUMBER(*,0), 
	"C2" CHAR(2 BYTE)
   ) ;
  GRANT SELECT ON "DBCERT"."TJOIN3" TO PUBLIC;
--------------------------------------------------------
--  DDL for Table TJOIN4
--------------------------------------------------------

  CREATE TABLE "DBCERT"."TJOIN4" 
   (	"RNUM" NUMBER(*,0), 
	"C1" NUMBER(*,0), 
	"C2" CHAR(2 BYTE)
   ) ;
  GRANT SELECT ON "DBCERT"."TJOIN4" TO PUBLIC;


Insert into DBCERT.TJOIN1 (RNUM,C1,C2) values (0,10,15);
Insert into DBCERT.TJOIN1 (RNUM,C1,C2) values (1,20,25);
Insert into DBCERT.TJOIN1 (RNUM,C1,C2) values (2,null,50);

Insert into DBCERT.TJOIN2 (RNUM,C1,C2) values (0,10,'BB');
Insert into DBCERT.TJOIN2 (RNUM,C1,C2) values (1,15,'DD');
Insert into DBCERT.TJOIN2 (RNUM,C1,C2) values (2,null,'EE');
Insert into DBCERT.TJOIN2 (RNUM,C1,C2) values (3,10,'FF');

Insert into DBCERT.TJOIN3 (RNUM,C1,C2) values (0,10,'XX');
Insert into DBCERT.TJOIN3 (RNUM,C1,C2) values (1,15,'YY');

Insert into DBCERT.TJOIN4 (RNUM,C1,C2) values (0,20,'ZZ');


> IllegalStateException: Memory was leaked by query. Memory leaked: (73728)
> -------------------------------------------------------------------------
>
>                 Key: DRILL-5621
>                 URL: https://issues.apache.org/jira/browse/DRILL-5621
>             Project: Apache Drill
>          Issue Type: Bug
>          Components:  Server
>    Affects Versions: 1.10.0
>         Environment: Drill 1.10 
>            Reporter: N Campbell
>
> A JDBC plug in is defined to access ORACLE 12 via JDBC.
> The following SQL statement is executed in Drill and throws the following error
> SYSTEM ERROR: IllegalStateException: Memory was leaked by query. Memory leaked: (73728)
> Allocator(op:0:0:3:JdbcSubScan) 1000000/73728/200704/10000000000 (res/actual/peak/limit)
> select TJOIN1.RNUM, TJOIN1.C1, TJOIN2.C1 as C1J2, TJOIN2.C2 from certora.DBCERT.TJOIN1, LATERAL ( select TJOIN2.C1, TJOIN2.C2 from certora.DBCERT.TJOIN2 where TJOIN1.C1=TJOIN2.C1) TJOIN2
> ORACLE DDL
>   CREATE TABLE "DBCERT"."TJOIN1" 
>    (	"RNUM" NUMBER(*,0), 
> 	"C1" NUMBER(*,0), 
> 	"C2" NUMBER(*,0)
>    ) ;
>   GRANT SELECT ON "DBCERT"."TJOIN1" TO PUBLIC;
> --------------------------------------------------------
> --  DDL for Table TJOIN2
> --------------------------------------------------------
>   CREATE TABLE "DBCERT"."TJOIN2" 
>    (	"RNUM" NUMBER(*,0), 
> 	"C1" NUMBER(*,0), 
> 	"C2" CHAR(2 BYTE)
>    ) ;
>   GRANT SELECT ON "DBCERT"."TJOIN2" TO PUBLIC;
> --------------------------------------------------------
> --  DDL for Table TJOIN3
> --------------------------------------------------------
>   CREATE TABLE "DBCERT"."TJOIN3" 
>    (	"RNUM" NUMBER(*,0), 
> 	"C1" NUMBER(*,0), 
> 	"C2" CHAR(2 BYTE)
>    ) ;
>   GRANT SELECT ON "DBCERT"."TJOIN3" TO PUBLIC;
> --------------------------------------------------------
> --  DDL for Table TJOIN4
> --------------------------------------------------------
>   CREATE TABLE "DBCERT"."TJOIN4" 
>    (	"RNUM" NUMBER(*,0), 
> 	"C1" NUMBER(*,0), 
> 	"C2" CHAR(2 BYTE)
>    ) ;
>   GRANT SELECT ON "DBCERT"."TJOIN4" TO PUBLIC;
> Insert into DBCERT.TJOIN1 (RNUM,C1,C2) values (0,10,15);
> Insert into DBCERT.TJOIN1 (RNUM,C1,C2) values (1,20,25);
> Insert into DBCERT.TJOIN1 (RNUM,C1,C2) values (2,null,50);
> Insert into DBCERT.TJOIN2 (RNUM,C1,C2) values (0,10,'BB');
> Insert into DBCERT.TJOIN2 (RNUM,C1,C2) values (1,15,'DD');
> Insert into DBCERT.TJOIN2 (RNUM,C1,C2) values (2,null,'EE');
> Insert into DBCERT.TJOIN2 (RNUM,C1,C2) values (3,10,'FF');
> Insert into DBCERT.TJOIN3 (RNUM,C1,C2) values (0,10,'XX');
> Insert into DBCERT.TJOIN3 (RNUM,C1,C2) values (1,15,'YY');
> Insert into DBCERT.TJOIN4 (RNUM,C1,C2) values (0,20,'ZZ');
> Other examples
> select TJ1C1, TJ2C2, TJ3C2 from 	(select TJ1C1, TJ2C2, TJOIN3.C1 TJ3C1, TJOIN3.C2 TJ3C2 from 		( select TJOIN1.C1 TJ1C1, TJOIN2.C2 TJ2C2  from 			certora.DBCERT.TJOIN1 inner join certora.DBCERT.TJOIN2 on TJOIN1.C1 = TJOIN2.C1 ) TJ 			inner join certora.DBCERT.TJOIN3 on TJOIN3.C1 = TJ1C1) TJ2 				inner join certora.DBCERT.TJOIN4 on TJOIN4.C1 = TJ3C1
> SYSTEM ERROR: IllegalStateException: Memory was leaked by query. Memory leaked: (73728)
> Allocator(op:0:0:10:JdbcSubScan) 1000000/73728/200704/10000000000 (res/actual/peak/limit)
> select TJOIN2.RNUM, TJOIN1.C1, TJOIN2.C1 as C1J2, TJOIN2.C2 from certora.DBCERT.TJOIN1, certora.DBCERT.TJOIN2 where TJOIN1.C1=TJOIN2.C1
> SYSTEM ERROR: IllegalStateException: Memory was leaked by query. Memory leaked: (73728)
> Allocator(op:0:0:3:JdbcSubScan) 1000000/73728/200704/10000000000 (res/actual/peak/limit)
> select TJOIN1.RNUM, TJOIN1.C1, TJOIN2.C2 from certora.DBCERT.TJOIN1 left outer join certora.DBCERT.TJOIN2 on ( TJOIN1.C1 = TJOIN2.C1 and TJOIN2.C2 > 'C' )
> SYSTEM ERROR: IllegalStateException: Memory was leaked by query. Memory leaked: (73728)
> Allocator(op:0:0:3:JdbcSubScan) 1000000/73728/200704/10000000000 (res/actual/peak/limit)
> select TJOIN2.RNUM, TJOIN1.C1, TJOIN2.C2 as C2J2, TJOIN3.C2 as C2J3 from certora.DBCERT.TJOIN1 right outer join  certora.DBCERT.TJOIN2 on TJOIN1.C1 = TJOIN2.C1 left outer join certora.DBCERT.TJOIN3 on TJOIN1.C1 = TJOIN3.C1
> SYSTEM ERROR: IllegalStateException: Memory was leaked by query. Memory leaked: (73728)
> Allocator(op:0:0:5:JdbcSubScan) 1000000/73728/200704/10000000000 (res/actual/peak/limit)
> Test: com.ibm.cognos.sqlTestSuites.joins.tests.JoinCoreLeftOuter
> SQL: select TJOIN1.RNUM, TJOIN1.C1, TJOIN2.C2 from certora.DBCERT.TJOIN1 left outer join certora.DBCERT.TJOIN2 on TJOIN1.C1 = TJOIN2.C1
> SYSTEM ERROR: IllegalStateException: Memory was leaked by query. Memory leaked: (73728)
> Allocator(op:0:0:3:JdbcSubScan) 1000000/73728/200704/10000000000 (res/actual/peak/limit)
> Test: com.ibm.cognos.sqlTestSuites.joins.tests.JoinCoreRightOuter
> SQL: select TJOIN2.RNUM, TJOIN1.C1, TJOIN2.C1 as C1J2, TJOIN2.C2 as C2J2 from certora.DBCERT.TJOIN1 right outer join certora.DBCERT.TJOIN2 on TJOIN1.C1 = TJOIN2.C1
> SYSTEM ERROR: IllegalStateException: Memory was leaked by query. Memory leaked: (73728)
> Allocator(op:0:0:3:JdbcSubScan) 1000000/73728/200704/10000000000 (res/actual/peak/limit)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)