You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@phoenix.apache.org by "Hadoop QA (JIRA)" <ji...@apache.org> on 2018/09/03 02:49:00 UTC
[jira] [Commented] (PHOENIX-4791) Array elements are nullified with
joins
[ https://issues.apache.org/jira/browse/PHOENIX-4791?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16601749#comment-16601749 ]
Hadoop QA commented on PHOENIX-4791:
------------------------------------
{color:red}-1 overall{color}. Here are the results of testing the latest attachment
http://issues.apache.org/jira/secure/attachment/12937829/PHOENIX-4791.patch
against master branch at commit 8ae455fd46e59d94a3f6710c03549239aa5b59c3.
ATTACHMENT ID: 12937829
{color:green}+1 @author{color}. The patch does not contain any @author tags.
{color:red}-1 tests included{color}. The patch doesn't appear to include any new or modified tests.
Please justify why no new tests are needed for this patch.
Also please list what manual steps were performed to verify this patch.
{color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings.
{color:red}-1 release audit{color}. The applied patch generated 2 release audit warnings (more than the master's current 0 warnings).
{color:red}-1 lineLengths{color}. The patch introduces the following lines longer than 100:
+ public HashJoinRegionScanner(RegionScanner scanner, TupleProjector projector, HashJoinInfo joinInfo,
+ boolean useQualifierAsIndex, boolean useNewValueColumnQualifier) throws IOException {
+ this(env, scanner, null, null, projector, joinInfo, tenantId, useQualifierAsIndex, useNewValueColumnQualifier);
+ final Set<KeyValueColumnExpression> arrayKVRefs, final Expression[] arrayFuncRefs,
+ TupleProjector projector, HashJoinInfo joinInfo, ImmutableBytesPtr tenantId,
+ boolean useQualifierAsIndex, boolean useNewValueColumnQualifier) throws IOException {
+ innerScanner = new HashJoinRegionScanner(env, innerScanner, arrayKVRefs, arrayFuncRefs, p, j,
+ tenantId, useQualifierAsIndex, useNewValueColumnQualifier);
{color:red}-1 core tests{color}. The patch failed these unit tests:
./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.ConcurrentMutationsIT
./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.index.txn.MutableRollbackIT
./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.index.txn.RollbackIT
Test results: https://builds.apache.org/job/PreCommit-PHOENIX-Build/2020//testReport/
Release audit warnings: https://builds.apache.org/job/PreCommit-PHOENIX-Build/2020//artifact/patchprocess/patchReleaseAuditWarnings.txt
Console output: https://builds.apache.org/job/PreCommit-PHOENIX-Build/2020//console
This message is automatically generated.
> Array elements are nullified with joins
> ---------------------------------------
>
> Key: PHOENIX-4791
> URL: https://issues.apache.org/jira/browse/PHOENIX-4791
> Project: Phoenix
> Issue Type: Bug
> Affects Versions: 4.11.0, 4.12.0, 4.13.0, 4.14.0, 5.0.0
> Reporter: Tulasi P
> Assignee: Gerald Sangudi
> Priority: Major
> Fix For: 4.15.0, 5.1.0
>
> Attachments: PHOENIX-4791.patch
>
>
> Returning elements of an array from a table that is part of a join causes array elements to be nullified.
> {noformat}
> create table array_test_1 (id integer not null primary key, arr tinyint[5]);
> upsert into array_test_1 values (1001, array[0, 0, 0, 0, 0]);
> upsert into array_test_1 values (1002, array[0, 0, 0, 0, 1]);
> upsert into array_test_1 values (1003, array[0, 0, 0, 1, 1]);
> upsert into array_test_1 values (1004, array[0, 0, 1, 1, 1]);
> upsert into array_test_1 values (1005, array[1, 1, 1, 1, 1]);
> {noformat}
>
> {noformat}
> create table test_table_1 (id integer not null primary key, val varchar);
> upsert into test_table_1 values (1001, 'abc');
> upsert into test_table_1 values (1002, 'def');
> upsert into test_table_1 values (1003, 'ghi');{noformat}
> {noformat}
> 0: jdbc:phoenix:localhost> select t1.id, t2.val, t1.arr[1], t1.arr[2], t1.arr[3] from array_test_1 as t1 join test_table_1 as t2 on t1.id = t2.id;
> +--------+---------+---------+------------------------+---------------+
> | T1.ID | T2.VAL | ARRAY_ELEM(T1.ARR, 1) | ARRAY_ELEM(T1.ARR, 2) | ARRAY_ELEM(T1.ARR, 3) |
> +--------+---------+---------+-----------------+------------------------+
> | 1001 | abc | null | null | null |
> | 1002 | def | null | null | null |
> | 1003 | ghi | null | null | null |
> +--------+---------+--------+------------------------+-----------------+
> 3 rows selected (0.056 seconds)
> {noformat}
> However, directly selecting array elements from the array returns data correctly.
> {noformat}
> 0: jdbc:phoenix:localhost> select [t1.id, t1.arr[1], t1.arr[2], t1.arr[3] from array_test_1 as t1;
> +-------+--------+-------------+-------------+
> | ID | ARRAY_ELEM(ARR, 1) | ARRAY_ELEM(ARR, 2) | ARRAY_ELEM(ARR, 3) |
> +-------+--------+-------------+-------------+
> | 1001 | 0 | 0 | 0 |
> | 1002 | 0 | 0 | 0 |
> | 1003 | 0 | 0 | 0 |
> | 1004 | 0 | 0 | 1 |
> | 1005 | 1 | 1 | 1 |
> +-------+-------+--------------+--------------+
> 5 rows selected (0.044 seconds)
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)