phoenix
phoenix copied to clipboard
PHOENIX-6627 Remove all references to Tephra from 4.x and master
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.
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.
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/
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.
@stoty - @apurtell is going to be unavailable for a couple of weeks, so I went ahead and fixed the NoLookbackMutableIndexExtendedIT and NoTransactionAvailableProvider nits.
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.
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.)