[jira] [Updated] (PHOENIX-4601) Perform server-side retries if client version < 4.14

2018-04-20 Thread Vincent Poon (JIRA)

 [ 
https://issues.apache.org/jira/browse/PHOENIX-4601?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vincent Poon updated PHOENIX-4601:
--
Attachment: PHOENIX-4601.v2.master.patch
PHOENIX-4601.v2.4.x-HBase-0.98.patch
PHOENIX-4601.v2.5.x-HBase-2.0.patch

> Perform server-side retries if client version < 4.14
> 
>
> Key: PHOENIX-4601
> URL: https://issues.apache.org/jira/browse/PHOENIX-4601
> Project: Phoenix
>  Issue Type: Bug
>Reporter: James Taylor
>Assignee: Vincent Poon
>Priority: Major
> Fix For: 4.14.0, 5.0.0
>
> Attachments: PHOENIX-4601.v1.master.patch, 
> PHOENIX-4601.v2.4.x-HBase-0.98.patch, PHOENIX-4601.v2.5.x-HBase-2.0.patch, 
> PHOENIX-4601.v2.master.patch
>
>
> The client version is now available on the server side when index maintenance 
> is being performed. Given that this information is available, we should 
> conditionally retry on the server depending on the client version (instead of 
> relying on the operator to manually update the config after clients have been 
> upgraded). 
> With  PHOENIX-4613, the client version has been threaded through to the 
> IndexCommitter.write() method. All that's left to do is:
> - Always set the config on the server side to have no HBase retries.
> - Add catch of IOException and conditionally call the retrying exception 
> handler code based on clientVersion < 4.14.0 in 
> TrackingParallelWriterIndexCommitter and ParallelWriterIndexCommitter.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (PHOENIX-4601) Perform server-side retries if client version < 4.14

2018-04-19 Thread Vincent Poon (JIRA)

 [ 
https://issues.apache.org/jira/browse/PHOENIX-4601?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vincent Poon updated PHOENIX-4601:
--
Attachment: PHOENIX-4601.v1.master.patch

> Perform server-side retries if client version < 4.14
> 
>
> Key: PHOENIX-4601
> URL: https://issues.apache.org/jira/browse/PHOENIX-4601
> Project: Phoenix
>  Issue Type: Bug
>Reporter: James Taylor
>Assignee: Vincent Poon
>Priority: Major
> Attachments: PHOENIX-4601.v1.master.patch
>
>
> The client version is now available on the server side when index maintenance 
> is being performed. Given that this information is available, we should 
> conditionally retry on the server depending on the client version (instead of 
> relying on the operator to manually update the config after clients have been 
> upgraded). 
> With  PHOENIX-4613, the client version has been threaded through to the 
> IndexCommitter.write() method. All that's left to do is:
> - Always set the config on the server side to have no HBase retries.
> - Add catch of IOException and conditionally call the retrying exception 
> handler code based on clientVersion < 4.14.0 in 
> TrackingParallelWriterIndexCommitter and ParallelWriterIndexCommitter.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (PHOENIX-4601) Perform server-side retries if client version < 4.14

2018-02-15 Thread James Taylor (JIRA)

 [ 
https://issues.apache.org/jira/browse/PHOENIX-4601?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

James Taylor updated PHOENIX-4601:
--
Description: 
The client version is now available on the server side when index maintenance 
is being performed. Given that this information is available, we should 
conditionally retry on the server depending on the client version (instead of 
relying on the operator to manually update the config after clients have been 
upgraded). 

With  PHOENIX-4613, the client version has been threaded through to the 
IndexCommitter.write() method. All that's left to do is:
- Always set the config on the server side to have no HBase retries.
- Add catch of IOException and conditionally call the retrying exception 
handler code based on clientVersion < 4.14.0 in 
TrackingParallelWriterIndexCommitter and ParallelWriterIndexCommitter.

  was:
The client version is now available on the server side when index maintenance 
is being performed. Given that this information is available, we should 
conditionally retry on the server depending on the client version (instead of 
relying on the operator to manually update the config after clients have been 
upgraded). 

Here's what I believe needs to be done:
- Always set the config on the server side to have no retries.
- Move getClientVersion method declaration from PhoenixIndexMetaData to 
IndexMetaData
- Add getIndexMetaData() method in IndexBuilder and retrieve clientVersion in 
preBatchMutateWithExceptions like this:
{code}
builder.getIndexMetaData(miniBatchOp).getClientVersion();
{code}
- Set clientVersion on BatchMutateContext so it can be accessed later in 
postBatchMutateIndispensably.
- In postBatchMutateIndispensably, access clientVersion through 
BatchMutateContext and pass through IndexWriter.writeAndKillYourselfOnFailure() 
and into the writer.write() method. 
- Add catch of IOException and call to handle the retries in the table.batch 
call in TrackingParallelWriterIndexCommitter.


> Perform server-side retries if client version < 4.14
> 
>
> Key: PHOENIX-4601
> URL: https://issues.apache.org/jira/browse/PHOENIX-4601
> Project: Phoenix
>  Issue Type: Bug
>Reporter: James Taylor
>Priority: Major
>
> The client version is now available on the server side when index maintenance 
> is being performed. Given that this information is available, we should 
> conditionally retry on the server depending on the client version (instead of 
> relying on the operator to manually update the config after clients have been 
> upgraded). 
> With  PHOENIX-4613, the client version has been threaded through to the 
> IndexCommitter.write() method. All that's left to do is:
> - Always set the config on the server side to have no HBase retries.
> - Add catch of IOException and conditionally call the retrying exception 
> handler code based on clientVersion < 4.14.0 in 
> TrackingParallelWriterIndexCommitter and ParallelWriterIndexCommitter.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)