Package org.apache.hadoop.hbase.master
Class TestServerManager
java.lang.Object
org.apache.hadoop.hbase.master.TestServerManager
@Tag("org.apache.hadoop.hbase.testclassification.MasterTests") @Tag("org.apache.hadoop.hbase.testclassification.SmallTests")
public class TestServerManager
extends Object
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final class -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static voidawait(CyclicBarrier barrier) private longlastFlushed(org.apache.hadoop.hbase.client.RegionInfo ri) voidsetUp()voidHBASE-30335: the OPEN-time seed (ServerManager.reportRegionOpen(org.apache.hadoop.hbase.client.RegionInfo, long), which usesmerge(Math::max)) and the heartbeat handler (ServerManager.regionServerReport(org.apache.hadoop.hbase.ServerName, org.apache.hadoop.hbase.ServerMetrics)) both writeflushedSequenceIdByRegion.voidvoidvoidvoid
-
Field Details
-
sm
-
region
-
-
Constructor Details
-
TestServerManager
public TestServerManager()
-
-
Method Details
-
setUp
-
lastFlushed
-
testReportRegionOpenSeedsFlushedSequenceId
-
testReportRegionOpenDoesNotRegressExistingValue
-
testReportRegionOpenIgnoresNoSeqNum
-
testReportRegionOpenIgnoresNegativeSeqNum
-
testConcurrentStaleHeartbeatDoesNotClobberOpenSeed
HBASE-30335: the OPEN-time seed (ServerManager.reportRegionOpen(org.apache.hadoop.hbase.client.RegionInfo, long), which usesmerge(Math::max)) and the heartbeat handler (ServerManager.regionServerReport(org.apache.hadoop.hbase.ServerName, org.apache.hadoop.hbase.ServerMetrics)) both writeflushedSequenceIdByRegion. A stale in-flight heartbeat from the soon-to-be-dead source RS carries a lowercompletedSequenceId. Whatever the interleaving, the watermark must never regress below the seed: if the heartbeat lands first the seed lifts it toopenSeqNum; if it lands after, the heartbeat's read-modify-write must refuse to lower it. Only a non-atomic check-then-put in the heartbeat path (the pre-fix bug) could let the stale value clobber the seed. This drives both writers concurrently over many rounds to catch that race.- Throws:
Exception
-
await
-