[
https://issues.apache.org/jira/browse/HBASE-28254?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andor Molnar updated HBASE-28254:
---------------------------------
Description:
The test is running the following Ruby commands:
{noformat}
# Instert test data
@test_table.put(1, "x:a", 1)
@test_table.put(2, "x:raw1", 11)
@test_table.put(2, "x:raw1", 11)
@test_table.put(2, "x:raw1", 11)
@test_table.put(2, "x:raw1", 11)
{noformat}
And validate the versions with:
{noformat}
args = { VERSIONS => 10, RAW => true } # Since 4 versions of row with rowkey 2
is been added, we can use any number >= 4 for VERSIONS to scan all 4 versions.
num_rows = 0
@test_table._scan_internal(args) do # Raw Scan
num_rows += 1
end
# 5 since , 1 from row key '1' and other 4 from row key '4'
assert_equal(num_rows, 5,
'Num rows scanned without RAW/VERSIONS are not 5')
{noformat}
Which sometimes (almost always on fast machines) fails, because it only finds 3
versions out of 4. I believe this due to commands are running too fast and
inserts data with same timestamp, so HBase cannot distinguish them. I'd like to
add some sleep between puts to fix it.
was:
The test is running the following Ruby commands:
{noformat}
# Instert test data
@test_table.put(1, "x:a", 1)
@test_table.put(2, "x:raw1", 11)
@test_table.put(2, "x:raw1", 11)
@test_table.put(2, "x:raw1", 11)
@test_table.put(2, "x:raw1", 11)
{noformat}
And validate the versions with:
{noformat}
args = { VERSIONS => 10, RAW => true } # Since 4 versions of row with rowkey 2
is been added, we can use any number >= 4 for VERSIONS to scan all 4 versions.
num_rows = 0
@test_table._scan_internal(args) do # Raw Scan
num_rows += 1
end
# 5 since , 1 from row key '1' and other 4 from row key '4'
assert_equal(num_rows, 5,
'Num rows scanned without RAW/VERSIONS are not 5')
{noformat}
Which sometimes (almost always on fast machines) fails, because it only finds 3
versions out of 4. I believe this due to commands are running too fast and
inserts data with same timestamp, so HBase cannot distinguish them. I'd like to
add some sleep between puts to fix it.
> Flaky test: TestTableShell
> --------------------------
>
> Key: HBASE-28254
> URL: https://issues.apache.org/jira/browse/HBASE-28254
> Project: HBase
> Issue Type: Test
> Components: flakies, integration tests
> Reporter: Andor Molnar
> Assignee: Andor Molnar
> Priority: Major
>
> The test is running the following Ruby commands:
> {noformat}
> # Instert test data
> @test_table.put(1, "x:a", 1)
> @test_table.put(2, "x:raw1", 11)
> @test_table.put(2, "x:raw1", 11)
> @test_table.put(2, "x:raw1", 11)
> @test_table.put(2, "x:raw1", 11)
> {noformat}
> And validate the versions with:
> {noformat}
> args = { VERSIONS => 10, RAW => true } # Since 4 versions of row with rowkey
> 2 is been added, we can use any number >= 4 for VERSIONS to scan all 4
> versions.
> num_rows = 0
> @test_table._scan_internal(args) do # Raw Scan
> num_rows += 1
> end
> # 5 since , 1 from row key '1' and other 4 from row key '4'
> assert_equal(num_rows, 5,
> 'Num rows scanned without RAW/VERSIONS are not 5')
> {noformat}
> Which sometimes (almost always on fast machines) fails, because it only finds
> 3 versions out of 4. I believe this due to commands are running too fast and
> inserts data with same timestamp, so HBase cannot distinguish them. I'd like
> to add some sleep between puts to fix it.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)