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-4060) Handle out of order updates during mutable secondary index maintenance
Date Thu, 03 Aug 2017 00:03:00 GMT

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

James Taylor updated PHOENIX-4060:
----------------------------------
    Description: 
To correctly handle out of order updates during mutable secondary index maintenance, revert
PHOENIX-4057 and ensure that the tests in OutOfOrderMutationsIT pass. It'd be important to
add tests that do do multi-version scans and verify correctness.

This will be necessary to support point-in-time queries against an index to always work correctly.

Barring any bugs in the bowels of mutable secondary indexing, the main area to focus on would
be to correctly put and delete the Phoenix empty key value row. This is currently done in
IndexMaintainer.buildDeleteMutation() and IndexMaintainer.buildUpdateMutation() which are
called through the IndexCodec.getIndexDeletes() and getIndexUpserts() calls. It seems that
the NonTxIndexBuilder.addMutationsForBatch() and addCurrentStateMutationsForBatch() do not
always go through this abstraction. Fixing this might solve the issue, but understanding the
mutable secondary index code is no small feat.

  was:
To correctly handle out of order updates during mutable secondary index maintenance, revert
PHOENIX-4057 and ensure that the tests in OutOfOrderMutationsIT pass. It'd be important to
add tests that do do multi-version scans and verify correctness.

This will be necessary to support point-in-time queries against an index to always work correctly.


> Handle out of order updates during mutable secondary index maintenance
> ----------------------------------------------------------------------
>
>                 Key: PHOENIX-4060
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-4060
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: James Taylor
>
> To correctly handle out of order updates during mutable secondary index maintenance,
revert PHOENIX-4057 and ensure that the tests in OutOfOrderMutationsIT pass. It'd be important
to add tests that do do multi-version scans and verify correctness.
> This will be necessary to support point-in-time queries against an index to always work
correctly.
> Barring any bugs in the bowels of mutable secondary indexing, the main area to focus
on would be to correctly put and delete the Phoenix empty key value row. This is currently
done in IndexMaintainer.buildDeleteMutation() and IndexMaintainer.buildUpdateMutation() which
are called through the IndexCodec.getIndexDeletes() and getIndexUpserts() calls. It seems
that the NonTxIndexBuilder.addMutationsForBatch() and addCurrentStateMutationsForBatch() do
not always go through this abstraction. Fixing this might solve the issue, but understanding
the mutable secondary index code is no small feat.



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

Mime
View raw message