Skip to content

Commit 2b40997

Browse files
committed
[dr][api] OPSAPS-45083 Add Hive stats in ApiHiveReplicationResult to CM API
Added the Hive stats to ApiHiveReplicationResult. Testing Done: 1. Added the unit tests 2. make clean dist (cherry picked from commit 1f71d5a)
1 parent 09eb1bb commit 2b40997

File tree

2 files changed

+43
-2
lines changed

2 files changed

+43
-2
lines changed

python/src/cm_api/endpoints/types.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -826,6 +826,19 @@ class ApiHiveReplicationResult(BaseApiObject):
826826
'runAsUser' : ROAttr(),
827827
'runOnSourceAsUser' : ROAttr(),
828828
'phase' : ROAttr(),
829+
'statsAvailable' : ROAttr(),
830+
'dbProcessed' : ROAttr(),
831+
'tableProcessed' : ROAttr(),
832+
'partitionProcessed' : ROAttr(),
833+
'functionProcessed' : ROAttr(),
834+
'indexProcessed' : ROAttr(),
835+
'statsProcessed' : ROAttr(),
836+
'dbExpected' : ROAttr(),
837+
'tableExpected' : ROAttr(),
838+
'partitionExpected' : ROAttr(),
839+
'functionExpected' : ROAttr(),
840+
'indexExpected' : ROAttr(),
841+
'statsExpected' : ROAttr(),
829842
}
830843

831844
class ApiReplicationCommand(ApiCommand):

python/src/cm_api_tests/test_replication.py

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,8 @@ def test_hive_arguments(self):
148148
{ "database" : "db1", "tableName" : "table1" }
149149
],
150150
"dryRun" : false,
151-
"replicateImpalaMetadata" : true
151+
"replicateImpalaMetadata" : true,
152+
"numThreads" : 4
152153
}'''
153154
args = utils.deserialize(RAW, ApiHiveReplicationArguments)
154155
self.assertEquals('vst2', args.sourceService.peerName)
@@ -163,6 +164,7 @@ def test_hive_arguments(self):
163164
self.assertEquals("db1", args.tableFilters[0].database)
164165
self.assertEquals("table1", args.tableFilters[0].tableName)
165166
self.assertTrue(args.replicateImpalaMetadata)
167+
self.assertEquals(4, args.numThreads)
166168

167169
def test_hive_cloud_arguments(self):
168170
RAW = '''{
@@ -239,7 +241,20 @@ def test_hive_results(self):
239241
},
240242
"dryRun" : false,
241243
"runAsUser" : "systest",
242-
"runOnSourceAsUser" : "hdfs"
244+
"runOnSourceAsUser" : "hdfs",
245+
"statsAvailable" : true,
246+
"dbProcessed" : 1,
247+
"tableProcessed" : 10,
248+
"partitionProcessed" : 100,
249+
"functionProcessed" : 1,
250+
"indexProcessed" : 1,
251+
"statsProcessed" : 100,
252+
"dbExpected" : 10,
253+
"tableExpected" : 100,
254+
"partitionExpected" : 1000,
255+
"functionExpected" : 10,
256+
"indexExpected" : 10,
257+
"statsExpected" : 1000
243258
}'''
244259
res = utils.deserialize(RAW, ApiHiveReplicationResult)
245260
self.assertEquals('EXPORT', res.phase)
@@ -266,6 +281,19 @@ def test_hive_results(self):
266281
self.assertFalse(res.dryRun)
267282
self.assertEquals(res.runAsUser, 'systest')
268283
self.assertEquals(res.runOnSourceAsUser, 'hdfs')
284+
self.assertTrue(res.statsAvailable)
285+
self.assertEquals(1, res.dbProcessed)
286+
self.assertEquals(10, res.tableProcessed)
287+
self.assertEquals(100, res.partitionProcessed)
288+
self.assertEquals(1, res.functionProcessed)
289+
self.assertEquals(1, res.indexProcessed)
290+
self.assertEquals(100, res.statsProcessed)
291+
self.assertEquals(10, res.dbExpected)
292+
self.assertEquals(100, res.tableExpected)
293+
self.assertEquals(1000, res.partitionExpected)
294+
self.assertEquals(10, res.functionExpected)
295+
self.assertEquals(10, res.indexExpected)
296+
self.assertEquals(1000, res.statsExpected)
269297

270298
def test_schedule(self):
271299
RAW = '''{

0 commit comments

Comments
 (0)