diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/HBaseLookupRowEncoder.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/HBaseLookupRowEncoder.java index 72694659924..51bd32b7fd3 100644 --- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/HBaseLookupRowEncoder.java +++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/HBaseLookupRowEncoder.java @@ -88,7 +88,8 @@ public byte[] encodeRowKey(String[] keys) { } byte[] result = new byte[RowConstants.ROWKEY_SHARDID_LEN + keyByteBuffer.position()]; System.arraycopy(keyByteBuffer.array(), 0, result, RowConstants.ROWKEY_SHARDID_LEN, keyByteBuffer.position()); - short shard = ShardingHash.getShard(result, RowConstants.ROWKEY_SHARDID_LEN, result.length, shardNum); + short shard = ShardingHash.getShard(result, RowConstants.ROWKEY_SHARDID_LEN, + result.length - RowConstants.ROWKEY_SHARDID_LEN, shardNum); BytesUtil.writeShort(shard, result, 0, RowConstants.ROWKEY_SHARDID_LEN); return result; }