phoenix icon indicating copy to clipboard operation
phoenix copied to clipboard

PHOENIX-6627 Remove all references to Tephra from 4.x and master

Open apurtell opened this issue 2 years ago • 3 comments

Retire Tephra.

Considerations:

Ordinals of TransactionFactory.Provider are maintained to preserve compatibility with deployed system catalogs. The enum label for the former Tephra provider is deliberately renamed to NOTAVAILABLE so any downstreams with ill-advised direct dependencies on it will fail to compile.

A coprocessor named TephraTransactionalProcessor is retained, with a no-op implementation, to prevent regionserver aborts in the worst case that a Tephra table remains deployed and the table coprocessor list has not changed. This should not happen. Users should be provided a migration runbook.

The commitDDLFence phase of MutationState is retained although it may no longer be necessary. Recommend a follow up issue.

PhoenixTransactionContext.PROPERTY_TTL is retained. It is possible a future txn engine option will have a similar design feature and will need to alter cell timestamps. Recommend a follow up issue.

storeNulls for transactional tables remains enabled for compatibility. It is possible a future txn engine option will have a similar design feature and will need to manage tombstones in a non-default way. Recommend a follow up issue.

Requests to ALTER a table from transactional to non transactional are still rejected. It is very likely OMID has similar complex state cleanup and removal requirements, and txn engines in general are likely to have this class of problem.

apurtell avatar Aug 11 '22 16:08 apurtell

The PR looks good to me. Can we trigger the pre-checkin tests for this PR? Not sure why it was not triggered automatically yet.

kadirozde avatar Aug 11 '22 17:08 kadirozde

As of this comment, it looks like the first build run is still in progress, not completed yet: https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1486/

virajjasani avatar Aug 11 '22 18:08 virajjasani

I did not submit until the UTs and ITs in phoenix-core all passed for me. I know that is not good enough on its own, but I mention it as a data point.

apurtell avatar Aug 11 '22 18:08 apurtell

@stoty - @apurtell is going to be unavailable for a couple of weeks, so I went ahead and fixed the NoLookbackMutableIndexExtendedIT and NoTransactionAvailableProvider nits.

gjacoby126 avatar Aug 16 '22 15:08 gjacoby126

I can't reproduce the test failure in TenantViewOperationsWorkloadIT either in the master branch or Andrew's feature branch. I've kicked off a new CI build to see if it recurs. If not I'll go ahead and merge.

gjacoby126 avatar Aug 18 '22 18:08 gjacoby126

That failure sounds like PHOENIX-6552, @gjacoby126 , which is a simple infra overload issue (though the test is also overly optimistic wrt GC pauses, etc.)

stoty avatar Aug 19 '22 05:08 stoty