Alexander,

I can tell you what's happening but I don't know why.

When you do a Put in HBase (which is what Phoenix UPSERTs do underneath),
it gets committed to a mutable in-memory buffer called the MemStore.
Periodically, the MemStore is flushed to a physical HDFS file called an
HFile. The rule for HFiles is that all of the data inside them is sorted by
row key. That means that the code to flush the memstore to an HFile has a
built in sanity check that makes sure that each Cell flushed to an HBase
HFile is monotonically increasing. That sanity check is failing here for
some reason.

You mention that this happens constantly with increased write load --
that's likely because more write load causes more MemStore flushes.

Since you're using a global index, which stores the index data in a
separate table (and hence different regions, each of which has a different
MemStore / set of HFiles), and the error's happening to the base table, I'd
be surprised if Phoenix indexing is related.

What coprocessors (Phoenix and otherwise) are loaded on the table?

Geoffrey

On Thu, Aug 15, 2019 at 12:49 PM Alexander Batyrshin <0x62...@gmail.com>
wrote:

>
> > On 15 Aug 2019, at 21:27, Josh Elser <els...@apache.org> wrote:
> >
> > Short-answer, it's possible that something around secondary indexing in
> Phoenix causes this but not possible to definitively say in a vaccuum.
>
>
> As I see region-server crashes on main table (not index) memstore flush.
> How can I help to provide more information?
> Maybe I should increase logging level for some specific java class of
> Phoenix or HBase?

Reply via email to