Hi Kang-Sen,
   Thank you for suggestion, this code change is introduced in KYLIN-3628. 
   I find another comment under 
https://issues.apache.org/jira/browse/KYLIN-3628 which indicated this commit 
has harmful impact,  we will check it carefully . 
If it is really a bug, we will fix it.




-----------------
-----------------
Best wishes to you ! 
From :Xiaoxiang Yu

At 2019-06-28 20:16:05, "Lu, Kang-Sen" <[email protected]> wrote:


I am running kylin 2.6.2. Iissued “git diff e3896af234^ e3896af234” cpmmand to 
study a code change in LookupTableEnumerator.java.

 

The code piece that puzzled me is the following:

 

public class LookupTableEnumerator implements Enumerator<Object[]> {

    private final static Logger logger = 
LoggerFactory.getLogger(LookupTableEnumerator.class);

 

    private final ILookupTable lookupTable;

    private final List<ColumnDesc> colDescs;

    private final Object[] current;

    private Iterator<String[]> iterator;

 

    public LookupTableEnumerator(OLAPContext olapContext) {

 

        //TODO: assuming LookupTableEnumerator is handled by a cube

        CubeInstance cube = null;

 

        if (olapContext.realization instanceof CubeInstance) {

            cube = (CubeInstance) olapContext.realization;                      
                                      ç here we got cube value

            ProjectInstance project = cube.getProjectInstance();

            List<RealizationEntry> realizationEntries = 
project.getRealizationEntries();

            String lookupTableName = olapContext.firstTableScan.getTableName();

            CubeManager cubeMgr = CubeManager.getInstance(cube.getConfig());

            cube = cubeMgr.findLatestSnapshot(realizationEntries, 
lookupTableName);         ç why do we reset cube to other value??????

            olapContext.realization = cube;

        } else if (olapContext.realization instanceof HybridInstance) {

            final HybridInstance hybridInstance = (HybridInstance) 
olapContext.realization;

            final IRealization latestRealization = 
hybridInstance.getLatestRealization();

            if (latestRealization instanceof CubeInstance) {

                cube = (CubeInstance) latestRealization;

            } else {

                throw new IllegalStateException();

            }

        }

 

Is a bug introduced by that bug fix?

 

Thanks.

 

Kang-sen




Notice: This e-mail together with any attachments may contain information of 
Ribbon Communications Inc. that is confidential and/or proprietary for the sole 
use of the intended recipient. Any review, disclosure, reliance or distribution 
by others or forwarding without express permission is strictly prohibited. If 
you are not the intended recipient, please notify the sender immediately and 
then delete all copies, including any attachments.

Reply via email to