[ 
https://issues.apache.org/jira/browse/PHOENIX-2067?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14626860#comment-14626860
 ] 

Hudson commented on PHOENIX-2067:
---------------------------------

SUCCESS: Integrated in Phoenix-master #834 (See 
[https://builds.apache.org/job/Phoenix-master/834/])
PHOENIX-2067 Sort order incorrect for variable length DESC columns (jtaylor: 
rev 2620a80c1e35c0d214f06a1b16e99da5415a1a2c)
* 
phoenix-core/src/main/java/org/apache/phoenix/schema/types/PUnsignedTinyintArray.java
* phoenix-core/src/main/java/org/apache/phoenix/exception/SQLExceptionCode.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/types/PBooleanArray.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/DelegateTable.java
* phoenix-core/src/main/java/org/apache/phoenix/util/ScanUtil.java
* 
phoenix-core/src/main/java/org/apache/phoenix/schema/types/PUnsignedIntArray.java
* 
phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java
* 
phoenix-core/src/main/java/org/apache/phoenix/compile/OrderPreservingTracker.java
* phoenix-core/src/main/java/org/apache/phoenix/index/IndexMaintainer.java
* 
phoenix-core/src/main/java/org/apache/phoenix/expression/util/regex/JONIPattern.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/stats/StatisticsUtil.java
* 
phoenix-core/src/main/java/org/apache/phoenix/iterate/OrderedResultIterator.java
* phoenix-core/src/test/java/org/apache/phoenix/compile/QueryCompilerTest.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/types/PLongArray.java
* phoenix-core/src/main/java/org/apache/phoenix/util/SchemaUtil.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/types/PTimeArray.java
* 
phoenix-core/src/main/java/org/apache/phoenix/compile/TupleProjectionCompiler.java
* 
phoenix-core/src/main/java/org/apache/phoenix/expression/RowValueConstructorExpression.java
* phoenix-core/src/main/java/org/apache/phoenix/iterate/BaseResultIterators.java
* 
phoenix-core/src/main/java/org/apache/phoenix/coprocessor/generated/PTableProtos.java
* phoenix-core/src/main/java/org/apache/phoenix/util/MetaDataUtil.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/types/PFloatArray.java
* phoenix-core/src/main/java/org/apache/phoenix/util/PhoenixRuntime.java
* phoenix-core/src/main/java/org/apache/phoenix/compile/ScanRanges.java
* phoenix-core/src/it/java/org/apache/phoenix/end2end/LpadFunctionIT.java
* phoenix-core/src/it/java/org/apache/phoenix/end2end/ReverseScanIT.java
* phoenix-core/src/it/java/org/apache/phoenix/end2end/SortOrderIT.java
* phoenix-core/src/main/java/org/apache/phoenix/compile/JoinCompiler.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/RowKeyValueAccessor.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/types/PArrayDataType.java
* phoenix-core/src/it/java/org/apache/phoenix/end2end/RowValueConstructorIT.java
* phoenix-core/src/main/java/org/apache/phoenix/util/TupleUtil.java
* phoenix-core/src/main/java/org/apache/phoenix/util/UpgradeUtil.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/types/PDoubleArray.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/PTable.java
* phoenix-core/src/main/java/org/apache/phoenix/util/ByteUtil.java
* phoenix-core/src/main/java/org/apache/phoenix/compile/FromCompiler.java
* phoenix-core/src/main/java/org/apache/phoenix/filter/SkipScanFilter.java
* 
phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
* 
phoenix-core/src/main/java/org/apache/phoenix/expression/function/LpadFunction.java
* phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixConnection.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/RowKeySchema.java
* 
phoenix-core/src/main/java/org/apache/phoenix/expression/ArrayConstructorExpression.java
* 
phoenix-core/src/main/java/org/apache/phoenix/schema/types/PUnsignedSmallintArray.java
* phoenix-core/src/main/java/org/apache/phoenix/compile/UpsertCompiler.java
* phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayIT.java
* phoenix-protocol/src/main/PTable.proto
* 
phoenix-core/src/main/java/org/apache/phoenix/schema/types/PUnsignedDoubleArray.java
* 
phoenix-core/src/main/java/org/apache/phoenix/schema/types/PVarbinaryArray.java
* 
phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayModifierFunction.java
* 
phoenix-core/src/main/java/org/apache/phoenix/schema/types/PUnsignedDateArray.java
* phoenix-core/src/main/java/org/apache/phoenix/compile/UnionCompiler.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java
* 
phoenix-core/src/main/java/org/apache/phoenix/schema/types/PUnsignedTimestampArray.java
* 
phoenix-core/src/main/java/org/apache/phoenix/schema/types/PTimestampArray.java
* 
phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayConcatFunction.java
* phoenix-core/src/main/java/org/apache/phoenix/query/KeyRange.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/types/PDecimalArray.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/types/PIntegerArray.java
* phoenix-core/src/main/java/org/apache/phoenix/compile/WhereOptimizer.java
* phoenix-core/src/it/java/org/apache/phoenix/end2end/IsNullIT.java
* 
phoenix-core/src/main/java/org/apache/phoenix/execute/DescVarLengthFastByteComparisons.java
* phoenix-core/src/test/java/org/apache/phoenix/query/OrderByTest.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/types/PCharArray.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/types/PDataType.java
* phoenix-core/src/main/java/org/apache/phoenix/compile/OrderByCompiler.java
* 
phoenix-core/src/main/java/org/apache/phoenix/schema/types/PUnsignedTimeArray.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/types/PVarcharArray.java
* 
phoenix-core/src/main/java/org/apache/phoenix/coprocessor/BaseScannerRegionObserver.java
* dev/eclipse_prefs_phoenix.epf
* phoenix-core/src/main/java/org/apache/phoenix/schema/ValueSchema.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/types/PBinaryArray.java
* phoenix-core/src/it/java/org/apache/phoenix/end2end/SortOrderFIT.java
* 
phoenix-core/src/main/java/org/apache/phoenix/schema/types/PUnsignedLongArray.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/types/PDateArray.java
* phoenix-core/src/main/java/org/apache/phoenix/execute/BaseQueryPlan.java
* phoenix-core/src/main/java/org/apache/phoenix/query/QueryConstants.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/PTableImpl.java
* 
phoenix-core/src/main/java/org/apache/phoenix/schema/types/PUnsignedFloatArray.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/types/PTinyintArray.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/types/PSmallintArray.java
* 
phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
* 
phoenix-core/src/main/java/org/apache/phoenix/expression/OrderByExpression.java
* phoenix-core/src/test/java/org/apache/phoenix/schema/types/PDataTypeTest.java


> Sort order incorrect for variable length DESC columns
> -----------------------------------------------------
>
>                 Key: PHOENIX-2067
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-2067
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.4.0
>         Environment: HBase 0.98.6-cdh5.3.0
> jdk1.7.0_67 x64
> CentOS release 6.4 (2.6.32-358.el6.x86_64)
>            Reporter: Mykola Komarnytskyy
>            Assignee: James Taylor
>             Fix For: 4.5.0
>
>         Attachments: PHOENIX-2067_array_addendum.patch, 
> PHOENIX-2067_array_addendum_v2.patch, PHOENIX-2067_v1.patch, 
> PHOENIX-2067_v2.patch, PHOENIX-2067_v3.patch
>
>
> Steps to reproduce:
> 1. Create a table: 
> CREATE TABLE mytable (id BIGINT not null PRIMARY KEY, timestamp BIGINT, 
> log_message varchar) IMMUTABLE_ROWS=true, SALT_BUCKETS=16;
> 2. Create two indexes:
> CREATE INDEX mytable_index_search ON mytable(timestamp,id) INCLUDE 
> (log_message) SALT_BUCKETS=16;
> CREATE INDEX mytable_index_search_desc ON mytable(timestamp DESC,id DESC) 
> INCLUDE (log_message) SALT_BUCKETS=16;
> 3. Upsert values:
> UPSERT INTO mytable VALUES(1, 1434983826018, 'message1');
> UPSERT INTO mytable VALUES(2, 1434983826100, 'message2');
> UPSERT INTO mytable VALUES(3, 1434983826101, 'message3');
> UPSERT INTO mytable VALUES(4, 1434983826202, 'message4');
> 4. Sort DESC by timestamp:
> select timestamp,id,log_message from mytable ORDER BY timestamp DESC;
> Failure: data is sorted incorrectly. In case when we have two longs which  
> are different only by last two digits (e.g. 1434983826155, 1434983826100)  
> and one of the long ends with '00' we receive incorrect order. 
> Sorting result:
> 1434983826202
> 1434983826100
> 1434983826101
> 1434983826018



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

Reply via email to