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

Alicia Ying Shu commented on PHOENIX-2221:
------------------------------------------

[~rajeshbabu] Thanks for the review. 
>Add test to check index state changed to usable from readable.
In my original patch I have tested changing index state to active from 
readable. Will add those. 

>do we really require INDEX_MARK_READABLE_TIMESTAMP column? Why don't we use 
>INDEX_DISABLE_TIMESTAMP timestamp itself? Otherwise we need to add the column 
>when upgrading from older version.
Currently we disable index when index update failed. At then, data can be 
written to data tables. Index is not used until repaired. This patch addresses 
a different situation when we would like to block writes to data tables and use 
index for reads. I use "readable" in index table to decide whether I should 
block writes. I could use INDEX_DISABLE_TIMESTAMP as the time for changing to 
readable state in index. But it will mess with current semantic of disabling 
table timestamp. I am ok with both. [~jamestaylor] would you please comment on 
this? Thanks.

>in MetaDataClient#recoverPartialIndexFromTimeStamp why build index is required 
>here
Yes. It is required to partially build the index

>I think we need to add the READABLE in proto file and compile the protocol 
>files.
Why? I thought proto files take index state type and no need to compile for 
individual type values.

> Option to make data regions not writable when index regions are not available
> -----------------------------------------------------------------------------
>
>                 Key: PHOENIX-2221
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-2221
>             Project: Phoenix
>          Issue Type: Improvement
>            Reporter: Devaraj Das
>            Assignee: Alicia Ying Shu
>         Attachments: PHOENIX-2221.patch
>
>
> In one usecase, it was deemed better to not accept writes when the index 
> regions are unavailable for any reason (as opposed to disabling the index and 
> the queries doing bigger data-table scans).
> The idea is that the index regions are kept consistent with the data regions, 
> and when a query runs against the index regions, one can be reasonably sure 
> that the query ran with the most recent data in the data regions. When the 
> index regions are unavailable, the writes to the data table are rejected. 
> Read queries off of the index regions would have deterministic performance 
> (and on the other hand if the index is disabled, then the read queries would 
> have to go to the data regions until the indexes are rebuilt, and the queries 
> would suffer).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to