You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@phoenix.apache.org by "Lars Hofhansl (Jira)" <ji...@apache.org> on 2019/12/26 09:47:00 UTC

[jira] [Comment Edited] (PHOENIX-5044) Remove server side mutation code from Phoenix

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

Lars Hofhansl edited comment on PHOENIX-5044 at 12/26/19 9:46 AM:
------------------------------------------------------------------

See also evidence from PHOENIX-5007. Doing these things on the server is not helpful. It seems like a god idea, but instead it goes against the grain of how HBase works. When this is driven from the client HBase can chunk in the right way, pace the work by queues, retry failed chunks easily, and does not hold up server threads.

And, for the record, this is not an opinion. We had many blackouts and brownouts due to Phoenix doing tight loop work on the server.


was (Author: lhofhansl):
See also evidence from PHOENIX-5007. Doing these things on the server is not helpful. It seems like a god idea, but instead it goes against the grain of how HBase works. When this is driven from the client HBase can chunk in the right way, pace the work by queues, retry failed chunks easily, and does not hold up server threads.

> Remove server side mutation code from Phoenix
> ---------------------------------------------
>
>                 Key: PHOENIX-5044
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-5044
>             Project: Phoenix
>          Issue Type: Task
>            Reporter: Lars Hofhansl
>            Assignee: Lars Hofhansl
>            Priority: Major
>         Attachments: 5044-looksee-v2.txt, 5044-looksee-v3.txt, 5044-looksee.txt
>
>
> This is for *discussion*. Perhaps controversial.
> It generally seems to be a bad - if well-intentioned - idea to trigger mutations directly from the server. The main causes are UPSERT SELECT for the same table and DELETE FROM.
> IMHO, it's generally better to allow the client to handle this. There might be larger network overhead, but we get better chunking, better pacing, and behavior more in line with how HBase was intended to work.
> In PHOENIX-5026 I introduced a flag to disable server triggered mutations in the two cases mentioned above. I now think it's better to just remove the server code and also perform these from the client.
> (Note that server side reads - aggregation, filters, etc - are still insanely valuable and not affected by this)
> Let's discuss.
> [~tdsilva], [~ankit@apache.org], [~jamestaylor], [~vincentpoon], [~gjacoby]



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