Skip to content

Commit

Permalink
[opt](regression test) use select count from tablet api (apache#28327)
Browse files Browse the repository at this point in the history
  • Loading branch information
qidaye authored and HappenLee committed Jan 12, 2024
1 parent dc713c5 commit b47c1ed
Showing 1 changed file with 65 additions and 140 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,6 @@

import groovy.json.JsonSlurper

/**
* @Params url is "/xxx"
* @Return response body
*/
def http_get(url) {
def conn = new URL(url).openConnection()
conn.setRequestMethod("GET")
//token for root
return conn.getInputStream().getText()
}

suite("test_load_to_single_tablet", "p0") {
sql "show tables"

Expand Down Expand Up @@ -67,23 +56,16 @@ suite("test_load_to_single_tablet", "p0") {
def totalCount = sql "select count() from ${tableName}"
assertEquals(10, totalCount[0][0])
def res = sql "show tablets from ${tableName}"
def tabletMetaUrl1 = res[0][17]
def tabletMetaUrl2 = res[1][17]
def tabletMetaUrl3 = res[2][17]
def tabletMetaRes1 = http_get(tabletMetaUrl1)
def tabletMetaRes2 = http_get(tabletMetaUrl2)
def tabletMetaRes3 = http_get(tabletMetaUrl3)

def obj1 = new JsonSlurper().parseText(tabletMetaRes1)
def obj2 = new JsonSlurper().parseText(tabletMetaRes2)
def obj3 = new JsonSlurper().parseText(tabletMetaRes3)
def rowCount1 = obj1.rs_metas[0].num_rows + obj1.rs_metas[1].num_rows
def rowCount2 = obj2.rs_metas[0].num_rows + obj2.rs_metas[1].num_rows
def rowCount3 = obj3.rs_metas[0].num_rows + obj3.rs_metas[1].num_rows

assertEquals(10, rowCount1)
assertEquals(0, rowCount2)
assertEquals(0, rowCount3)
def tablet1 = res[0][0]
def tablet2 = res[1][0]
def tablet3 = res[2][0]
def rowCount1 = sql "select count() from ${tableName} tablet(${tablet1})"
def rowCount2 = sql "select count() from ${tableName} tablet(${tablet2})"
def rowCount3 = sql "select count() from ${tableName} tablet(${tablet3})"

assertEquals(10, rowCount1[0][0])
assertEquals(0, rowCount2[0][0])
assertEquals(0, rowCount3[0][0])


// load second time
Expand All @@ -99,21 +81,13 @@ suite("test_load_to_single_tablet", "p0") {
}
sql "sync"
totalCount = sql "select count() from ${tableName}"
rowCount1 = sql "select count() from ${tableName} tablet(${tablet1})"
rowCount2 = sql "select count() from ${tableName} tablet(${tablet2})"
rowCount3 = sql "select count() from ${tableName} tablet(${tablet3})"
assertEquals(20, totalCount[0][0])
tabletMetaRes1 = http_get(tabletMetaUrl1)
tabletMetaRes2 = http_get(tabletMetaUrl2)
tabletMetaRes3 = http_get(tabletMetaUrl3)

obj1 = new JsonSlurper().parseText(tabletMetaRes1)
obj2 = new JsonSlurper().parseText(tabletMetaRes2)
obj3 = new JsonSlurper().parseText(tabletMetaRes3)

rowCount1 = obj1.rs_metas[0].num_rows + obj1.rs_metas[1].num_rows + obj1.rs_metas[2].num_rows
rowCount2 = obj2.rs_metas[0].num_rows + obj2.rs_metas[1].num_rows + obj2.rs_metas[2].num_rows
rowCount3 = obj3.rs_metas[0].num_rows + obj3.rs_metas[1].num_rows + obj3.rs_metas[2].num_rows
assertEquals(10, rowCount1)
assertEquals(10, rowCount2)
assertEquals(0, rowCount3)
assertEquals(10, rowCount1[0][0])
assertEquals(10, rowCount2[0][0])
assertEquals(0, rowCount3[0][0])

// load third time
streamLoad {
Expand All @@ -128,21 +102,13 @@ suite("test_load_to_single_tablet", "p0") {
}
sql "sync"
totalCount = sql "select count() from ${tableName}"
rowCount1 = sql "select count() from ${tableName} tablet(${tablet1})"
rowCount2 = sql "select count() from ${tableName} tablet(${tablet2})"
rowCount3 = sql "select count() from ${tableName} tablet(${tablet3})"
assertEquals(30, totalCount[0][0])
tabletMetaRes1 = http_get(tabletMetaUrl1)
tabletMetaRes2 = http_get(tabletMetaUrl2)
tabletMetaRes3 = http_get(tabletMetaUrl3)

obj1 = new JsonSlurper().parseText(tabletMetaRes1)
obj2 = new JsonSlurper().parseText(tabletMetaRes2)
obj3 = new JsonSlurper().parseText(tabletMetaRes3)

rowCount1 = obj1.rs_metas[0].num_rows + obj1.rs_metas[1].num_rows + obj1.rs_metas[2].num_rows + obj1.rs_metas[3].num_rows
rowCount2 = obj2.rs_metas[0].num_rows + obj2.rs_metas[1].num_rows + obj2.rs_metas[2].num_rows + obj2.rs_metas[3].num_rows
rowCount3 = obj3.rs_metas[0].num_rows + obj3.rs_metas[1].num_rows + obj3.rs_metas[2].num_rows + obj3.rs_metas[3].num_rows
assertEquals(10, rowCount1)
assertEquals(10, rowCount2)
assertEquals(10, rowCount3)
assertEquals(10, rowCount1[0][0])
assertEquals(10, rowCount2[0][0])
assertEquals(10, rowCount3[0][0])

// test partitioned table
tableName = "test_load_to_single_tablet_partitioned"
Expand Down Expand Up @@ -184,38 +150,25 @@ suite("test_load_to_single_tablet", "p0") {
totalCount = sql "select count() from ${tableName}"
assertEquals(10, totalCount[0][0])
res = sql "show tablets from ${tableName} partitions(p20231011, p20231012)"
tabletMetaUrl1 = res[0][17]
tabletMetaUrl2 = res[1][17]
tabletMetaUrl3 = res[2][17]
tabletMetaUrl4 = res[10][17]
tabletMetaUrl5 = res[11][17]
tabletMetaUrl6 = res[12][17]
tabletMetaRes1 = http_get(tabletMetaUrl1)
tabletMetaRes2 = http_get(tabletMetaUrl2)
tabletMetaRes3 = http_get(tabletMetaUrl3)
tabletMetaRes4 = http_get(tabletMetaUrl4)
tabletMetaRes5 = http_get(tabletMetaUrl5)
tabletMetaRes6 = http_get(tabletMetaUrl6)

obj1 = new JsonSlurper().parseText(tabletMetaRes1)
obj2 = new JsonSlurper().parseText(tabletMetaRes2)
obj3 = new JsonSlurper().parseText(tabletMetaRes3)
obj4 = new JsonSlurper().parseText(tabletMetaRes4)
obj5 = new JsonSlurper().parseText(tabletMetaRes5)
obj6 = new JsonSlurper().parseText(tabletMetaRes6)

rowCount1 = obj1.rs_metas[0].num_rows + obj1.rs_metas[1].num_rows
rowCount2 = obj2.rs_metas[0].num_rows + obj2.rs_metas[1].num_rows
rowCount3 = obj3.rs_metas[0].num_rows + obj3.rs_metas[1].num_rows
def rowCount4 = obj4.rs_metas[0].num_rows + obj4.rs_metas[1].num_rows
def rowCount5 = obj5.rs_metas[0].num_rows + obj5.rs_metas[1].num_rows
def rowCount6 = obj6.rs_metas[0].num_rows + obj6.rs_metas[1].num_rows
assertEquals(5, rowCount1)
assertEquals(0, rowCount2)
assertEquals(0, rowCount3)
assertEquals(5, rowCount4)
assertEquals(0, rowCount5)
assertEquals(0, rowCount6)
tablet1 = res[0][0]
tablet2 = res[1][0]
tablet3 = res[2][0]
tablet4 = res[10][0]
tablet5 = res[11][0]
tablet6 = res[12][0]

rowCount1 = sql "select count() from ${tableName} tablet(${tablet1})"
rowCount2 = sql "select count() from ${tableName} tablet(${tablet2})"
rowCount3 = sql "select count() from ${tableName} tablet(${tablet3})"
def rowCount4 = sql "select count() from ${tableName} tablet(${tablet4})"
def rowCount5 = sql "select count() from ${tableName} tablet(${tablet5})"
def rowCount6 = sql "select count() from ${tableName} tablet(${tablet6})"
assertEquals(5, rowCount1[0][0])
assertEquals(0, rowCount2[0][0])
assertEquals(0, rowCount3[0][0])
assertEquals(5, rowCount4[0][0])
assertEquals(0, rowCount5[0][0])
assertEquals(0, rowCount6[0][0])

// load second time
streamLoad {
Expand All @@ -230,33 +183,19 @@ suite("test_load_to_single_tablet", "p0") {
}
sql "sync"
totalCount = sql "select count() from ${tableName}"
rowCount1 = sql "select count() from ${tableName} tablet(${tablet1})"
rowCount2 = sql "select count() from ${tableName} tablet(${tablet2})"
rowCount3 = sql "select count() from ${tableName} tablet(${tablet3})"
rowCount4 = sql "select count() from ${tableName} tablet(${tablet4})"
rowCount5 = sql "select count() from ${tableName} tablet(${tablet5})"
rowCount6 = sql "select count() from ${tableName} tablet(${tablet6})"
assertEquals(20, totalCount[0][0])
tabletMetaRes1 = http_get(tabletMetaUrl1)
tabletMetaRes2 = http_get(tabletMetaUrl2)
tabletMetaRes3 = http_get(tabletMetaUrl3)
tabletMetaRes4 = http_get(tabletMetaUrl4)
tabletMetaRes5 = http_get(tabletMetaUrl5)
tabletMetaRes6 = http_get(tabletMetaUrl6)

obj1 = new JsonSlurper().parseText(tabletMetaRes1)
obj2 = new JsonSlurper().parseText(tabletMetaRes2)
obj3 = new JsonSlurper().parseText(tabletMetaRes3)
obj4 = new JsonSlurper().parseText(tabletMetaRes4)
obj5 = new JsonSlurper().parseText(tabletMetaRes5)
obj6 = new JsonSlurper().parseText(tabletMetaRes6)

rowCount1 = obj1.rs_metas[0].num_rows + obj1.rs_metas[1].num_rows + obj1.rs_metas[2].num_rows
rowCount2 = obj2.rs_metas[0].num_rows + obj2.rs_metas[1].num_rows + obj2.rs_metas[2].num_rows
rowCount3 = obj3.rs_metas[0].num_rows + obj3.rs_metas[1].num_rows + obj3.rs_metas[2].num_rows
rowCount4 = obj4.rs_metas[0].num_rows + obj4.rs_metas[1].num_rows + obj4.rs_metas[2].num_rows
rowCount5 = obj5.rs_metas[0].num_rows + obj5.rs_metas[1].num_rows + obj5.rs_metas[2].num_rows
rowCount6 = obj6.rs_metas[0].num_rows + obj6.rs_metas[1].num_rows + obj6.rs_metas[2].num_rows
assertEquals(5, rowCount1)
assertEquals(5, rowCount2)
assertEquals(0, rowCount3)
assertEquals(5, rowCount4)
assertEquals(5, rowCount5)
assertEquals(0, rowCount6)
assertEquals(5, rowCount1[0][0])
assertEquals(5, rowCount2[0][0])
assertEquals(0, rowCount3[0][0])
assertEquals(5, rowCount4[0][0])
assertEquals(5, rowCount5[0][0])
assertEquals(0, rowCount6[0][0])

// load third time
streamLoad {
Expand All @@ -271,32 +210,18 @@ suite("test_load_to_single_tablet", "p0") {
}
sql "sync"
totalCount = sql "select count() from ${tableName}"
rowCount1 = sql "select count() from ${tableName} tablet(${tablet1})"
rowCount2 = sql "select count() from ${tableName} tablet(${tablet2})"
rowCount3 = sql "select count() from ${tableName} tablet(${tablet3})"
rowCount4 = sql "select count() from ${tableName} tablet(${tablet4})"
rowCount5 = sql "select count() from ${tableName} tablet(${tablet5})"
rowCount6 = sql "select count() from ${tableName} tablet(${tablet6})"
assertEquals(30, totalCount[0][0])
tabletMetaRes1 = http_get(tabletMetaUrl1)
tabletMetaRes2 = http_get(tabletMetaUrl2)
tabletMetaRes3 = http_get(tabletMetaUrl3)
tabletMetaRes4 = http_get(tabletMetaUrl4)
tabletMetaRes5 = http_get(tabletMetaUrl5)
tabletMetaRes6 = http_get(tabletMetaUrl6)

obj1 = new JsonSlurper().parseText(tabletMetaRes1)
obj2 = new JsonSlurper().parseText(tabletMetaRes2)
obj3 = new JsonSlurper().parseText(tabletMetaRes3)
obj4 = new JsonSlurper().parseText(tabletMetaRes4)
obj5 = new JsonSlurper().parseText(tabletMetaRes5)
obj6 = new JsonSlurper().parseText(tabletMetaRes6)

rowCount1 = obj1.rs_metas[0].num_rows + obj1.rs_metas[1].num_rows + obj1.rs_metas[2].num_rows + obj1.rs_metas[3].num_rows
rowCount2 = obj2.rs_metas[0].num_rows + obj2.rs_metas[1].num_rows + obj2.rs_metas[2].num_rows + obj2.rs_metas[3].num_rows
rowCount3 = obj3.rs_metas[0].num_rows + obj3.rs_metas[1].num_rows + obj3.rs_metas[2].num_rows + obj3.rs_metas[3].num_rows
rowCount4 = obj4.rs_metas[0].num_rows + obj4.rs_metas[1].num_rows + obj4.rs_metas[2].num_rows + obj4.rs_metas[3].num_rows
rowCount5 = obj5.rs_metas[0].num_rows + obj5.rs_metas[1].num_rows + obj5.rs_metas[2].num_rows + obj5.rs_metas[3].num_rows
rowCount6 = obj6.rs_metas[0].num_rows + obj6.rs_metas[1].num_rows + obj6.rs_metas[2].num_rows + obj6.rs_metas[3].num_rows
assertEquals(5, rowCount1)
assertEquals(5, rowCount2)
assertEquals(5, rowCount3)
assertEquals(5, rowCount4)
assertEquals(5, rowCount5)
assertEquals(5, rowCount6)
assertEquals(5, rowCount1[0][0])
assertEquals(5, rowCount2[0][0])
assertEquals(5, rowCount3[0][0])
assertEquals(5, rowCount4[0][0])
assertEquals(5, rowCount5[0][0])
assertEquals(5, rowCount6[0][0])
}

0 comments on commit b47c1ed

Please sign in to comment.