diff --git a/query/pom.xml b/query/pom.xml index 1108e606a..c086a39f9 100644 --- a/query/pom.xml +++ b/query/pom.xml @@ -45,6 +45,7 @@ enable_resource_pools + ydbplatform/local-ydb:trunk diff --git a/query/src/test/java/tech/ydb/query/QueryExampleTest.java b/query/src/test/java/tech/ydb/query/QueryExampleTest.java index b6f0aaa20..c6290ff63 100644 --- a/query/src/test/java/tech/ydb/query/QueryExampleTest.java +++ b/query/src/test/java/tech/ydb/query/QueryExampleTest.java @@ -11,6 +11,7 @@ import org.junit.BeforeClass; import org.junit.ClassRule; import org.junit.FixMethodOrder; +import org.junit.Ignore; import org.junit.Test; import org.junit.runners.MethodSorters; @@ -32,6 +33,7 @@ * @author Alexandr Gorshenin */ @FixMethodOrder(MethodSorters.NAME_ASCENDING) +@Ignore public class QueryExampleTest { @ClassRule public final static GrpcTransportRule ydbRule = new GrpcTransportRule(); diff --git a/query/src/test/java/tech/ydb/query/TableExampleTest.java b/query/src/test/java/tech/ydb/query/TableExampleTest.java index e42e2431b..8af72dbce 100644 --- a/query/src/test/java/tech/ydb/query/TableExampleTest.java +++ b/query/src/test/java/tech/ydb/query/TableExampleTest.java @@ -14,6 +14,7 @@ import org.junit.BeforeClass; import org.junit.ClassRule; import org.junit.FixMethodOrder; +import org.junit.Ignore; import org.junit.Test; import org.junit.runners.MethodSorters; @@ -43,6 +44,7 @@ * @author Alexandr Gorshenin */ @FixMethodOrder(MethodSorters.NAME_ASCENDING) +@Ignore public class TableExampleTest { @ClassRule public final static GrpcTransportRule ydbRule = new GrpcTransportRule(); diff --git a/query/src/test/java/tech/ydb/query/impl/QueryIntegrationTest.java b/query/src/test/java/tech/ydb/query/impl/QueryIntegrationTest.java index 4c348da63..da25ac844 100644 --- a/query/src/test/java/tech/ydb/query/impl/QueryIntegrationTest.java +++ b/query/src/test/java/tech/ydb/query/impl/QueryIntegrationTest.java @@ -44,6 +44,7 @@ * * @author Aleksandr Gorshenin */ +@Ignore public class QueryIntegrationTest { private final static Logger logger = LoggerFactory.getLogger(QueryIntegrationTest.class); private final static String TEST_TABLE = "query_service_test"; diff --git a/query/src/test/java/tech/ydb/query/impl/ResourcePoolTest.java b/query/src/test/java/tech/ydb/query/impl/ResourcePoolTest.java index e9f86084e..08da0dbcf 100644 --- a/query/src/test/java/tech/ydb/query/impl/ResourcePoolTest.java +++ b/query/src/test/java/tech/ydb/query/impl/ResourcePoolTest.java @@ -7,7 +7,6 @@ import org.junit.Assert; import org.junit.BeforeClass; import org.junit.ClassRule; -import org.junit.Ignore; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,7 +39,6 @@ * * @author Evgeny Kuvardin */ -@Ignore // Resource pools are unstable now public class ResourcePoolTest { private final static Logger logger = LoggerFactory.getLogger(ResourcePoolTest.class); @@ -78,6 +76,8 @@ public static void dropAll() { client.close(); client = null; } + + ydbTransport.printStdErr(); } private Status selectWithPool(String poolName) { @@ -98,7 +98,7 @@ private Status selectWithPool(String poolName) { private Status createResourcePool(String poolName) { String createPool = "CREATE RESOURCE POOL " + poolName + " WITH (" + "CONCURRENT_QUERY_LIMIT=10," - + "QUEUE_SIZE=\"-1\"," // Query size works unstable + + "QUEUE_SIZE=1000," + "DATABASE_LOAD_CPU_THRESHOLD=80);"; return retryCtx.supplyResult(s -> s.createQuery(createPool, TxMode.NONE).execute()).join().getStatus(); } diff --git a/tests/common/src/main/java/tech/ydb/test/integration/YdbHelper.java b/tests/common/src/main/java/tech/ydb/test/integration/YdbHelper.java index 55e3f506a..95d773d7a 100644 --- a/tests/common/src/main/java/tech/ydb/test/integration/YdbHelper.java +++ b/tests/common/src/main/java/tech/ydb/test/integration/YdbHelper.java @@ -17,6 +17,8 @@ public interface YdbHelper extends AutoCloseable { String authToken(); + String getStdErr(); + @Override void close(); } diff --git a/tests/common/src/main/java/tech/ydb/test/integration/docker/DockerHelperFactory.java b/tests/common/src/main/java/tech/ydb/test/integration/docker/DockerHelperFactory.java index 6688abf25..0ac0437e5 100644 --- a/tests/common/src/main/java/tech/ydb/test/integration/docker/DockerHelperFactory.java +++ b/tests/common/src/main/java/tech/ydb/test/integration/docker/DockerHelperFactory.java @@ -1,5 +1,7 @@ package tech.ydb.test.integration.docker; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.testcontainers.utility.TestcontainersConfiguration; import tech.ydb.core.grpc.GrpcTransport; @@ -15,6 +17,7 @@ * @author Aleksandr Gorshenin */ public class DockerHelperFactory extends YdbHelperFactory { + private static final Logger logger = LoggerFactory.getLogger(DockerHelperFactory.class); private final YdbEnvironment env; private final YdbDockerContainer container; @@ -30,6 +33,7 @@ public DockerHelperFactory(YdbEnvironment env, YdbDockerContainer container) { @Override public YdbHelper createHelper() { + logger.warn("container start"); container.start(); return new YdbHelper() { @@ -78,6 +82,11 @@ public void close() { container.stop(); container.close(); } + + @Override + public String getStdErr() { + return container.getLogs(); + } }; } } diff --git a/tests/common/src/main/java/tech/ydb/test/integration/docker/ProxedDockerHelperFactory.java b/tests/common/src/main/java/tech/ydb/test/integration/docker/ProxedDockerHelperFactory.java index 099a90d9b..b68cadf65 100644 --- a/tests/common/src/main/java/tech/ydb/test/integration/docker/ProxedDockerHelperFactory.java +++ b/tests/common/src/main/java/tech/ydb/test/integration/docker/ProxedDockerHelperFactory.java @@ -85,6 +85,11 @@ public void close() { container.stop(); container.close(); } + + @Override + public String getStdErr() { + return container.getLogs(); + } }; } } diff --git a/tests/common/src/main/java/tech/ydb/test/integration/docker/YdbDockerContainer.java b/tests/common/src/main/java/tech/ydb/test/integration/docker/YdbDockerContainer.java index a1eb88e80..ce0c994db 100644 --- a/tests/common/src/main/java/tech/ydb/test/integration/docker/YdbDockerContainer.java +++ b/tests/common/src/main/java/tech/ydb/test/integration/docker/YdbDockerContainer.java @@ -61,6 +61,7 @@ public void init() { withEnv("YDB_USE_IN_MEMORY_PDISKS", "true"); withEnv("YDB_ENABLE_COLUMN_TABLES", "true"); + withEnv("YDB_DEFAULT_LOG_LEVEL", "DEBUG"); if (env.dockerFeatures() != null && !env.dockerFeatures().isEmpty()) { withEnv("YDB_FEATURE_FLAGS", env.dockerFeatures()); @@ -104,6 +105,12 @@ public byte[] pemCert() { }); } + public void logStdErr() { + String logs = getLogs(); + System.out.println(logs); + System.out.println("LOG SIZE = " + logs.length()); + } + public String database() { return env.dockerDatabase(); } diff --git a/tests/common/src/main/java/tech/ydb/test/integration/external/ExternalHelperFactory.java b/tests/common/src/main/java/tech/ydb/test/integration/external/ExternalHelperFactory.java index f1e64614d..cf15b8c66 100644 --- a/tests/common/src/main/java/tech/ydb/test/integration/external/ExternalHelperFactory.java +++ b/tests/common/src/main/java/tech/ydb/test/integration/external/ExternalHelperFactory.java @@ -77,6 +77,11 @@ public byte[] pemCert() { public void close() { // Nothing } + + @Override + public String getStdErr() { + return "EXTERNAL"; + } }; } } diff --git a/tests/common/src/test/java/tech/ydb/test/integration/DockerHelperFactoryTest.java b/tests/common/src/test/java/tech/ydb/test/integration/DockerHelperFactoryTest.java index 5b329347e..9f539fd68 100644 --- a/tests/common/src/test/java/tech/ydb/test/integration/DockerHelperFactoryTest.java +++ b/tests/common/src/test/java/tech/ydb/test/integration/DockerHelperFactoryTest.java @@ -60,6 +60,13 @@ public String getHost() { @Override public T copyFileFromContainer(String containerPath, ThrowingFunction function) { + if (!pemPath.equals(containerPath)) { + try (ByteArrayInputStream bais = new ByteArrayInputStream("".getBytes())) { + return function.apply(bais); + } catch (Exception ex) { + throw new AssertionError("mock error", ex); + } + } Assert.assertEquals("check pem path", pemPath, containerPath); try (ByteArrayInputStream bais = new ByteArrayInputStream(pemCert)) { diff --git a/tests/junit4-support/src/main/java/tech/ydb/test/junit4/GrpcTransportRule.java b/tests/junit4-support/src/main/java/tech/ydb/test/junit4/GrpcTransportRule.java index 647450ad6..a958af32e 100644 --- a/tests/junit4-support/src/main/java/tech/ydb/test/junit4/GrpcTransportRule.java +++ b/tests/junit4-support/src/main/java/tech/ydb/test/junit4/GrpcTransportRule.java @@ -22,6 +22,7 @@ public class GrpcTransportRule extends ProxyGrpcTransport implements TestRule { private static final Logger logger = LoggerFactory.getLogger(GrpcTransportRule.class); private final AtomicReference proxy = new AtomicReference<>(); + private final AtomicReference proxy2 = new AtomicReference<>(); @Override public Statement apply(Statement base, Description description) { @@ -41,14 +42,24 @@ public void evaluate() throws Throwable { path += "/" + description.getMethodName(); } - logger.debug("create ydb helper for test {}", path); + logger.warn("create ydb helper for test {}", path); try (YdbHelper helper = factory.createHelper()) { + logger.warn("create ydb transport for test {}", path); + proxy2.set(helper); try (GrpcTransport transport = helper.createTransport()) { proxy.set(transport); - base.evaluate(); - proxy.set(null); + logger.warn("evaluate test {}", path); + try { + base.evaluate(); + } finally { + logger.warn("finish evaluate test {}", path); + proxy.set(null); + } + logger.warn("close ydb transport for test {}", path); } + logger.warn("close ydb helper for test {}", path); } + proxy2.set(null); } }; } @@ -57,4 +68,13 @@ public void evaluate() throws Throwable { protected GrpcTransport origin() { return proxy.get(); } + + public void printStdErr() { + try { + String output = proxy2.get().getStdErr(); + logger.warn("DOCKER OUTPUT: \n{}", output); + } catch (Exception ex) { + logger.error("DOCKER ERROR", ex); + } + } } diff --git a/tests/junit4-support/src/main/java/tech/ydb/test/junit4/YdbHelperRule.java b/tests/junit4-support/src/main/java/tech/ydb/test/junit4/YdbHelperRule.java index ecf6f2b42..306f66999 100644 --- a/tests/junit4-support/src/main/java/tech/ydb/test/junit4/YdbHelperRule.java +++ b/tests/junit4-support/src/main/java/tech/ydb/test/junit4/YdbHelperRule.java @@ -50,4 +50,9 @@ public void evaluate() throws Throwable { protected YdbHelper origin() { return proxy.get(); } + + @Override + public String getStdErr() { + return proxy.get().getStdErr(); + } } diff --git a/tests/junit5-support/src/main/java/tech/ydb/test/junit5/YdbHelperExtension.java b/tests/junit5-support/src/main/java/tech/ydb/test/junit5/YdbHelperExtension.java index f69dd55e0..b3860d65e 100644 --- a/tests/junit5-support/src/main/java/tech/ydb/test/junit5/YdbHelperExtension.java +++ b/tests/junit5-support/src/main/java/tech/ydb/test/junit5/YdbHelperExtension.java @@ -63,6 +63,11 @@ public void afterEach(ExtensionContext ec) throws Exception { holder.after(ec); } + @Override + public String getStdErr() { + return holder.helper.getStdErr(); + } + private static class Holder { private final Lock holderLock = new ReentrantLock();