phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Taylor (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PHOENIX-4366) Rebuilding a local index fails sometimes
Date Tue, 10 Apr 2018 20:51:00 GMT

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

James Taylor commented on PHOENIX-4366:
---------------------------------------

I believe the reason it was a problem in the case of ALTER INDEX ... REBUILD is because
the deletion of rows goes through PostDDLCompiler which doesn't set encodingScheme. Normally,
the caching of the encoding shouldn't be a problem since it cannot change for a table (and
the RegionObserver instance is different for each region of each table).

Phoenix always relies on the client to send the necessary information to interpret the results
of a scan. Sounds like there's a hole in our b/w compat if we allow a too old client to write
data to a column encoded table. FYI, we have the client version available when a table is
being written to, so we could detect this case now and fail it.

> Rebuilding a local index fails sometimes
> ----------------------------------------
>
>                 Key: PHOENIX-4366
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-4366
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.12.0
>            Reporter: Marcin Januszkiewicz
>            Assignee: James Taylor
>            Priority: Blocker
>             Fix For: 4.14.0
>
>         Attachments: PHOENIX-4366_v1.patch
>
>
> We have a table created in 4.12 with the new column encoding scheme and with several
local indexes. Sometimes when we issue an ALTER INDEX ... REBUILD command, it fails with the
following exception:
> {noformat}
> Error: org.apache.phoenix.exception.PhoenixIOException: org.apache.hadoop.hbase.DoNotRetryIOException:
TRACES,\x01BY01O90A6-$599a349e,1509979836322.3f
> 30c9d449ed6c60a1cda6898f766bd0.: null                                               
                                                                                         
               
>         at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:96) 
                                                                                         
               
>         at org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:62)  
                                                                                         
               
>         at org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.overrideDelegate(BaseScannerRegionObserver.java:255)
                                                 
>         at org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.nextRaw(BaseScannerRegionObserver.java:284)
                                                          
>         at org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2541)
                                                                                         
        
>         at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:33648)
                                                               
>         at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2183)          
                                                                                         
               
>         at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112)          
                                                                                         
               
>         at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:183)
                                                                                         
               
>         at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:163)
                                                                                         
               
> Caused by: java.lang.UnsupportedOperationException                                  
                                                                                         
               
>         at org.apache.phoenix.schema.PTable$QualifierEncodingScheme$1.decode(PTable.java:247)
                                                                                         
      
>         at org.apache.phoenix.schema.tuple.EncodedColumnQualiferCellsList.add(EncodedColumnQualiferCellsList.java:141)
                                                                       
>         at org.apache.phoenix.schema.tuple.EncodedColumnQualiferCellsList.add(EncodedColumnQualiferCellsList.java:56)
                                                                        
>         at org.apache.hadoop.hbase.regionserver.StoreScanner.next(StoreScanner.java:560)
                                                                                         
           
>         at org.apache.hadoop.hbase.regionserver.KeyValueHeap.next(KeyValueHeap.java:147)
                                                                                         
           
>         at org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.populateResult(HRegion.java:5735)
                                                                                  
>         at org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.nextInternal(HRegion.java:5891)
                                                                                    
>         at org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.nextRaw(HRegion.java:5669)
                                                                                         
>         at org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.nextRaw(HRegion.java:5654)
                                                                                         
>         at org.apache.phoenix.coprocessor.UngroupedAggregateRegionObserver.doPostScannerOpen(UngroupedAggregateRegionObserver.java:522)
                                                      
>         at org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.overrideDelegate(BaseScannerRegionObserver.java:236)
                                                 
>         ... 7 more (state=08000,code=101) 
> {noformat}
> This failure is intermittent, since usually we can run the command again and it will
succeed.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message