Samarth Jain created PHOENIX-2796:
-------------------------------------

             Summary: Remove unnecessary code for handling array data type
                 Key: PHOENIX-2796
                 URL: https://issues.apache.org/jira/browse/PHOENIX-2796
             Project: Phoenix
          Issue Type: Bug
            Reporter: Samarth Jain


[~ram_krish][~Dumindux] - In BaseScannerRegionObserver, I am seeing this piece 
of code which is buggy and is not serving any purpose either. The bug is that 
it ends up removing the wrong key value from the result in result.remove(idx). 
Step through the code when you are running 
ArrayIT#testServerArrayElementProjection2 as an example. 

FWIW, I commented it out and the tests in ArrayIT all passed. Can you guys 
please check? 

{code}
for (KeyValueColumnExpression kvExp : arrayKVRefs) {
                    if (kvExp.evaluate(tuple, ptr)) {
                        for (int idx = tuple.size() - 1; idx >= 0; idx--) {
                            Cell kv = tuple.getValue(idx);
                            if (Bytes.equals(kvExp.getColumnFamily(), 0, 
kvExp.getColumnFamily().length,
                                    kv.getFamilyArray(), kv.getFamilyOffset(), 
kv.getFamilyLength())
                                && Bytes.equals(kvExp.getColumnName(), 0, 
kvExp.getColumnName().length,
                                        kv.getQualifierArray(), 
kv.getQualifierOffset(), kv.getQualifierLength())) {
                                // remove the kv that has the full array values.
                                result.remove(idx);
                                break;
                            }
                        }
                    }
                }
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to