[
https://issues.apache.org/jira/browse/CARBONDATA-3874?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Akash R Nilugal resolved CARBONDATA-3874.
-----------------------------------------
Fix Version/s: 2.1.0
Resolution: Fixed
> segment mismatch between maintable and SI table when load with concurrency
> --------------------------------------------------------------------------
>
> Key: CARBONDATA-3874
> URL:
https://issues.apache.org/jira/browse/CARBONDATA-3874> Project: CarbonData
> Issue Type: Bug
> Reporter: Mahesh Raju Somalaraju
> Priority: Minor
> Fix For: 2.1.0
>
> Time Spent: 3.5h
> Remaining Estimate: 0h
>
> 1. In concurrent loads, if one of the load failed for SI table then 'isSITableEnabled' will be disabled(isSITableEnabled = false).
> So in failed SI event listener case we are just checking SI enabled is true(isSITableEnabled == true) then we are not loading current load to SI table. In concurrent scenarios, this might be happening as SI enabled state is true but segment difference may exist.
> So instead of checking just SI enabled is true(isSITableEnabled == true) we should also check if any segment difference between maintable and SI table. The final output flag checking will be as follows.
> ``
> if ( isSITableEnabled == true || mainTblAndSidiff == true ) {
> ---
> }
> ``
> *Defect reproduce steps:*
> 1) Create main table
> 2) Create multiple SI tables
> 3) Load the data multiple times [ Make sure one of load should fail for one of SI table]
> 4) change the flag (isSITableEnabled == true) for failed segment by alter command.
> 5) Load data
> 6) check the segment difference between main table and SI table.
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)