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

Lars Hofhansl commented on PHOENIX-3547:
----------------------------------------

We just came across a scenario where this breaks an old (pre-4.15) client.
The index id is now written with an int, the old client tries decode the two 
byte we have currently as an int and fails.

We've seen this with local indexes and the M/R integration. This is call stack 
in the old client:
{code}
ParallelIterators(ExplainTable).appendKeyRanges(StringBuilder) line: 297    
ParallelIterators(ExplainTable).explain(String, List<String>) line: 127    
ParallelIterators(BaseResultIterators).explain(List<String>) line: 1544    
RoundRobinResultIterator.explain(List<String>) line: 153    
ScanPlan(BaseQueryPlan).getPlanSteps(ResultIterator) line: 524    
ScanPlan(BaseQueryPlan).iterator(Map<ImmutableBytesPtr,ServerCache>, 
ParallelScanGrouper, Scan) line: 372    
ScanPlan(BaseQueryPlan).iterator(ParallelScanGrouper, Scan) line: 217    
ScanPlan(BaseQueryPlan).iterator(ParallelScanGrouper) line: 212    
{code}

> Promote CATALOG.VIEW_INDEX_ID to an int
> ---------------------------------------
>
>                 Key: PHOENIX-3547
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3547
>             Project: Phoenix
>          Issue Type: New Feature
>            Reporter: Jeremy Huffman
>            Assignee: Mehdi Salarkia
>            Priority: Minor
>             Fix For: 4.15.0, 5.1.0
>
>         Attachments: 4.x-HBase-0.98.patch, 4.x-HBase-1.1.patch, 
> 4.x-HBase-1.2.patch, 4.x-HBase-1.3.patch, 4.x-HBase-1.4.patch, 
> 4.x-cdh5.11.patch, 4.x-cdh5.12.patch, 4.x-cdh5.13.patch, 4.x-cdh5.14.patch, 
> master-PHOENIX-3547.patch
>
>
> Increase the size of CATALOG.VIEW_INDEX_ID from smallint to int to support a 
> large number of indexed views on a single table.
> Per James: "The code would just need to be tolerant when reading the data if 
> the length is two byte short versus four byte int. At write time, we'd just 
> always write an int."
> See: 
> https://lists.apache.org/thread.html/22849e4fc73452cee3bea763cf6d5af7164dedcb44573ba6b9f452a2@%3Cuser.phoenix.apache.org%3E



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

Reply via email to