Andrew Kyle Purtell created PHOENIX-7826:
--------------------------------------------
Summary: MetadataGetTableReadLockIT wait for coprocessor swap to
land
Key: PHOENIX-7826
URL: https://issues.apache.org/jira/browse/PHOENIX-7826
Project: Phoenix
Issue Type: Sub-task
Components: test
Reporter: Andrew Kyle Purtell
Assignee: Andrew Kyle Purtell
Fix For: 5.4.0, 5.3.1
The {{testBlockedReadDoesNotBlockAnotherRead}} test installs a
{{BlockingMetaDataEndpointImpl}} coprocessor on {{SYSTEM.CATALOG}} and expects
a worker thread's query to hit it and signal a latch the main thread is waiting
on, but {{TestUtil.addCoprocessor()}} only updates the master
{{TableDescriptor}} and doesn't wait for region servers to reopen the region
with the new coprocessor, so if the query reaches the old
{{MetaDataEndpointImpl}} first the latch is never signaled and the main thread
hangs until the Surefire/Failsafe fork times out. The fix is to add a helper
that polls each {{SYSTEM.CATALOG}} region's coprocessor host (via
{{{}findCoprocessor{}}}) for up to 10 seconds and call it after
{{addCoprocessor}} so the coprocessor swap is guaranteed visible before the
worker thread starts.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)