[ https://issues.apache.org/jira/browse/PHOENIX-2428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15027336#comment-15027336 ]
Enis Soztutar commented on PHOENIX-2428: ---------------------------------------- bq. To provide reliable indication of global success requires ProcedureV2 (1.2 and up) Even with a reliable execution of flush, we do not have any guarantees, no? I mean with {{Durability.SKIP_WAL}}. The problem is that, the RS failover is transparent to the client. For example, if a region server receives {{a}} and {{b}} then fails, there will not be recovery and the region will open again without any issues. The client will just retry the requests and the region will start accepting {{c}} and {{d}}. A flush coming in after a while will write {{c}} and {{d}} to disk, but {{a}} and {{b}} is gone and there is no way to tell from the client side. I think we can design a mechanism in HBase itself for exposing an API to be something like: (1) Start writes with SKIP_WAL (2) Either flush all the data previously written or fail. Roughly, the region can track durably whether a failure happened in between (1) and (2). Spitballing, I can see how that kind of API would be useful for a lot of other cases as well (for example kafka -> storm -> HBase) where the client can replay the data from the checkpoint. > Disable writing to WAL on initial index population > -------------------------------------------------- > > Key: PHOENIX-2428 > URL: https://issues.apache.org/jira/browse/PHOENIX-2428 > Project: Phoenix > Issue Type: Bug > Reporter: James Taylor > Assignee: Ravi Kishore Valeti > > We should not be writing the WAL when we initially populate an index. Not > only is this obviously more efficient, but it also will prevent the writes > from being replicated both of which are good. -- This message was sent by Atlassian JIRA (v6.3.4#6332)