[
https://issues.apache.org/jira/browse/HBASE-11842?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Enis Soztutar updated HBASE-11842:
----------------------------------
Attachment: hbase-11842_v1.patch
Attaching a patch for an integration test for the async wal replicas feature.
This single test covers most of the testing HBASE-10070 Phase 2 items including
Async WAL replication, memory pressure handling, and failover handling. Using
this test allowed us to uncover a couple of fixes that are already fixed in the
patches, or upcoming in the follow up patches (HBASE-12561, HBASE-11332,
HBASE-11908, etc).
The test runs LoadTestTool with N writes and M reader threads. The logic for
writer and readers (key distribution, verification, etc) is used as it is. The
test initializes a table with replicas and also assumes that async wal
replication is enabled in the cluster (via configuration).
The writer threads pick up keys to write and they perform the writes to the
table via primary regions. The expectation is that async wal replication will
replicate the modified keys shortly after to the region replicas. There is a
queue between writers and readers in LTT where the writers pick up keys to
write, and when the write is complete, they put the key to the queue so that
readers pick it up from there. This test simply changes the queue to be a delay
queue, which introduces a configurable amount of delay (for example 30 sec)
between a writer thread putting the key to the queue, and making it available
to a reader thread. This means that the readers are reading keys written 30 sec
or more before. The readers in the test read the keys from a region replica an
verify. If the async wal replication is broken, or there is data loss between
replicas, the test will fail. The test can also run chaos monkey.
> Integration test for async wal replication to secondary regions
> ---------------------------------------------------------------
>
> Key: HBASE-11842
> URL: https://issues.apache.org/jira/browse/HBASE-11842
> Project: HBase
> Issue Type: Sub-task
> Reporter: Enis Soztutar
> Assignee: Enis Soztutar
> Fix For: 2.0.0
>
> Attachments: hbase-11842_v1.patch
>
>
> We should add an integration test to cover async wal replication to secondary
> regions.
> Async wal replication to region replicas has been committed (HBASE-11568) and
> flush /compaction handling (HBASE-11569) and failover handling for secondary
> region replicas (HBASE-11580) is in the works.
> The test can use LoadTestTool over a table with region replicas. We can write
> to the primary regions, and read from the secondary region replicas in reader
> threads to do the verification.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)