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)