carbondata.git
35 hours ago[CARBONDATA-3226] Remove duplicated and useless files master
runzhliu [Mon, 14 Jan 2019 02:33:35 +0000 (10:33 +0800)] 
[CARBONDATA-3226] Remove duplicated and useless files

After a more careful inspection, remove some empty files.

This closes #3073

5 days ago[CARBONDATA-3220] Support presto to read stream segment data
QiangCai [Wed, 9 Jan 2019 14:06:02 +0000 (22:06 +0800)] 
[CARBONDATA-3220] Support presto to read stream segment data

Support presto read the streaming table

re-factory old CarbonStreamRecordReader to reuse code for presto
change CarbondataPageSource to support read streaming data by StreamRecordReader

This closes #3001

6 days ago[CARBONDATA-3237] Fix presto carbon issues in dictionary include scenario
ajantha-bhat [Mon, 7 Jan 2019 09:20:11 +0000 (14:50 +0530)] 
[CARBONDATA-3237] Fix presto carbon issues in dictionary include scenario

problem1: Decimal column with dictionary include cannot be read in
presto
cause: int is typecasted to decimal for dictionary columns in decimal stream reader.
solution: keep original data type as well as new data type for decimal
stream reader.

problem2: Optimize presto query time for dictionary include string column
currently, for each query, presto carbon creates dictionary block for string columns.
cause: This happens for each query and if cardinality is more , it takes more time to build.
solution: dictionary block is not required. we can lookup using normal dictionary lookup.

This closes #3055

6 days ago[CARBONDATA-3200] No-Sort compaction
namanrastogi [Wed, 2 Jan 2019 10:56:09 +0000 (16:26 +0530)] 
[CARBONDATA-3200] No-Sort compaction

When the data is loaded with SORT_SCOPE as NO_SORT, and done compaction upon, the data still remains unsorted. This does not affect much in query.
The major purpose of compaction, is better pack the data and improve query performance.

Now, the expected behaviour of compaction is sort to the data, so that after compaction, query performance becomes better.
 The columns to sort upon are provided by SORT_COLUMNS.

The new compaction works as follows:

Do sorting on unsorted & restructured data and store in temporary files
Pick a row from those temporary files, and already sorted carbondata files, according to a comparator on sort_columns.
Write data to a new segment (similar to old compaction flow).
Repeat steps 2 & 3 until no more rows are left.

This closes #3029

6 days ago[CARBONDATA-3236] Fix for JVM Crash for insert into new table from old table
manishnalla1994 [Tue, 8 Jan 2019 10:42:55 +0000 (16:12 +0530)] 
[CARBONDATA-3236] Fix for JVM Crash for insert into new table from old table

Problem: Insert into new table from old table fails with JVM crash for file format(Using carbondata).
This happened because both the query and load flow were assigned the same taskId and once query finished
it freed the unsafe memory while the insert still in progress.

Solution: As the flow for file format is direct flow and uses on-heap(safe) so no need to free the unsafe memory in query.

This closes #3056

6 days ago[CARBONDATA-3235] Fix Rename-Fail & Datamap-creation-Fail
namanrastogi [Thu, 13 Dec 2018 10:39:58 +0000 (16:09 +0530)] 
[CARBONDATA-3235] Fix Rename-Fail & Datamap-creation-Fail

1. Alter Table Rename Table Fail

Problem: When tabe rename is success in hive, for failed in carbon data store, it would throw exception, but would not go back and undo rename in hive.

Solution: A flag to keep check if hive rename has already executed, and of the code breaks after hive rename is done, go back and undo the hive rename.

2. Create-Preagregate-Datamap Fail

Problem: When (preaggregate) datamap schema is written, but table updation is failed call CarbonDropDataMapCommand.processMetadata()
call dropDataMapFromSystemFolder() -> this is supposed to delete the folder on disk, but doesnt as the datamap is not yet updated in table,
and throws NoSuchDataMapException

Solution: Call CarbonDropTableCommand.run() instead of CarbonDropTableCommand.processDatamap().
as CarbonDropTableCommand.processData() deletes actual folders from disk.

This closes #2996

6 days ago[CARBONDATA-3210] Merge common method into CarbonSparkUtil and fix example error
xiaohui0318 [Fri, 28 Dec 2018 06:08:54 +0000 (14:08 +0800)] 
[CARBONDATA-3210] Merge common method into CarbonSparkUtil and fix example error

1.merge public methods to spark2/src/main/scala/org/apache/carbondata/spark/util/CarbonSparkUtil.scala
org.apache.carbondata.examples.S3UsingSDKExample#getKeyOnPrefix
org.apache.carbondata.examples.S3Example$#getKeyOnPrefix
org.apache.carbondata.spark.thriftserver.CarbonThriftServer#getKeyOnPrefix

2. fix the error of S3UsingSDKExample

This closes #3032

6 days ago[CARBONDATA-3201] Added load level SORT_SCOPE
namanrastogi [Fri, 21 Dec 2018 07:33:30 +0000 (13:03 +0530)] 
[CARBONDATA-3201] Added load level SORT_SCOPE
Added SORT_SCOPE in Load Options & in SET Command

1. Added load level SORT_SCOPE
2. Added Sort_Scope for PreAgg
3. Added sort_scope msg for LoadDataCommand
4. Added property CARBON.TABLE.LOAD.SORT.SCOPE.<database>.<table> to set table level sort_scope property
5. Removed test case veryfying LOAD_OPTIONS with SORT_SCOPE

Load level SORT_SCOPE
LOAD DATA INPATH 'path/to/data.csv'
INTO TABLE my_table
OPTIONS (
   'sort_scope'='no_sort'
)
Priority of SORT_SCOPE
Load Level (if provided)
Table level (if provided)
Default

This closes #3014

7 days ago[CARBONDATA-3230] Add alter test case for datasource
xubo245 [Wed, 26 Dec 2018 04:03:01 +0000 (12:03 +0800)] 
[CARBONDATA-3230] Add alter test case for datasource

[CARBONDATA-3230] Add ALTER test case with datasource for using parquet and carbon

1.add column. => carbon and parquet don't support, limit from Spark
2.drop column => carbon doesn't support in sql, limit from Spark, but using DF is ok; parquet use DF is ok, but sql doesn't support iy.
3.rename column =》 carbon and parquet support it.
4.change datatype of column => carbon parquet doesn't support, limit from Spark, spark only support change comment

This closes #3024

7 days ago[CARBONDATA-3221] Fix the error of SDK don't support read multiple file from S3
xubo245 [Fri, 4 Jan 2019 08:53:48 +0000 (16:53 +0800)] 
[CARBONDATA-3221] Fix the error of SDK don't support read multiple file from S3

SDK reader is ok with filter, but when we read data without filter, the ((CarbonInputSplit) inputSplit).getDetailInfo().getBlockFooterOffset() will be 0 and
FileReader reader don't closed after readByteBuffer in org.apache.carbondata.hadoop.util.CarbonVectorizedRecordReader#initialize, so we should invoke finish after readByteBuffer

This closes #3051

7 days ago[CARBONDATA-3219] Support range partition the input data for local_sort/global sort...
QiangCai [Fri, 4 Jan 2019 08:40:25 +0000 (16:40 +0800)] 
[CARBONDATA-3219] Support range partition the input data for local_sort/global sort data loading

For global_sort/local_sort table, load data command add RANGE_COLUMN option

load data inpath '<path>' into table <table name>
options('RANGE_COLUMN'='<a column>')
when we know the total size of input data, we can calculate the number of the partitions.
load data inpath '<path>' into table <table name>
options('RANGE_COLUMN'='<a column>', 'global_sort_partitions'='10')
when we don't know the total size of the input data, we can give the size of each partition.
load data inpath '<path>' into table <table name>
options('RANGE_COLUMN'='<a column>', 'scale_factor'='10')
it will calcute the number of the partitions as follows.

splitSize =  Math.max(blocklet_size, (block_size - blocklet_size)) * scale_factor
numPartitions = Math.ceil(total size / splitSize)
Limitation:

not support insert into, support only load data command,
not support multiple range columns, support only one range column
exists data skew

This closes #2971

7 days ago[CARBONDATA-3211] Optimize the documentation
binw305@163.com [Thu, 3 Jan 2019 15:22:51 +0000 (23:22 +0800)] 
[CARBONDATA-3211] Optimize the documentation

Optimize the upper/lower case problem

This closes #3050

7 days ago[CARBONDATA-3227] Fix some spell errors in the project
XiaotaoYi [Sat, 5 Jan 2019 10:18:37 +0000 (18:18 +0800)] 
[CARBONDATA-3227] Fix some spell errors in the project

Correct scala variable name in three files:
carbondata\integration\spark-common\src\main\scala\org\apache\spark\sql\catalyst\CarbonDDLSqlParser.scala
carbondata\integration\spark-common\src\main\scala\org\apache\carbondata\spark\util\CarbonScalaUtil.scala
carbondata\integration\spark2\src\main\scala\org\apache\spark\util\AlterTableUtil.scala

Change variable name from
escapechar -> escapeChar
optionlist -> optionList
hivedefaultpartition -> hiveDefaultPartition
pvalue -> pValue
errormsg -> errorMsg
isDetectAsDimentionDatatype -> isDetectAsDimentionDataType

This closes #3052

8 days ago[CARBONDATA-3224] Support SDK validate the improper value when using withLoadOptions
xubo245 [Thu, 3 Jan 2019 03:26:55 +0000 (11:26 +0800)] 
[CARBONDATA-3224] Support SDK validate the improper value when using withLoadOptions

1. validate BAD_RECORDS_ACTION
2. validate BAD_RECORDS_LOGGER_ENABLE

This closes #3048

8 days ago[CARBONDATA-3222]Fix dataload failure after creation of preaggregate datamap
shardul-cr7 [Wed, 2 Jan 2019 09:17:34 +0000 (14:47 +0530)] 
[CARBONDATA-3222]Fix dataload failure after creation of preaggregate datamap
on main table with long_string_columns

Dataload is gettling failed because child table properties are not getting
modified according to the parent table for long_string_columns.
This occurs only when long_string_columns is not specified in dmproperties
for preaggregate datamap but the datamap was getting created and data load
was failing. This PR is to avoid the dataload failure in this scenario.

This closes #3045

8 days ago[CARBONDATA-3189] Fix PreAggregate Datamap Issue
Shubh18s [Thu, 20 Dec 2018 11:17:32 +0000 (16:47 +0530)] 
[CARBONDATA-3189] Fix PreAggregate Datamap Issue

Problem -
Load and Select query was failing on table with preaggregate datamap.

Cause -
Previously if query on datamap was not enabled in thread, there was no check afterwards.

Solution -
After checking whether thread param for Direct Query On Datamap is enable. If not enable, we check in session params and then global.

This closes #3010

8 days ago[CARBONDATA-3223] Fixed Wrong Datasize and Indexsize calculation for old store using...
manishnalla1994 [Wed, 2 Jan 2019 12:30:36 +0000 (18:00 +0530)] 
[CARBONDATA-3223] Fixed Wrong Datasize and Indexsize calculation for old store using Show Segments

Problem: Table Created and Loading on older version(1.1) was showing data-size and index-size 0B when refreshed on new version. This was
because when the data-size was coming as "null" we were not computing it, directly assigning 0 value to it.

Solution: Showing the old datasize and indexsize as NA.

Also refactored SetQuerySegment code for better understandability.

This closes #3047

11 days ago[CARBONDATA-3226] Remove duplicated and useless files
Oscar [Thu, 3 Jan 2019 14:20:16 +0000 (22:20 +0800)] 
[CARBONDATA-3226] Remove duplicated and useless files

Remove duplicated and useless files from the project.

This closes #3049

11 days ago[CARBONDATA-3149] Documentation for alter table column rename
akashrn5 [Wed, 2 Jan 2019 06:39:05 +0000 (12:09 +0530)] 
[CARBONDATA-3149] Documentation for alter table column rename

Added documentation for alter table column rename

This closes #3044

11 days ago[CARBONDATA-3217] Optimize implicit filter expression performance by removing extra...
manishgupta88 [Thu, 27 Dec 2018 09:48:07 +0000 (15:18 +0530)] 
[CARBONDATA-3217] Optimize implicit filter expression performance by removing extra serialization

Fixed performance issue for Implicit filter column
1. Removed serialization all the implicit filter values in each task. Instead serialized values only for the blocks going to particular task
2. Removed 2 times deserialization of implicit filter values in executor for each task. 1 time is sufficient

This closes #3039

11 days ago[CARBONDATA-3216] Fix enableLocalDictionary with false issue in CSDK
xubo245 [Sat, 29 Dec 2018 03:34:41 +0000 (11:34 +0800)] 
[CARBONDATA-3216] Fix enableLocalDictionary with false issue in CSDK

This closes #3035

11 days ago[HOTFIX] Optimize the code style in csdk/sdk markdown doc
lamber-ken [Thu, 27 Dec 2018 13:52:21 +0000 (21:52 +0800)] 
[HOTFIX] Optimize the code style in csdk/sdk markdown doc

optimize backoff csdk-guide & sdk-guide doc code style

This closes #3030

12 days ago[CARBONDATA-3212] Fixed NegativeArraySizeException while querying in specific scenario
shivamasn [Wed, 2 Jan 2019 10:49:22 +0000 (16:19 +0530)] 
[CARBONDATA-3212] Fixed NegativeArraySizeException while querying in specific scenario

Problem:In Local Dictionary, page size was not getting updated for complex children columns. So during fallback,
new page was being created with less records giving NegativeArraySizeException while querying data.

Solution:Updated the page size in Local Dictionary.

This closes#3031

13 days ago[CARBONDATA-3218] Fix schema refresh and wrong query result issues in presto.
ravipesala [Mon, 31 Dec 2018 11:50:24 +0000 (17:20 +0530)] 
[CARBONDATA-3218] Fix schema refresh and wrong query result issues in presto.

Problem:
Schema which is updated in spark is not reflecting in presto. which results in wrong query result in presto.

Solution:
Update the schema in presto whenever the schema changed in spark. And also override the putNulls method in all presto readers to work for null data scenarios.

This closes #3041

13 days ago[CARBONDATA-3205]Fix Get Local Dictionary for empty Array of String
Indhumathi27 [Thu, 27 Dec 2018 12:02:48 +0000 (17:32 +0530)] 
[CARBONDATA-3205]Fix Get Local Dictionary for empty Array of String

Problem:
In case of Array data type, if the data is empty then the Local dictionary entry for the data will not be created.
So, while querying the data, dictionary value read from the local dictionary will go wrong.
In case we have 3 rows of data with the first row as empty data, then the number of local dictionary entries will be 2. Reading back the dictionary values from the local dictionary while query throws ArrayIndexOutOfBoundException.

Solution:
Check for the dictionary value presence, fill default value only if dictionary values exists.

This closes #3028

2 weeks ago[CARBONDATA-3206] Fix some spell errors in CarbonData
WangQingNa [Tue, 1 Jan 2019 02:19:13 +0000 (10:19 +0800)] 
[CARBONDATA-3206] Fix some spell errors in CarbonData

Fix some spell errors:
numberofColumnPerIOString. => numberOfColumnPerIOString
numberofColumnPerIO => numberOfColumnPerIO
iexpectedMinSizePerNode => expectedMinSizePerNodeInt
parentname => parentName
nullformat => nullFormat

This closes #3042

2 weeks ago[CARBONDATA-3213] Add license for java and md files
iture [Tue, 1 Jan 2019 07:08:41 +0000 (15:08 +0800)] 
[CARBONDATA-3213] Add license for java and md files

 Add license for java and md files

This closes #3043

2 weeks ago[CARBONDATA-3209] Remove unused import
wangguangxin.cn [Mon, 31 Dec 2018 08:23:38 +0000 (16:23 +0800)] 
[CARBONDATA-3209] Remove unused import

Remove unused import

This closes #3038

2 weeks ago[CARBONDATA-3208] Remove unused parameters, imports and optimize the spell errors
Oscar [Thu, 27 Dec 2018 23:24:06 +0000 (07:24 +0800)] 
[CARBONDATA-3208] Remove unused parameters, imports and optimize the spell errors

Remove unused parameters, imports, optimize the spell errors,fix some typos.

This closes #3036

2 weeks ago[CARBONDATA-3202]update the schema to session catalog after add column, drop column...
akashrn5 [Thu, 27 Dec 2018 06:01:44 +0000 (11:31 +0530)] 
[CARBONDATA-3202]update the schema to session catalog after add column, drop column and column rename

Problem:

1. For alter table rename, once we change the table name in carbon, we fire alter table rename DDL using hive client. But for add, drop and column
rename Spark does not support there features, but hive supports. so after rename, or add or drop column, the new updated schema is not updated in catalog.
2. after column rename column comment is not getting copied to renamed column

Solution:

1. We can directly call the spark API alterTableDataSchema by passing the updated schema, which in turn updates the shema in sessioncatalog. Since
this API is supported from spark2.1 onward, codes changes will be for spark 2.2 and spark2.3, behavior with spark2.1 remains the same.
2. while updating the catalog schema, if column has comment, put in column metadata

This closes #3027

2 weeks ago[CARBONDATA-3126] Correct some spell errors in CarbonData
tisonkong [Sat, 29 Dec 2018 02:02:27 +0000 (10:02 +0800)] 
[CARBONDATA-3126] Correct some spell errors in CarbonData

This PR fix some spell errors in CarbonData.

This closes #3034

2 weeks ago[CARBONDATA-3194] Integrating Carbon with Presto using hive connector
ravipesala [Wed, 19 Dec 2018 15:49:41 +0000 (21:19 +0530)] 
[CARBONDATA-3194] Integrating Carbon with Presto using hive connector

This PR extend the CarbondataConnectorFactory with HiveConnectorFactory, so that all features of HIve presto connector will be inherited to carbon as well.
It simplifies the integration so removed lot of old code.

This closes #3019

2 weeks ago[CARBONDATA-3196] [CARBONDATA-3203]Fixed Compaction for Complex types with Dictionary...
manishnalla1994 [Mon, 24 Dec 2018 12:07:36 +0000 (17:37 +0530)] 
[CARBONDATA-3196] [CARBONDATA-3203]Fixed Compaction for Complex types with Dictionary Include and also supported Compaction for restructured table

Problem1: Compaction Failing for Complex datatypes with Dictionary Include as KeyGenenrator was not being set in model for Dictionary Include Complex
Columns and dictionary include complex columns were not handled for finding cardinality.

Solution: Handled both these issues by setting KeyGenerator and storing cardinality of Complex dictionary include columns.

Problem2: Compaction was failing for restructured table containing dictionary include complex columns.

Solution: Handled complex columns for this case by inserting correct indices of the columns.

This closes #3022

2 weeks ago[CARBONDATA-3195]Added validation for Inverted Index columns and added a test case...
shardul-cr7 [Mon, 24 Dec 2018 07:21:16 +0000 (12:51 +0530)] 
[CARBONDATA-3195]Added validation for Inverted Index columns and added a test case in case of varchar

This PR is to add a validation for inverted index when inverted index columns
are not present in the sort columns they should throw a exception.
Also added a test case in case when varchar columns are passed as inverted index.

This closes #3020

2 weeks ago[Carbondata-3173] Add the hive/presto documents index to the root of file ReadMe.md
BeyondYourself [Thu, 20 Dec 2018 06:39:18 +0000 (14:39 +0800)] 
[Carbondata-3173] Add the hive/presto documents index to the root of file ReadMe.md

Add document, merge the presto documents into the docs folder and modify the related links
It helps user to find the relevant integration documents

This closes #3015

2 weeks ago[CARBONDATA-2218] AlluxioCarbonFile while trying to force rename causes a FileSytem...
Chandra [Mon, 3 Dec 2018 10:20:59 +0000 (18:20 +0800)] 
[CARBONDATA-2218] AlluxioCarbonFile while trying to force rename causes a FileSytem error and is not a DistributionFileSystem.(Adding Alluxio Support)

Implement renameForce for Alluxio integration

This closes #2161

2 weeks ago[HOTFIX] rename field thread_pool_size to match camel case
lamber-ken [Sun, 23 Dec 2018 15:52:15 +0000 (23:52 +0800)] 
[HOTFIX] rename field thread_pool_size to match camel case

This closes #3018

2 weeks ago[CARBONDATA-3165]Protection of Bloom Null Exception
qiuchenjian [Wed, 12 Dec 2018 08:43:31 +0000 (16:43 +0800)] 
[CARBONDATA-3165]Protection of Bloom Null Exception

When filteredShard is empty, return arraylist<>(), and protect null exception of other scenarios

This closes #2984

2 weeks ago[CARBONDATA-3188] Create carbon table as hive understandable metastore table needed...
ravipesala [Wed, 19 Dec 2018 16:30:57 +0000 (22:00 +0530)] 
[CARBONDATA-3188] Create carbon table as hive understandable metastore table needed by Presto and Hive

Problem:
Current carbon table created in spark creates the hive table internally but it does not have much information like schema, input/output format and location details. So other execution engines like Presto and Hive cannot read the table.

Reason:
Spark always checks in HiveSerde static map whether it is a hive supported table or not, since carbon is not registered to that map it cannot create hive understandable table. It justs creates a table without schema and location and adds its own schema as part of properties.

Solution:
Add the carbon details also to HiveSerde static map so that it can create Hive understandable table.

This closes #3004

2 weeks ago[CARBONDATA-3176] Optimize quick-start-guide documentation
lamber-ken [Sun, 16 Dec 2018 17:17:55 +0000 (01:17 +0800)] 
[CARBONDATA-3176] Optimize quick-start-guide documentation

optimize sql with multi lines and fix some markdown style in doc

This closes #2992

2 weeks ago[CARBONDATA-3142]Add timestamp with thread name which created by CarbonThreadFactory
qiuchenjian [Mon, 3 Dec 2018 07:19:37 +0000 (15:19 +0800)] 
[CARBONDATA-3142]Add timestamp with thread name which created by CarbonThreadFactory

Add timestamp with thread name which created by CarbonThreadFactory
Because the names of threads created by CarbonThreadFactory are all the same, such as ProducerPool_, this logs are confused, we can't distinguish threads in the thread pool

This closes #2970

3 weeks ago[CARBONDATA-3080] Supporting local dictionary enable by default for SDK
BJangir [Mon, 5 Nov 2018 14:14:22 +0000 (19:44 +0530)] 
[CARBONDATA-3080] Supporting local dictionary enable by default for SDK

Enabled Local dictionary by default for SDK and handle below issues

In Local dictionary enabled if same cols given multiple times then duplicate projection cols gives empty records in SDK reader.
Solution :- added mapping of projection cols v/s carbon fetch col (remove duplicate while fetching data)

In SDK reader ,Same TaskID is assigned when run CSDKReader reads blocks. For Ex. Read Seq -> read parallel.In this case During Sequence read TaskID is assinged in main thread and during parallel read also all thread got same TaskId (InheritableThreadLocal). This causing some time JVM crash as in concurrent read. refer testReadParallely() testcase .
Solution :- During freeallmemory () clear the Taskinfo also.

This closes #2897

3 weeks ago[CARBONDATA-3184]Fix DataLoad Failure with 'using carbondata'
Indhumathi27 [Tue, 18 Dec 2018 10:38:42 +0000 (16:08 +0530)] 
[CARBONDATA-3184]Fix DataLoad Failure with 'using carbondata'

Problem
When the carbonsession is initialized with different storepath and metastorepath, creating a table through 'using carbondata' and loading the same using load ddl fails, because it tries to get schema from locationuri which contains warehouse path.

Solution:
Set location to tablepath if location and tablepath are different

This closes #2998

3 weeks ago[CARBONDATA-3192] Fix for compaction compatibilty issue
manishnalla1994 [Fri, 21 Dec 2018 13:41:46 +0000 (19:11 +0530)] 
[CARBONDATA-3192] Fix for compaction compatibilty issue

Problem: Table Created, Loaded and Altered(Column added) in 1.5.1 version and Refreshed, Altered(Added Column dropped) ,
 Loaded and Compacted with Varchar Columns in new version giving error.

Solution: Corrected the Varchar Dimension index calculation by calculating it based on the columns
 which have been deleted (invisibleColumns). Hence giving the correct ordinals after deletion.

This closes #3016

3 weeks ago[CARBONDATA-3186]Avoid creating empty carbondata file when all the records are bad...
ajantha-bhat [Wed, 19 Dec 2018 12:57:53 +0000 (18:27 +0530)] 
[CARBONDATA-3186]Avoid creating empty carbondata file when all the records are bad record with action redirect.

problem: In the no_sort flow, writer will be open as there is no blocking sort step.
So, when all the record goes as bad record with redirect in converted step.
writer is closing the empty .carbondata file.
when this empty carbondata file is queried , we get multiple issues including NPE.

solution: When the file size is 0 bytes. do the following
a) If one data and one index file -- delete carbondata file and avoid index file creation
b) If multiple data and one index file (with few data file is full of bad recod)
-- delete carbondata files, remove them from blockIndexInfoList, so index file not will not have that info of empty carbon files
c) In case direct write to store path is enable. need to delete data file from there and avoid writing index file with that carbondata in info.

[HOTFIX] Presto NPE when non-transactional table is cached for s3a/HDFS.
cause: for non-transactional table, schema must not be read.

solution: use inferred schema, instead of checking schema file.

This closes #3003

3 weeks ago[CARBONDATA-3127]Fix the HiveExample & TestCarbonSerde exception
Nicholas Jiang [Thu, 20 Dec 2018 20:14:09 +0000 (04:14 +0800)] 
[CARBONDATA-3127]Fix the HiveExample & TestCarbonSerde exception

This pull request fix HiveExample and move it to example module

This closes #3012

3 weeks ago[CARBONDATA-3179] Map Data Load Failure and Struct Projection Pushdown Issue
manishnalla1994 [Fri, 14 Dec 2018 11:50:15 +0000 (17:20 +0530)] 
[CARBONDATA-3179] Map Data Load Failure and Struct Projection Pushdown Issue

Problem1 : Data Load failing for Insert into Select from same table in containing Map datatype.
Solution: Map type was not handled for this scenario. Handled it now.

Problem2 : Projection Pushdown not supported for table containing Struct of Map.
Solution: Pass the parent column only for projection pushdown if table contains MapType.

This closes #2993

3 weeks ago[CARBONDATA-3149]Support alter table column rename
akashrn5 [Fri, 14 Dec 2018 11:20:09 +0000 (16:50 +0530)] 
[CARBONDATA-3149]Support alter table column rename

This PR is to support column rename feature in carbondata. Carbon already supports datatype change, alter table add column and drop column. This PR uses same DDL as datatype change and supports the column rename.

Any column canbe renamed, since the same DDL is used for rename adn datatype change, both operation can be done together, during that case, the datatupe change validation and limitation remains the same as before

This closes #2990

3 weeks ago[CARBONDATA-3161]Pipe dilimiter is not working for streaming table online_segment
brijoobopanna [Tue, 18 Dec 2018 10:05:46 +0000 (15:35 +0530)] 
[CARBONDATA-3161]Pipe dilimiter is not working for streaming table

This closes #2997

3 weeks ago[CARBONDATA-3187] Supported Global Dictionary For Map
manishnalla1994 [Thu, 20 Dec 2018 05:53:46 +0000 (11:23 +0530)] 
[CARBONDATA-3187] Supported Global Dictionary For Map

Problem: Global Dictionary was not working for Map datatype and giving Null values.

Solution:Added the case for Global Dictionary to be created in case the datatype is Complex Map.

This closes #3006

3 weeks ago[CARBONDATA-3181][BloomDataMap] Fix access field error for BitSet in bloom filter
Manhua [Wed, 19 Dec 2018 03:30:46 +0000 (11:30 +0800)] 
[CARBONDATA-3181][BloomDataMap] Fix access field error for BitSet in bloom filter

Problem
java.lang.IllegalAccessError is thrown when query on bloom filter without compress on CarbonThriftServer.

Analyse
similar problem was occur when get/set BitSet in CarbonBloomFilter, it uses reflection to solve. We can do it like this.
Since we have set the BitSet already, another easier way is to call super class method to avoid accessing it from CarbonBloomFilter

Solution
if bloom filter is not compressed, call super method to test membership

This closes #3000

3 weeks ago[SDV] Add datasource testcases for Spark File Format
shivamasn [Mon, 26 Nov 2018 10:34:08 +0000 (16:04 +0530)] 
[SDV] Add datasource testcases for Spark File Format

Added datasource test cases for Spark File Format.

This closes #2951

3 weeks ago[HOTFIX] replace apache common log with carbondata log4j
brijoobopanna [Tue, 18 Dec 2018 10:45:13 +0000 (16:15 +0530)] 
[HOTFIX] replace apache common log with carbondata log4j

replace apache common log with carbondata log4j

This closes #2999

3 weeks ago[CARBONDATA-3182] Fixed SDV Testcase failures
manishnalla1994 [Wed, 19 Dec 2018 08:45:17 +0000 (14:15 +0530)] 
[CARBONDATA-3182] Fixed SDV Testcase failures

SDV Testcases were failing because Delimiter and Complex Delimiter was same.
So changed the Complex Delimiter in Load Option.

This closes #3002

3 weeks ago[CARBONDATA-2999] support read schema from S3
xubo245 [Tue, 20 Nov 2018 07:36:43 +0000 (15:36 +0800)] 
[CARBONDATA-2999] support read schema from S3

This closes #2931

4 weeks ago[CARBONDATA-3162][CARBONDATA-3163][CARBONDATA-3164] 'no_sort' as default sort_scope
ajantha-bhat [Tue, 4 Dec 2018 17:00:09 +0000 (22:30 +0530)] 
[CARBONDATA-3162][CARBONDATA-3163][CARBONDATA-3164] 'no_sort' as default sort_scope

What are the changes proposed in this PR?
This PR is based on the below discussion that is mentioned in the mail-chain.

http://apache-carbondata-dev-mailing-list-archive.1130556.n5.nabble.com/Discussion-Make-no-sort-as-default-sort-scope-and-keep-sort-columns-as-empty-by-default-td70233.html

changes are done to make 'no_sort' as default sort_scope and keep sort_columns as 'empty' by default.
Also few issues are fixed in 'no_sort' and empty sort_columns flow.

This closes #2966

4 weeks ago[CARBONDATA-3174]varchar column trailing space issue fixed
Shubh18s [Fri, 14 Dec 2018 09:11:06 +0000 (14:41 +0530)] 
[CARBONDATA-3174]varchar column trailing space issue fixed

What was the issue?
After doing SDK Write, Select * was failing for 'long_string_columns' with trailing space.

What has been changed?
Removed the trailing space in ColumnName.

This closes #2988

4 weeks ago[CARBONDATA-3160] Compaction support with MAP data type
dhatchayani [Mon, 17 Dec 2018 14:08:07 +0000 (19:38 +0530)] 
[CARBONDATA-3160] Compaction support with MAP data type

This closes #2995

4 weeks ago[HOTFIX] Fixed Query performance issue
kumarvishal09 [Thu, 13 Dec 2018 06:10:18 +0000 (11:40 +0530)] 
[HOTFIX] Fixed Query performance issue

Problem
When some pages is giving 0 rows, then also BlockletScanResult is uncompressing all the pages. When compression is high and one blocklet contains more number of pages in this case page uncompression is taking more time and impacting query performance.

Solution
Added check if number of record after filtering is 0 then no need to uncompress that page

This closes #2985

4 weeks ago[CARBONDATA-3119] Fixed SDK Write for Complex Array Type when Array is Empty
shivamasn [Wed, 12 Dec 2018 09:39:17 +0000 (15:09 +0530)] 
[CARBONDATA-3119] Fixed SDK Write for Complex Array Type when Array is Empty

What was the issue?
For SDK Write , it was going into bad record by returning null on passing empty array for Complex Type.

What has been changed?
Added a check for empty array. This will return an empty array.

This closes #2983

4 weeks ago[CARBONDATA-3073] Support configure TableProperties,withLoadOption etc.
xubo245 [Mon, 5 Nov 2018 11:43:19 +0000 (19:43 +0800)] 
[CARBONDATA-3073] Support configure TableProperties,withLoadOption etc.
interface in carbon writer of C++ SDK support withTableProperty,
withLoadOption,taskNo, uniqueIdentifier, withThreadSafe,withBlockSize,
withBlockletSize, localDictionaryThreshold, enableLocalDictionary, sortBy in C++ SDK

support withTableProperty, withLoadOption,taskNo, uniqueIdentifier, withThreadSafe,
withBlockSize, withBlockletSize, localDictionaryThreshold, enableLocalDictionary,sortBy in C++ SDK

This closes #2899

4 weeks ago[CARBONDATA-3118] support parallel block pruning for non-default datamaps
ajantha-bhat [Fri, 23 Nov 2018 13:22:07 +0000 (18:52 +0530)] 
[CARBONDATA-3118] support parallel block pruning for non-default datamaps

Changes in this PR:
BlockDatamap and blockletDatamap can store multiple files information. Each file is one row in that datamap. But non-default datamaps are not like that, so default datamaps distribution in multithread happens based on number of entries in datamaps, for non-default datamps distribution is based on number of datamaps (one datamap is considered as one record for non-default datamaps)

so, supported block pruning in multi-thread for non-default datamaps in this PR.

This closes #2949

4 weeks ago[CARBONDATA-3175]Fix Testcase failures in complex delimiters
Indhumathi27 [Fri, 14 Dec 2018 10:56:00 +0000 (16:26 +0530)] 
[CARBONDATA-3175]Fix Testcase failures in complex delimiters

Changed the complex delimiter in testcases

This closes #2989

4 weeks ago[CARBONDATA-3102] Fix NoClassDefFoundError when use thriftServer and beeline to read...
xubo245 [Thu, 15 Nov 2018 12:36:12 +0000 (20:36 +0800)] 
[CARBONDATA-3102] Fix NoClassDefFoundError when use thriftServer and beeline to read/write data from/to S3

This PR fix NoClassDefFoundError when use thriftServer and beeline to use table on cloud storage

This closes #2925

4 weeks ago[CARBONDATA-3002] Fix some spell error
xubo245 [Thu, 1 Nov 2018 03:16:43 +0000 (11:16 +0800)] 
[CARBONDATA-3002] Fix some spell error

Fix some spell error

This closes #2890

4 weeks ago[CARBONDATA-3017] Map DDL Support
manishnalla1994 [Tue, 16 Oct 2018 09:48:08 +0000 (15:18 +0530)] 
[CARBONDATA-3017] Map DDL Support

Support Create DDL for Map type.

This closes #2980

4 weeks ago[CARBONDATA-3166]Updated Document and added Column Compressor used in Describe Formatted
shardul-cr7 [Thu, 13 Dec 2018 08:42:18 +0000 (14:12 +0530)] 
[CARBONDATA-3166]Updated Document and added Column Compressor used in Describe Formatted

Updated Document and added column compressor used in Describe Formatted Command

This closes #2986

4 weeks ago[CARBONDATA-3153] Complex delimiters change
manishnalla1994 [Fri, 7 Dec 2018 09:25:58 +0000 (14:55 +0530)] 
[CARBONDATA-3153] Complex delimiters change

Changed the two Complex Delimiters used to '\001' and '\002'.

This closes #2979

4 weeks ago[CARBONDATA-3158] support presto-carbon to read sdk cabron files
ajantha-bhat [Fri, 7 Dec 2018 13:07:10 +0000 (18:37 +0530)] 
[CARBONDATA-3158] support presto-carbon to read sdk cabron files

problem:
Currently, carbon SDK files output (files without metadata folder and its
contents) are read by spark using an external table with carbon session.
But presto carbon integration doesn't support that. It can currently read
only the transactional table output files.

solution:
Hence we can enhance presto to read SDK output files. This will increase
the use cases for presto-carbon integration.

The above scenario can be achieved by inferring schema if metadata folder
not exists and
setting read committed scope to LatestFilesReadCommittedScope, if
non-transctional table output files are present.

This closes #2982

4 weeks ago[CARBONDATA-2755][Complex DataType Enhancements] Compaction Complex Types (STRUCT...
sounakr [Tue, 17 Jul 2018 05:05:32 +0000 (10:35 +0530)] 
[CARBONDATA-2755][Complex DataType Enhancements] Compaction Complex Types (STRUCT AND ARRAY)

Cherry-Picked from PR #2516

This closes #2976

4 weeks ago[CARBONDATA-2563][CATALYST] Explain query with Order by operator is fired Spark Job
s71955 [Tue, 4 Dec 2018 15:18:55 +0000 (20:48 +0530)] 
[CARBONDATA-2563][CATALYST] Explain query with Order by operator is fired Spark Job
which is increase explain query time even though isQueryStatisticsEnabled is false

Even though isQueryStatisticsEnabled is false which means user doesnt wants to see
statistics for explain command, still the engine tries to fetch the paritions information
which causes a job execution in case of order by query, this is mainly because
spark engine does sampling for defifning certain range within paritions  for sorting process.

As part of solution the explain command process shall fetch the parition info only if isQueryStatisticsEnabled  true.

This closes #2974

4 weeks ago[CARBONDATA-3157] Added lazy load and direct vector fill support to Presto
ravipesala [Wed, 5 Dec 2018 13:04:13 +0000 (18:34 +0530)] 
[CARBONDATA-3157] Added lazy load and direct vector fill support to Presto

To improve the scan performance, integrate lazy loading and direct fil vector features to Carbon Presto Integration.

This PR also fixes the query fail in case of multiple table join and filters

This closes #2978

5 weeks ago[CARBONDATA-3116] Support set carbon.query.directQueryOnDataMap.enabled=true
xubo245 [Wed, 21 Nov 2018 16:32:13 +0000 (00:32 +0800)] 
[CARBONDATA-3116] Support set carbon.query.directQueryOnDataMap.enabled=true

This PR fix the error:User can query on dataMap after set carbon.query.directQueryOnDataMap.enabled=true.

This closes #2940

5 weeks ago[CARBONDATA-3147] Fixed concurrent load issue
kunal642 [Wed, 5 Dec 2018 10:30:41 +0000 (16:00 +0530)] 
[CARBONDATA-3147] Fixed concurrent load issue

Problem: During datamap commit, tablestatus_UUID files were being renamed to tablestatus due to which any new in progress entry was being skipped and eventually during writing of success status 'Entry not found exception was thrown'.

Solution: Instead of renaming the files, now we are reading both the files and merging the contents. Then the updated details are written to the tablestatus file.

This closes #2977

5 weeks ago[CARBONDATA-3005]Support Gzip as column compressor
shardul-cr7 [Tue, 23 Oct 2018 11:57:47 +0000 (17:27 +0530)] 
[CARBONDATA-3005]Support Gzip as column compressor

This PR is to add a new compressor "Gzip" and enhance the compressing capabilities offered by CarbonData.
User can now use gzip as the compressor for loading the data.
Gzip can be set at System Properties level or also for particular table.

This closes #2847

5 weeks ago[CARBONDATA-2840] Added SDV testcases for Complex DataType Support
Indhumathi27 [Wed, 8 Aug 2018 10:03:36 +0000 (15:33 +0530)] 
[CARBONDATA-2840] Added SDV testcases for Complex DataType Support

Added SDV testcases for Complex DataType Support

This closes #2621

5 weeks ago[CARBONDATA-2838] Added SDV test cases for Local Dictionary Support
praveenmeenakshi56 [Wed, 8 Aug 2018 06:15:49 +0000 (11:45 +0530)] 
[CARBONDATA-2838] Added SDV test cases for Local Dictionary Support

Added SDV test cases for Local Dictionary Support

This closes #2617

5 weeks ago[CARBONDATA-3141] Removed Carbon Table Detail Command Test case
praveenmeenakshi56 [Fri, 30 Nov 2018 12:35:08 +0000 (18:05 +0530)] 
[CARBONDATA-3141] Removed Carbon Table Detail Command Test case

Removed Carbon Table Detail Command Test case, as this is not used.

This closes #2968

5 weeks ago[CARBONDATA-3145] Avoid duplicate decoding for complex column pages while querying
dhatchayani [Wed, 5 Dec 2018 07:10:56 +0000 (12:40 +0530)] 
[CARBONDATA-3145] Avoid duplicate decoding for complex column pages while querying

Problem:
Column page is decoded for getting each row of a complex primitive column.

Solution:
Decode a page it once then use the same.

This closes #2975

5 weeks ago[CARBONDATA-3143] Fixed local dictionary in presto
ravipesala [Mon, 3 Dec 2018 12:57:33 +0000 (18:27 +0530)] 
[CARBONDATA-3143] Fixed local dictionary in presto

Problem:
Currently, local dictionary columns are not working for presto as it is not handled in the integration layer.

Solution:
Add local dictionary support to presto integration layer.

This closes #2972

5 weeks ago[CARBONDATA-3154] Fix spark-2.1 test error
xubo245 [Fri, 7 Dec 2018 16:01:43 +0000 (00:01 +0800)] 
[CARBONDATA-3154] Fix spark-2.1 test error

Spark2.2.1 supports location, but Spark2.1.0 doesn't support location,
supports options(path 'your file path').
So we should change location to options(path ... ) and
create new directory before use "create table" in spark2.1.0.

This closes #2981

6 weeks ago[CARBONDATA-3119] Fixing the getOrCreateCarbonSession method parameter to an empty...
zygitup [Wed, 28 Nov 2018 12:38:56 +0000 (20:38 +0800)] 
[CARBONDATA-3119] Fixing the getOrCreateCarbonSession method parameter to an empty string

Fixing the getOrCreateCarbonSession method parameter to an empty string causes the select table data to be empty

problem: When create carbonSession in this way: [val carbon = SparkSession.builder().config(sc.getConf).getOrCreateCarbonSession("")],The prompt can be created successfully, with no exceptions thrown during the process, but ultimately [carbon.sql("SELECT * FROM TABLE").show()] is empty.

cause: [carbon.sql("SELECT * FROM TABLE").show()] is empty.

solution: Increases the null or empty judgment of getOrCreateCarbonSession method  parameters[storePath,metaStorePath]

This closes #2961

6 weeks ago[CARBONDATA-3140]Block create like table command in carbon
akashrn5 [Fri, 30 Nov 2018 10:31:34 +0000 (16:01 +0530)] 
[CARBONDATA-3140]Block create like table command in carbon

Why this PR?
when like table is created using carbon table as source table, and the new table is dropped, it deletes the source table in spark-2.1 and works fine in other. Blocking the create like command for carbon table

This closes #2967

6 weeks ago[HOTFIX] Fix ArrayOutOfBound exception when duplicate measure in projection column
ajantha-bhat [Thu, 29 Nov 2018 11:42:56 +0000 (17:12 +0530)] 
[HOTFIX] Fix ArrayOutOfBound exception when duplicate measure in projection column

problem: ArrayOutOfBound exception when duplicate measure in the projection column

cause: In query executor, when the reusable buffer is formed. It was considering
only the unique values. Need to consider all the projections.

solution: consider all the projections, while forming a reusable buffer.

This closes #2964

6 weeks ago[Documentation] Editorial review
sgururajshetty [Thu, 29 Nov 2018 13:14:22 +0000 (18:44 +0530)] 
[Documentation] Editorial review

Corrected spelling mistakes and grammer

This closes #2965

6 weeks ago[CARBONDATA-3095] Optimize the documentation of SDK/CSDK
xubo245 [Thu, 29 Nov 2018 02:07:42 +0000 (10:07 +0800)] 
[CARBONDATA-3095] Optimize the documentation of SDK/CSDK

Optimize the documentation of SDK/CSDK.

1.correct one error: after split(int maxSplits) of sdk-guide.md, the format has problem because less `
2.add doc
3.move the order of doc

This closes #2915

6 weeks ago[CARBONDATA-3128]Fix the HiveExample exception
Nicholas Jiang [Tue, 27 Nov 2018 06:51:56 +0000 (14:51 +0800)] 
[CARBONDATA-3128]Fix the HiveExample exception

This pull request fixes HiveExample exception with different spark versions.
When through idea running HiveExample application occurs exception with spark-2.1 and spark-2.3 profile, this fix update pom.xml of carbondata modules for spark dependencies.

6 weeks ago[CARBONDATA-3138] Fix random count mismatch with multi-thread block pruning
ajantha-bhat [Wed, 28 Nov 2018 13:48:16 +0000 (19:18 +0530)] 
[CARBONDATA-3138] Fix random count mismatch with multi-thread block pruning

problem: Random count mismatch in query in multi-thread block-pruning scenario.

cause: Existing prune method not meant for multi-threading as synchronization was missing.
only in implicit filter scenario, while preparing the block ID list, synchronization was missing. Hence pruning was giving wrong result.

solution: synchronize the implicit filter preparation, as prune now called in multi-thread

This closes #2962

6 weeks ago[CARBONDATA-3124] Updated log message in UnsafeMemoryManager
shardul-cr7 [Fri, 23 Nov 2018 13:15:44 +0000 (18:45 +0530)] 
[CARBONDATA-3124] Updated log message in UnsafeMemoryManager

This closes #2948

6 weeks ago[CARBONDATA-3136] Fix JVM crash with preaggregate datamap when average of decimal...
ajantha-bhat [Tue, 27 Nov 2018 14:07:49 +0000 (19:37 +0530)] 
[CARBONDATA-3136] Fix JVM crash with preaggregate datamap when average of decimal column is taken with orderby

problem: JVM crash with preaggregate datamap when average of decimal column is taken with orderby.

cause: When preparing plan with preaggregate datamap, decimal is cast to double in average expression. This was leading to JVM crash in spark as we were filling with wrong precision (callstack mentioned in JIRA)

solution: division result of average, should be casted to decimal instead of double for decimal datatype.

This closes #2958

6 weeks ago[DOCUMENT] Added filter push handling parameter in documents.
ravipesala [Tue, 27 Nov 2018 09:46:57 +0000 (15:16 +0530)] 
[DOCUMENT] Added filter push handling parameter in documents.

Added filter push handling parameter in documents

This closes #2957

6 weeks ago[CARBONDATA-3132]Correct the task disrtibution in case of compaction when the actual...
akashrn5 [Tue, 27 Nov 2018 08:02:05 +0000 (13:32 +0530)] 
[CARBONDATA-3132]Correct the task disrtibution in case of compaction when the actual block nodes and active nodes are different

Why This PR?
There is an unequal distribution of tasks during compaction
ex: When the load is done using replication factor 2 and all nodes are active and during compaction one node is down, basically it is not active executor, so the task distribution should take care to distribute the tasks equally among all the active executors instead of giving more tasks to single executor and less to other executor. But sometimes the unequal distribution happens and the compaction becomes sow.

Solution
Currently we are not getting active executors before the node block mapping and sending the list of active executors as null, which will lead to the above problem sometimes. so get the active executors and send for node block mapping logic which will handle to distribute equally.

This closes #2953

6 weeks ago[CARBONDATA-3134] fixed null values when cachelevel is set as blocklet
kunal642 [Tue, 27 Nov 2018 08:43:27 +0000 (14:13 +0530)] 
[CARBONDATA-3134] fixed null values when cachelevel is set as blocklet

Problem:
For each blocklet an object of SegmentPropertiesAndSchemaHolder is created to store the schema used for query. This object is created only if no other blocklet has the same schema. To check the schema we are comparing List<ColumnSchema>, as the equals method in ColumnSchema does not check for columnUniqueId therefore this check is failing and the new restructured blocklet is using the schema of the old blocklet. Due to this the newly added column is being ignored as the old blocklet schema specifies that the column is delete(alter drop).

Solution:
Instead of checking the equality through equals and hashcode, write a new implementation for both and check based on columnUniqueId.

This closes #2956

6 weeks ago[CARBONDATA-3133] Update the document to add spark 2.3.2 and datamap mv compiling...
Jonathan.Wei [Tue, 27 Nov 2018 07:20:48 +0000 (15:20 +0800)] 
[CARBONDATA-3133] Update the document to add spark 2.3.2 and datamap mv compiling method

Update the document to add spark 2.3.2 and add datamap mv compiling method.

This closes #2955

7 weeks ago[CARBONDATA-3121] Improvement of CarbonReader build time
Naman Rastogi [Thu, 22 Nov 2018 08:27:50 +0000 (13:57 +0530)] 
[CARBONDATA-3121] Improvement of CarbonReader build time

CarbonReader builder is taking huge time.

Reason
Initialization of ChunkRowIterator is triggering actual I/O operation, and thus huge build time.

Solution
remove CarbonIterator.hasNext() and CarbonIterator.next() from build.

This closes #2942

7 weeks ago[CARBONDATA-3131] Update the requested columns to the Scan
dhatchayani [Tue, 27 Nov 2018 04:43:33 +0000 (10:13 +0530)] 
[CARBONDATA-3131] Update the requested columns to the Scan

Get the updated list of requested columns for Scan task

This closes #2952

7 weeks ago[CARBONDATA-3122]CarbonReader memory leak
BJangir [Thu, 22 Nov 2018 17:04:32 +0000 (22:34 +0530)] 
[CARBONDATA-3122]CarbonReader memory leak

Issue Detail
CarbonReader has List of initialized RecordReader for each Split and each split holds page data till the reference of RecordReader is present in the List . Same is applicable for GC once user comes out from his/her calling method ( not cleaned even in close() ) but till then from each split , last page will be in memory which is not correct. For ex. if 1K carbon files then last page ( ~32K * 100 ,size if 100 String columns in memory ) of each file will be in memory till last split so total ~3GB memory will be occupied ( 1K * 32K * 100 .
Check heap dump of 3 split after reader.close() is called ,It is be seen that currentreader+all list reader are still holding memory

Solution

Once reader is finished assign currentReader to null in RecordReader List.
OR
Assign future object as null in org.apache.carbondata.core.scan.processor.DataBlockIterator#close()
Solution 2 is adopted so that it will give benefit to other than CarbonReader Flow.

This closes #2944

7 weeks ago[CARBONDATA-3123] Fixed JVM crash issue with CarbonRecordReader(SDK Reader).
kunal642 [Fri, 23 Nov 2018 05:41:44 +0000 (11:11 +0530)] 
[CARBONDATA-3123] Fixed JVM crash issue with CarbonRecordReader(SDK Reader).

Problem:
As CarbonReaderBuilder is executed on the main thread therefore while Reader creation we are setting TaskId to threadlocal. When multiple readers are created using the split API then the TaskID for the last initialized reader would be overridden and all the readers will use the same TaskID.
Due to this when one reader is reading and the other reader is freeing memory after its task completion the same memory block would be cleared and read at the same time causing SIGSEGV error.

Solution:
Do not set TaskID to thread local while Reader Initialization. ThreadLocalTaskInfo.getCarbonTaskInfo will take care of assigning new TaskID if not already present.

This closes #2945

7 weeks ago[CARBONDATA-3118] Parallelize block pruning of default datamap in driver for filter...
ajantha-bhat [Tue, 20 Nov 2018 16:45:06 +0000 (22:15 +0530)] 
[CARBONDATA-3118] Parallelize block pruning of default datamap in driver for filter query processing

Parallelize block pruning of default datamap in driver for filter query processing

Background:
We do block pruning for the filter queries at the driver side.
In real time big data scenario, we can have millions of carbon files for
one carbon table.
It is currently observed that for 1 million carbon files it takes around 5
seconds for block pruning. As each carbon file takes around 0.005ms for
pruning
(with only one filter columns set in 'column_meta_cache' tblproperty).
If the files are more, we might take more time for block pruning.
Also, spark Job will not be launched until block pruning is completed. so,
the user will not know what is happening at that time and why spark job is
not launching.
currently, block pruning is taking time as each segment processing is
happening sequentially. we can reduce the time by parallelizing it.

solution:
Keep default number of threads for block pruning as 4.
User can reduce this number by a carbon property
carbon.max.driver.threads.for.pruning to set between -> 1 to 4.

In TableDataMap.prune(),

group the segments as per the threads by distributing equal carbon files to
each thread.
Launch the threads for a group of segments to handle block pruning.

This closes #2936

7 weeks ago[Documentation] Local dictionary Data which are not supported float and byte updated...
sgururajshetty [Tue, 9 Oct 2018 11:04:20 +0000 (16:34 +0530)] 
[Documentation] Local dictionary Data which are not supported float and byte updated in the note
Float and Byte data types which are not supported are added to note and formatting issues handled
This closes #2805