sounak chakraborty created CARBONDATA-1914:
----------------------------------------------

             Summary: Dictionary Cache Access Count Maintenance
                 Key: CARBONDATA-1914
                 URL: https://issues.apache.org/jira/browse/CARBONDATA-1914
             Project: CarbonData
          Issue Type: Bug
            Reporter: sounak chakraborty


When dictionary cache is being accessed the access count is being atomicaly 
increased and after the access it has to be decremented. This access count 
prevent it from removal from cache when cache overflow scenario comes into 
picture. 

There are some code places where access is incremented but not decremented 
after usage is completed. This is a resource leak. 

Test Case
=======
Precondition 
----------------
(CarbonCommonConstants.CARBON_MAX_DRIVER_LRU_CACHE_SIZE, "1")
 (CarbonCommonConstants.CARBON_MAX_EXECUTOR_LRU_CACHE_SIZE, "1")


spark.sql("drop table if exists carbon_new6").show(200,false)
spark.sql("drop table if exists carbon_new7").show(200,false)
spark.sql("drop table if exists carbon_new8").show(200,false)

//    spark.sql("CREATE TABLE carbon_new6 (CUST_ID INT,CUST_NAME 
STRING,ACTIVE_EMUI_VERSION STRING, DOB TIMESTAMP, DOJ TIMESTAMP, BIGINT_COLUMN1 
BIGINT,BIGINT_COLUMN2 BIGINT,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 
DECIMAL(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 
INT) STORED BY 'org.apache.carbondata.format' TBLPROPERTIES 
('dictionary_include'='CUST_NAME')").show(200,false)
//    spark.sql("LOAD DATA INPATH '/home/root1/data_2000.csv' INTO TABLE 
carbon_new6 OPTIONS('DELIMITER'=',' , 
'QUOTECHAR'='\"','BAD_RECORDS_ACTION'='FORCE','SINGLE_PASS'='TRUE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,
 INTEGER_COLUMN1')").show(200,false)
spark.sql("CREATE TABLE carbon_new7 (CUST_ID INT,CUST_NAME 
STRING,ACTIVE_EMUI_VERSION STRING, DOB TIMESTAMP, DOJ TIMESTAMP, BIGINT_COLUMN1 
BIGINT,BIGINT_COLUMN2 BIGINT,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 
DECIMAL(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 
INT) STORED BY 'org.apache.carbondata.format' TBLPROPERTIES 
('dictionary_include'='CUST_NAME, 
ACTIVE_EMUI_VERSION,BIGINT_COLUMN1,Double_COLUMN1, 
Double_COLUMN2')").show(200,false)
spark.sql("LOAD DATA INPATH '/home/root1/data_2000.csv' INTO TABLE carbon_new7 
OPTIONS('DELIMITER'=',' , 
'QUOTECHAR'='\"','BAD_RECORDS_ACTION'='FORCE','SINGLE_PASS'='TRUE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,
 INTEGER_COLUMN1')").show(200,false)
spark.sql("LOAD DATA INPATH '/home/root1/data_2000.csv' INTO TABLE carbon_new7 
OPTIONS('DELIMITER'=',' , 
'QUOTECHAR'='\"','BAD_RECORDS_ACTION'='FORCE','SINGLE_PASS'='TRUE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,
 INTEGER_COLUMN1')").show(200,false)
spark.sql("CREATE TABLE carbon_new8 (CUST_ID INT,CUST_NAME 
STRING,ACTIVE_EMUI_VERSION STRING, DOB TIMESTAMP, DOJ TIMESTAMP, BIGINT_COLUMN1 
BIGINT,BIGINT_COLUMN2 BIGINT,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 
DECIMAL(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 
INT) STORED BY 'org.apache.carbondata.format' TBLPROPERTIES 
('dictionary_include'='CUST_NAME, 
ACTIVE_EMUI_VERSION,BIGINT_COLUMN1,Double_COLUMN1, 
Double_COLUMN2')").show(200,false)
spark.sql("LOAD DATA INPATH '/home/root1/data_2000.csv' INTO TABLE carbon_new8 
OPTIONS('DELIMITER'=',' , 
'QUOTECHAR'='\"','BAD_RECORDS_ACTION'='FORCE','SINGLE_PASS'='TRUE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,
 INTEGER_COLUMN1')").show(200,false)
spark.sql("LOAD DATA INPATH '/home/root1/data_2000.csv' INTO TABLE carbon_new8 
OPTIONS('DELIMITER'=',' , 
'QUOTECHAR'='\"','BAD_RECORDS_ACTION'='FORCE','SINGLE_PASS'='TRUE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,
 INTEGER_COLUMN1')").show(200,false)





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

Reply via email to