You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@phoenix.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2023/05/11 08:43:00 UTC
[jira] [Commented] (PHOENIX-6953) Creating indexes on a table with old indexing leads to inconsistent co-processors
[ https://issues.apache.org/jira/browse/PHOENIX-6953?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17721688#comment-17721688 ]
ASF GitHub Bot commented on PHOENIX-6953:
-----------------------------------------
stoty opened a new pull request, #1604:
URL: https://github.com/apache/phoenix/pull/1604
…nconsistent co-processors
> Creating indexes on a table with old indexing leads to inconsistent co-processors
> ---------------------------------------------------------------------------------
>
> Key: PHOENIX-6953
> URL: https://issues.apache.org/jira/browse/PHOENIX-6953
> Project: Phoenix
> Issue Type: Bug
> Components: core
> Affects Versions: 5.2.0, 5.1.3
> Reporter: Istvan Toth
> Assignee: Istvan Toth
> Priority: Major
>
> New indexes created on tables that are using the old indexing code have the GlobalIndexChecker coprocessor defined.
> This results in excessive index rebuilds and bad performance.
> We need to check whether the data table has been upgraded to the new indexing when creating a new index.
> Repro steps on master:
> Create the data table and index
> {noformat}
> 0: jdbc:phoenix:> create table bubu (k integer primary key, v1 integer, v2 integer);
> 0: jdbc:phoenix:> create index bubu_1 on bubu(v1);{noformat}
> Roll back the old indexing to simulate upgrade from old code
> {noformat}
> # hbase org.apache.phoenix.mapreduce.index.IndexUpgradeTool -o rollback -tb BUBU{noformat}
> Create another index
> {noformat}
> 0: jdbc:phoenix:> create index BUBU_2 on BUBU(v2); {noformat}
> check the tables:
> {noformat}
> hbase:002:0> describe 'BUBU'
> ...
> coprocessor$7 => '|org.apache.phoenix.hbase.index.Indexer|805306366|index.builder=org.apache.phoenix.index.PhoenixIndexBuilder,org.apache.hadoop.hbase.index.codec.class=org.apache.phoenix.index.PhoenixIndexCodec',
> ...
> hbase:002:0> describe 'BUBU_1'
> ...
> coprocessor$2 => '|org.apache.phoenix.coprocessor.ScanRegionObserver|805306366|', coprocessor$3 => '|org.apache.phoenix.coprocessor.UngroupedAggregateRegionObserver|805306366|', coprocessor$4 => '|org.apache.phoenix.coprocessor.GroupedAggregateRegionObserver|805306366|', coprocessor$5 => '|org.apache.phoenix.coprocessor.ServerCachingEndpointImpl|805306366|', coprocessor$6 => '|org.apache.phoenix.coprocessor.PhoenixTTLRegionObserver|805306364|',
> ...
> hbase:003:0> describe 'BUBU_2'
> ...
> coprocessor$1 => '|org.apache.phoenix.index.GlobalIndexChecker|805306365|', coprocessor$2 => '|org.apache.phoenix.coprocessor.ScanRegionObserver|805306366|', coprocessor$3 => '|org.apache.phoenix.coprocessor.UngroupedAggregateRegionObserver|805306366|', coprocessor$4 => '|org.apache.phoenix.coprocessor.GroupedAggregateRegionObserver|805306366|', coprocessor$5 => '|org.apache.phoenix.coprocessor.ServerCachingEndpointImpl|805306366|', coprocessor$6 => '|org.apache.phoenix.coprocessor.PhoenixTTLRegionObserver|805306364|',
> ...{noformat}
> The data tables has {_}Indexer{_}, BUBU_1 doesn't have any index related coprocessors, BUBU_2 has _GlobalIndexChecker_
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)