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

Lars Hofhansl commented on PHOENIX-5601:
----------------------------------------

For the record. I am not a fan of this.
Phoenix has all the pieces needed to handle this in a more general way. What we 
need to add is this:
# database object attributes. I.e. attributes that we can store in a SYSCAT for 
a table or view.
# the row timestamp exposed in Phoenix via SQL. I think there's a ROW_TIMESTAMP 
Jira somewhere already.

Then we can avoid showing expired rows by adding where ROW_TIMESTAMP <= 
<ttl-time> to any view definition.
And we can clean up expired rows with DELETE FROM ... WHERE ROW_TIMESTAMP > 
<ttl-time>.

Let's please do it that way and please revert this change.

To perfectly clear, here's my explicit committer veto for the this change:  -1

Until I hear great reasons why the more general approach does not work.
(If DELETE FROM is too slow, let's fix that. If ROW_TIMESTAMP is missing, let's 
add that...)

Sorry for being the party pooper. :(


> Add a new Coprocessor - ViewTTLAware Coprocessor
> ------------------------------------------------
>
>                 Key: PHOENIX-5601
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-5601
>             Project: Phoenix
>          Issue Type: Sub-task
>    Affects Versions: 4.15.0, 5.1.0
>            Reporter: Jacob Isaac
>            Assignee: Jacob Isaac
>            Priority: Major
>             Fix For: 4.16.0
>
>         Attachments: PHOENIX-5601.4.x-HBase-1.3.008.patch, 
> PHOENIX-5601.master.008.patch
>
>
>  * Add a New coprocessor - ViewTTLAware Coprocessor that will intercept 
> scan/get requests to inject a new ViewTTLAware scanner.
> The scanner will -
>   * Use the row timestamp of the empty column to determine whether row TTL 
> has expired  and mask the rows from underlying query results.
>   * Use the row timestamp to delete expired rows when DELETE_VIEW_TTL_EXPIRED 
> flag is present.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to