- Summary:
Refactor the code of DtE to avoid the issues of Multi thread
- Bugzilla Bug (s) Resolved:
126511: multithread issue - DataException thrown out from data en...
126514: multithread issue - NPE thrown out from data engine
- Description:
Two refactor ways are used to avoid the issues when Data Engine is running in
multi thread environments
1: Decease the use of instance variable.
2: Change the creation approach of static instance to
the below format:
public
static <Type T> getInstance( )
{
if
( instance == null )
{
synchronized
( T.class )
{
if
(instance == null )
instance
= new T ( );
}
}
return
instance;
}
- Tests Description:
Junit Test
- Files Edited:
src/org/eclipse/birt/data/engine/aggregation/AggregationFactory.java
src/org/eclipse/birt/data/engine/aggregation/BuiltInAggregationFactory.java
src/org/eclipse/birt/data/engine/impl/AggregationTablePopulator.java
src/org/eclipse/birt/data/engine/impl/IDUtil.java
src/org/eclipse/birt/data/engine/impl/LogUtil.java
src/org/eclipse/birt/data/engine/impl/PreparedQuery.java
src/org/eclipse/birt/data/engine/odi/IQuery.java
src/org/eclipse/birt/data/engine/odi/FilterUtil.java
src/org/eclipse/birt/data/engine/executor/BaseQuery.java
src/org/eclipse/birt/data/engine/executor/DataSetCacheManager.java
src/org/eclipse/birt/data/engine/executor/DataSourceFactory.java
src/org/eclipse/birt/data/engine/executor/transformation/RowProcessorFactory.java
src/org/eclipse/birt/data/engine/executor/transformation/FilterUtil.java
src/org/eclipse/birt/data/engine/executor/transformation/MultiPassRowProcessorCCAssistant.java
src/org/eclipse/birt/data/engine/executor/transformation/ResultSetPopulatorUtil.java
src/org/eclipse/birt/data/engine/executor/transformation/ResultSetPopulator.java
src/org/eclipse/birt/data/engine/executor/transformation/group/GroupUtil.java
src/org/eclipse/birt/data/engine/executor/cache/SmartCache.java
src/org/eclipse/birt/data/engine/executor/cache/DiskMergeSort.java
src/org/eclipse/birt/data/engine/executor/cache/MergeSortUtil.java
src/org/eclipse/birt/data/engine/executor/cache/DiskCache.java
src/org/eclipse/birt/data/engine/script/ScriptEvalUtil.java
- Files Deleted:
src/org/eclipse/birt/data/engine/executor/transformation/ExpressionProcessorManager.java
- Notes to
Build Team:
N/A
- Notes to Developers:
N/A
- Notes to QA:
N/A
- Notes to
Documentation:
N/A