phoenix-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lars Hofhansl (JIRA)" <>
Subject [jira] [Commented] (PHOENIX-5156) Consistent Global Indexes for Non-Transactional Tables
Date Wed, 27 Feb 2019 22:52:00 GMT


Lars Hofhansl commented on PHOENIX-5156:

Hi [~kozdemir], I'm not trying to kill anything.

I was reacting to this:
> As this proposal unifies the designs for immutable and mutable global indexes, the index
updates will be prepared by Indexer on the server side.

This would force the index update for immutable indexes to the server, which would add to
the server-server communication (this is what I meant with bad). I think we should do this
only for the current mutable global indexes, which - unfortunately - already do this on the

So for an index row in unVERIFIED state you're resolving that at the server - I missed this
in the doc, apologies. That works assuming this is a rare occurrence.

So let's do this:
# Fix the mutable global index bug by doing your two-phase theme on the server.
# Keep immutable index updates on the client. This "only" requires careful ordering of the
updates from the client.
# Always do the unVERIFIED resolution on the server - for both mutable and immutable indexes.
(I think it's rare enough)

This would be a good compromised between correctness and server load, and it is very close
to your design.


Personally, long term, I'd still like to see us arriving in a world where we only have:
# Local, uncovered Indexes.
# Global, client-managed, covered, transactional indexes, both mutable and immutable.

> Consistent Global Indexes for Non-Transactional Tables
> ------------------------------------------------------
>                 Key: PHOENIX-5156
>                 URL:
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.13.0, 4.14.0, 5.0.0, 4.14.1
>            Reporter: Kadir OZDEMIR
>            Assignee: Kadir OZDEMIR
>            Priority: Major
> Without transactional tables, the global indexes can get easily out of sync with their
data tables in Phoenix. Transactional tables require a separate transaction manager, have
some restrictions and performance penalties. This issue is to have consistent global indexes
without the need for using transactional tables.

This message was sent by Atlassian JIRA

View raw message