phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Taylor (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (PHOENIX-4028) Provide option to not throw index write failure back to client
Date Mon, 17 Jul 2017 17:19:01 GMT

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

James Taylor updated PHOENIX-4028:
----------------------------------
    Attachment: PHOENIX-4028_v2.patch

Thanks for the review, [~samarthjain]. Added new negative test cases to AlterTableIT and CreateTableIT
for setting HTableDescriptor property on view. These control properties end up as HTableDescriptor
attributes, not Phoenix table properties so we can't add them to TableProperty as these purposely
get stripped when a table is created or altered (so they don't end up on the table descriptor).
I've filed PHOENIX-4031 for any followup work to improve things.

A new test case was already added to test the failure of the rebuild task with this set of
parameters:
{code}
    @Parameters(name = "
        MutableIndexFailureIT_transactional={0},
        localIndex={1},
        isNamespaceMapped={2},
        disableIndexOnWriteFailure={3},
        rebuildIndexOnWriteFailure={4}, 
        failRebuildTask={5},
        throwIndexWriteFailure={6}")
                { false, false, false, true, true, true, null},
{code}
So the test to make sure an index rebuild stops will run for a non transactional table, with
global indexes, no namespaces, disabling the index on write failure, rebuilding the index
on write failure, and will throw the index write failure. Previously, by adding a new test,
the new test would run for all 17 permutations, running all the test logic 17 more times and
then only for a couple of permutations would it test the failure of the rebuild. Now the test
will run only one extra time. We can add further combinations if you think it's worthwhile.



> Provide option to not throw index write failure back to client
> --------------------------------------------------------------
>
>                 Key: PHOENIX-4028
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-4028
>             Project: Phoenix
>          Issue Type: Improvement
>            Reporter: James Taylor
>            Assignee: James Taylor
>             Fix For: 4.12.0
>
>         Attachments: PHOENIX-4028.patch, PHOENIX-4028_v2.patch, PHOENIX-4028_wip.patch
>
>
> Much like our DISABLE_INDEX_ON_WRITE_FAILURE and REBUILD_INDEX_ON_WRITE_FAILURE table
properties, we need a THROW_INDEX_WRITE_FAILURE boolean option that can be used to prevent
the index write from being thrown back to the client. In this case, the index failure policy
would still be executed (i.e. disabling the index on a write failure), but any retry logic
for the client would be avoided. The index would be eventually consistent based on the background
partial index rebuild thread.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message