}
stopWatch.stop()
def deleteDurationInMillis = stopWatch.getTotalTimeMillis()
- then: 'delete duration is under 350 milliseconds'
- recordAndAssertPerformance('Delete 5 children', 350, deleteDurationInMillis)
+ then: 'delete duration is under 300 milliseconds'
+ recordAndAssertPerformance('Delete 5 children', 300, deleteDurationInMillis)
}
def 'Batch delete 100 children with grandchildren'() {
objectUnderTest.deleteDataNodes(PERF_DATASPACE, PERF_ANCHOR, xpathsToDelete)
stopWatch.stop()
def deleteDurationInMillis = stopWatch.getTotalTimeMillis()
- then: 'delete duration is under 350 milliseconds'
- recordAndAssertPerformance('Batch delete 100 children', 350, deleteDurationInMillis)
+ then: 'delete duration is under 250 milliseconds'
+ recordAndAssertPerformance('Batch delete 100 children', 250, deleteDurationInMillis)
}
def 'Delete 50 grandchildren (that have no descendants)'() {
}
stopWatch.stop()
def deleteDurationInMillis = stopWatch.getTotalTimeMillis()
- then: 'delete duration is under 350 milliseconds'
- recordAndAssertPerformance('Delete 50 grandchildren', 350, deleteDurationInMillis)
+ then: 'delete duration is under 300 milliseconds'
+ recordAndAssertPerformance('Delete 50 grandchildren', 300, deleteDurationInMillis)
}
def 'Batch delete 500 grandchildren (that have no descendants)'() {
objectUnderTest.deleteDataNodes(PERF_DATASPACE, PERF_ANCHOR, xpathsToDelete)
stopWatch.stop()
def deleteDurationInMillis = stopWatch.getTotalTimeMillis()
- then: 'delete duration is under 350 milliseconds'
- recordAndAssertPerformance('Batch delete 500 grandchildren', 350, deleteDurationInMillis)
+ then: 'delete duration is under 125 milliseconds'
+ recordAndAssertPerformance('Batch delete 500 grandchildren', 125, deleteDurationInMillis)
}
@Sql([CLEAR_DATA, PERF_TEST_DATA])
}
stopWatch.stop()
def deleteDurationInMillis = stopWatch.getTotalTimeMillis()
- then: 'delete duration is under 1500 milliseconds'
- recordAndAssertPerformance('Delete 5 whole lists', 1500, deleteDurationInMillis)
+ then: 'delete duration is under 1300 milliseconds'
+ recordAndAssertPerformance('Delete 5 whole lists', 1300, deleteDurationInMillis)
}
def 'Batch delete 100 whole lists'() {
objectUnderTest.deleteDataNodes(PERF_DATASPACE, PERF_ANCHOR, xpathsToDelete)
stopWatch.stop()
def deleteDurationInMillis = stopWatch.getTotalTimeMillis()
- then: 'delete duration is under 350 milliseconds'
- recordAndAssertPerformance('Batch delete 100 whole lists', 350, deleteDurationInMillis)
+ then: 'delete duration is under 250 milliseconds'
+ recordAndAssertPerformance('Batch delete 100 whole lists', 250, deleteDurationInMillis)
}
def 'Delete 10 list elements'() {
}
stopWatch.stop()
def deleteDurationInMillis = stopWatch.getTotalTimeMillis()
- then: 'delete duration is under 750 milliseconds'
- recordAndAssertPerformance('Delete 10 lists elements', 750, deleteDurationInMillis)
+ then: 'delete duration is under 600 milliseconds'
+ recordAndAssertPerformance('Delete 10 lists elements', 600, deleteDurationInMillis)
}
def 'Batch delete 500 list elements'() {
objectUnderTest.deleteDataNodes(PERF_DATASPACE, PERF_ANCHOR, xpathsToDelete)
stopWatch.stop()
def deleteDurationInMillis = stopWatch.getTotalTimeMillis()
- then: 'delete duration is under 350 milliseconds'
- recordAndAssertPerformance('Batch delete 500 lists elements', 350, deleteDurationInMillis)
+ then: 'delete duration is under 125 milliseconds'
+ recordAndAssertPerformance('Batch delete 500 lists elements', 125, deleteDurationInMillis)
}
@Sql([CLEAR_DATA, PERF_TEST_DATA])
objectUnderTest.deleteDataNodes(PERF_DATASPACE, PERF_ANCHOR, [PERF_TEST_PARENT])
stopWatch.stop()
def deleteDurationInMillis = stopWatch.getTotalTimeMillis()
- then: 'delete duration is under 300 milliseconds'
- recordAndAssertPerformance('Batch delete one large node', 300, deleteDurationInMillis)
+ then: 'delete duration is under 250 milliseconds'
+ recordAndAssertPerformance('Batch delete one large node', 250, deleteDurationInMillis)
}
@Sql([CLEAR_DATA, PERF_TEST_DATA])
}
@Sql([CLEAR_DATA, PERF_TEST_DATA])
- def 'Delete data nodes for an anchor'() {212
+ def 'Delete data nodes for an anchor'() {
given: 'a node with a large number of descendants is created'
createLineage(objectUnderTest, 50, 50, false)
createLineage(objectUnderTest, 50, 50, true)
recordAndAssertPerformance('Delete data nodes for anchor', 300, deleteDurationInMillis)
}
+ @Sql([CLEAR_DATA, PERF_TEST_DATA])
+ def 'Delete data nodes for multiple anchors'() {
+ given: 'a node with a large number of descendants is created'
+ createLineage(objectUnderTest, 50, 50, false)
+ createLineage(objectUnderTest, 50, 50, true)
+ when: 'data nodes are deleted'
+ stopWatch.start()
+ objectUnderTest.deleteDataNodes(PERF_DATASPACE, [PERF_ANCHOR])
+ stopWatch.stop()
+ def deleteDurationInMillis = stopWatch.getTotalTimeMillis()
+ then: 'delete duration is under 250 milliseconds'
+ recordAndAssertPerformance('Delete data nodes for anchors', 250, deleteDurationInMillis)
+ }
+
}