[ https://issues.apache.org/jira/browse/PHOENIX-4323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16226136#comment-16226136 ]
James Taylor commented on PHOENIX-4323: --------------------------------------- If you want to ensure that local index always sorts before table data, you'd need to look at the schema of the Phoenix table. You could use an algorithm like this: - while leading fixed length types, append 0 byte for width of type - while variable length type, append 0 byte - append one more 0 byte Otherwise, it can still happen. If the above it prohibitively expensive, then can we live with the write failing for this corner case (and can we make it fail in a reasonable way)? > LocalIndexes could fail if your data row is not in the same region as your > index region > --------------------------------------------------------------------------------------- > > Key: PHOENIX-4323 > URL: https://issues.apache.org/jira/browse/PHOENIX-4323 > Project: Phoenix > Issue Type: Bug > Reporter: churro morales > Assignee: Vincent Poon > Attachments: LocalIndexIT.java > > > This is not likely to happen, but if this does your data table and index > write will never succeed. > In HRegion.doMiniBatchMutation() > You create index rows in the preBatchMutate() then when you call checkRow() > on that index row the exception will bubble up if the index row is not in the > same region as your data row. > Like I said this is unlikely, but you would have to do a region merge to fix > this issue if encountered. > [~vincentpoon] has a test which he will attach to this JIRA showing an > example how this can happen. The write will never succeed unless you merge > regions if this ever happens. -- This message was sent by Atlassian JIRA (v6.4.14#64029)