You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by tl...@apache.org on 2022/05/23 07:27:12 UTC
[ignite] branch master updated: IGNITE-17003 Fix flaky test SqlDataTypesCoverageTests.testDecimalDataType (#10027)
This is an automated email from the ASF dual-hosted git repository.
tledkov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git
The following commit(s) were added to refs/heads/master by this push:
new c55d68992ad IGNITE-17003 Fix flaky test SqlDataTypesCoverageTests.testDecimalDataType (#10027)
c55d68992ad is described below
commit c55d68992add10ea405f4082540e44675e240510
Author: Taras Ledkov <tl...@gridgain.com>
AuthorDate: Mon May 23 10:27:05 2022 +0300
IGNITE-17003 Fix flaky test SqlDataTypesCoverageTests.testDecimalDataType (#10027)
---
.../ignite/sqltests/SqlDataTypesCoverageTests.java | 41 ++++++++++++++++++++--
1 file changed, 38 insertions(+), 3 deletions(-)
diff --git a/modules/indexing/src/test/java/org/apache/ignite/sqltests/SqlDataTypesCoverageTests.java b/modules/indexing/src/test/java/org/apache/ignite/sqltests/SqlDataTypesCoverageTests.java
index 2e92b9f22cd..03afbe30f46 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/sqltests/SqlDataTypesCoverageTests.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/sqltests/SqlDataTypesCoverageTests.java
@@ -20,6 +20,7 @@ package org.apache.ignite.sqltests;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;
+import java.util.Objects;
import java.util.Random;
import java.util.UUID;
import org.apache.ignite.cache.CacheMode;
@@ -409,9 +410,43 @@ public class SqlDataTypesCoverageTests extends AbstractDataTypesCoverageTest {
private void check(IgniteEx ignite, String qryStr, SqlDataType dataType, Object expKey, Object expVal)
throws Exception {
if (writeSyncMode == CacheWriteSynchronizationMode.FULL_ASYNC &&
- !waitForCondition(() -> !ignite.context().query().querySqlFields(
- new SqlFieldsQuery(qryStr), false).getAll().isEmpty(),
- TIMEOUT_FOR_KEY_RETRIEVAL_IN_FULL_ASYNC_MODE))
+ !waitForCondition(() -> {
+ List<List<?>> res = ignite.context().query().querySqlFields(
+ new SqlFieldsQuery(qryStr), false).getAll();
+
+ if (res.isEmpty())
+ return false;
+ else {
+ if (res.size() != 1)
+ return false;
+ if (res.get(0).size() != 2)
+ return false;
+
+ if (expKey instanceof byte[]) {
+ if (!Arrays.equals((byte[])expKey, (byte[])res.get(0).get(0)))
+ return false;
+ }
+ else {
+ if (!Objects.equals(expKey, res.get(0).get(0)))
+ return false;
+ }
+
+ if (!res.get(0).get(1).getClass().equals(dataType.javaType))
+ return false;
+
+ if (expVal instanceof byte[]) {
+ if (!Arrays.equals((byte[])expVal, (byte[])res.get(0).get(1)))
+ return false;
+ }
+ else {
+ if (!Objects.equals(expVal, res.get(0).get(1)))
+ return false;
+ }
+
+ return true;
+ }
+ },
+ TIMEOUT_FOR_KEY_RETRIEVAL_IN_FULL_ASYNC_MODE))
fail("Unable to retrieve data via SELECT.");
List<List<?>> res = ignite.context().query().querySqlFields(new SqlFieldsQuery(qryStr), false).