Iurii Gerzhedovich created IGNITE-21562:
-------------------------------------------
Summary: Improve test coverage for SQL metrics
Key: IGNITE-21562
URL: https://issues.apache.org/jira/browse/IGNITE-21562
Project: Ignite
Issue Type: Improvement
Components: sql
Reporter: Iurii Gerzhedovich
During implementation of metrics for SQLÂ were added set of tests. However added
set of tests is insufficient.
Let's add the following test scenarios:
For plan cache metrics:
* repeat for multiple queries that run concurrently. Check that metric
increased expected times. (check for plans cache hit and plans cache miss)
SQL API:
* start a query, call close on the ResultSet multiple times (the metric be
updated after the first close operation).
* start a query, start another query (the metric should increase by 2). Close
the ResultSet of the second query (the metric should decrease by 1). Close the
first ResultSet (the metric should return to its initial value).
* run metric checks for multiple concurrent operations.
* check that the metric returns to its initial value after a timeout (final
part is missing - see testMetricsDuringTimeouts).
* check that closing the session returns the metric to its initial value (no
standalone tests for this, tested in pre/post run checks).
JDBC API:
* For queries (execute, executeQuery methods of Statement/PreparedStatement):
** start a query (the metric should increase), obtain ResultSet, close it (the
metric should decrease).
** start a query, start another query (the metric should increase by 2).
Obtain ResultSet for both. Close the ResultSet of the second query (the metric
should decrease by 1). Close the first ResultSet (the metric should return to
its initial value).
** run metric checks for multiple queries concurrently.
** check that the metric returns to its initial value when a query returns an
error.
** check that the metric returns to its initial value after a timeout.
* For DML statements (via execute, executeUpdate, executeBatch methods of
Statement/PreparedStatement):
** execute DML statement (the metric should increase), close the statement
(the metric should return to its initial value).
** execute DML statement (the metric should increase), run another command
using the same statement, close the statement (the metric should return to its
initial value).
** repeat for multiple DML operations that run concurrently.
** run metric checks for multiple DML operations concurrently.
** check that the metric returns to its initial value when a DML operation
returns an error.
** check that the metric returns to its initial value after a timeout.
* Check check closing Statement/Connection also affects the metric and returns
it to its initial value.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)