diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 39f81b23e3f7..8feb581160bd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -526,8 +526,7 @@ jobs: - name: Maven Tests id: tests if: >- - matrix.modules != 'plugin/trino-singlestore' - && ! (contains(matrix.modules, 'trino-bigquery') && contains(matrix.profile, 'cloud-tests-2')) + ! (contains(matrix.modules, 'trino-bigquery') && contains(matrix.profile, 'cloud-tests-2')) && ! (contains(matrix.modules, 'trino-delta-lake') && contains(matrix.profile, 'cloud-tests')) && ! (contains(matrix.modules, 'trino-iceberg') && contains(matrix.profile, 'cloud-tests')) && ! (contains(matrix.modules, 'trino-redshift') && contains(matrix.profile, 'cloud-tests')) @@ -629,13 +628,6 @@ jobs: -Dtesting.azure-abfs-access-key="${ABFS_ACCESSKEY}" \ -Dtesting.gcp-storage-bucket="${GCP_STORAGE_BUCKET}" \ -Dtesting.gcp-credentials-key="${GCP_CREDENTIALS_KEY}" - - name: Memsql Tests - id: tests-memsql - env: - MEMSQL_LICENSE: ${{ secrets.MEMSQL_LICENSE }} - if: matrix.modules == 'plugin/trino-singlestore' && (env.CI_SKIP_SECRETS_PRESENCE_CHECKS != '' || env.MEMSQL_LICENSE != '') - run: | - $MAVEN test ${MAVEN_TEST} -pl :trino-singlestore -Dmemsql.license=${MEMSQL_LICENSE} - name: Cloud BigQuery Tests id: tests-bq env: @@ -791,7 +783,6 @@ jobs: || steps.tests-azure.outcome == 'failure' || steps.tests-gcs.outcome == 'failure' || steps.tests-delta.outcome == 'failure' - || steps.tests-memsql.outcome == 'failure' || steps.tests-bq.outcome == 'failure' || steps.tests-bq-ci.outcome == 'failure' || steps.tests-bq-smoke.outcome == 'failure' diff --git a/docs/src/main/sphinx/connector/singlestore.md b/docs/src/main/sphinx/connector/singlestore.md index c11467e1e330..42209838f76c 100644 --- a/docs/src/main/sphinx/connector/singlestore.md +++ b/docs/src/main/sphinx/connector/singlestore.md @@ -17,7 +17,7 @@ creating tables in an external SingleStore database. To connect to SingleStore, you need: -- SingleStore version 7.1.4 or higher. +- SingleStore version 7.8 or higher. - Network access from the Trino coordinator and workers to SingleStore. Port 3306 is the default port. diff --git a/plugin/trino-singlestore/src/test/java/io/trino/plugin/singlestore/SingleStoreQueryRunner.java b/plugin/trino-singlestore/src/test/java/io/trino/plugin/singlestore/SingleStoreQueryRunner.java index 58c6bb804a74..e0bdbc692d56 100644 --- a/plugin/trino-singlestore/src/test/java/io/trino/plugin/singlestore/SingleStoreQueryRunner.java +++ b/plugin/trino-singlestore/src/test/java/io/trino/plugin/singlestore/SingleStoreQueryRunner.java @@ -100,7 +100,6 @@ public DistributedQueryRunner build() public static void main(String[] args) throws Exception { - // You need to set 'memsql.license' to VM options QueryRunner queryRunner = builder(new TestingSingleStoreServer()) .addCoordinatorProperty("http-server.http.port", "8080") .setInitialTables(TpchTable.getTables()) diff --git a/plugin/trino-singlestore/src/test/java/io/trino/plugin/singlestore/TestSingleStoreConnectorTest.java b/plugin/trino-singlestore/src/test/java/io/trino/plugin/singlestore/TestSingleStoreConnectorTest.java index dede72d518ee..0b8da9ddbbb5 100644 --- a/plugin/trino-singlestore/src/test/java/io/trino/plugin/singlestore/TestSingleStoreConnectorTest.java +++ b/plugin/trino-singlestore/src/test/java/io/trino/plugin/singlestore/TestSingleStoreConnectorTest.java @@ -398,7 +398,7 @@ protected OptionalInt maxSchemaNameLength() protected void verifySchemaNameLengthFailurePermissible(Throwable e) { // The error message says 60 char, but the actual limitation is 62 - assertThat(e).hasMessageContaining("Distributed MemSQL requires the length of the database name to be at most 60 characters"); + assertThat(e).hasMessageContaining("Distributed SingleStore requires the length of the database name to be at most 60 characters"); } @Override diff --git a/plugin/trino-singlestore/src/test/java/io/trino/plugin/singlestore/TestSingleStoreLatestConnectorSmokeTest.java b/plugin/trino-singlestore/src/test/java/io/trino/plugin/singlestore/TestSingleStoreLatestConnectorSmokeTest.java index 8c8aad5c53e1..71fea38c656e 100644 --- a/plugin/trino-singlestore/src/test/java/io/trino/plugin/singlestore/TestSingleStoreLatestConnectorSmokeTest.java +++ b/plugin/trino-singlestore/src/test/java/io/trino/plugin/singlestore/TestSingleStoreLatestConnectorSmokeTest.java @@ -17,6 +17,8 @@ import io.trino.testing.QueryRunner; import io.trino.testing.TestingConnectorBehavior; +import static io.trino.plugin.singlestore.TestingSingleStoreServer.LATEST_TESTED_VERSION; + public class TestSingleStoreLatestConnectorSmokeTest extends BaseJdbcConnectorSmokeTest { @@ -24,7 +26,7 @@ public class TestSingleStoreLatestConnectorSmokeTest protected QueryRunner createQueryRunner() throws Exception { - TestingSingleStoreServer singleStoreServer = closeAfterClass(new TestingSingleStoreServer(TestingSingleStoreServer.LATEST_TESTED_TAG)); + TestingSingleStoreServer singleStoreServer = closeAfterClass(new TestingSingleStoreServer(LATEST_TESTED_VERSION)); return SingleStoreQueryRunner.builder(singleStoreServer) .setInitialTables(REQUIRED_TPCH_TABLES) .build(); diff --git a/plugin/trino-singlestore/src/test/java/io/trino/plugin/singlestore/TestSingleStoreLatestTypeMapping.java b/plugin/trino-singlestore/src/test/java/io/trino/plugin/singlestore/TestSingleStoreLatestTypeMapping.java index 447ff14babe2..4e1155ff636a 100644 --- a/plugin/trino-singlestore/src/test/java/io/trino/plugin/singlestore/TestSingleStoreLatestTypeMapping.java +++ b/plugin/trino-singlestore/src/test/java/io/trino/plugin/singlestore/TestSingleStoreLatestTypeMapping.java @@ -18,7 +18,7 @@ import io.trino.testing.sql.TestTable; import org.junit.jupiter.api.Test; -import static io.trino.plugin.singlestore.TestingSingleStoreServer.LATEST_TESTED_TAG; +import static io.trino.plugin.singlestore.TestingSingleStoreServer.LATEST_TESTED_VERSION; import static io.trino.spi.type.VarcharType.createVarcharType; import static java.lang.String.format; import static org.assertj.core.api.Assertions.assertThatThrownBy; @@ -30,7 +30,7 @@ final class TestSingleStoreLatestTypeMapping protected QueryRunner createQueryRunner() throws Exception { - singleStoreServer = closeAfterClass(new TestingSingleStoreServer(LATEST_TESTED_TAG)); + singleStoreServer = closeAfterClass(new TestingSingleStoreServer(LATEST_TESTED_VERSION)); return SingleStoreQueryRunner.builder(singleStoreServer).build(); } diff --git a/plugin/trino-singlestore/src/test/java/io/trino/plugin/singlestore/TestingSingleStoreServer.java b/plugin/trino-singlestore/src/test/java/io/trino/plugin/singlestore/TestingSingleStoreServer.java index c5f8f9910e81..441ccfc75d5c 100644 --- a/plugin/trino-singlestore/src/test/java/io/trino/plugin/singlestore/TestingSingleStoreServer.java +++ b/plugin/trino-singlestore/src/test/java/io/trino/plugin/singlestore/TestingSingleStoreServer.java @@ -23,35 +23,26 @@ import java.sql.Statement; import java.util.Set; -import static io.trino.testing.TestingProperties.requiredNonEmptySystemProperty; - public class TestingSingleStoreServer extends JdbcDatabaseContainer { - private static final String MEM_SQL_LICENSE = requiredNonEmptySystemProperty("memsql.license"); + public static final String DEFAULT_VERSION = "7.8"; + public static final String LATEST_TESTED_VERSION = "8.9"; - public static final String DEFAULT_TAG = "memsql/cluster-in-a-box:centos-7.1.13-11ddea2a3a-3.0.0-1.9.0"; - public static final String LATEST_TESTED_TAG = "memsql/cluster-in-a-box:alma-8.0.4-c190bb9c08-4.0.10-1.14.4"; + public static final String DEFAULT_TAG = "ghcr.io/singlestore-labs/singlestoredb-dev:latest"; public static final Integer SINGLESTORE_PORT = 3306; public TestingSingleStoreServer() { - this(DEFAULT_TAG); + this(DEFAULT_VERSION); } - public TestingSingleStoreServer(String dockerImageName) + public TestingSingleStoreServer(String version) { - super(DockerImageName.parse(dockerImageName)); + super(DockerImageName.parse(DEFAULT_TAG)); addEnv("ROOT_PASSWORD", "memsql_root_password"); - String option = dockerImageName.equals(LATEST_TESTED_TAG) ? "bash" : ""; - withCommand("sh", "-xeuc", - option + " /startup && " + - // Lower the size of pre-allocated log files to 1MB (minimum allowed) to reduce disk footprint - "memsql-admin update-config --yes --all --set-global --key \"log_file_size_partitions\" --value \"1048576\" && " + - "memsql-admin update-config --yes --all --set-global --key \"log_file_size_ref_dbs\" --value \"1048576\" && " + - // re-execute startup to actually start the nodes (first run performs setup but doesn't start the nodes) - "exec " + option + " /startup"); + addEnv("SINGLESTORE_VERSION", version); start(); } @@ -65,7 +56,6 @@ public Set getLivenessCheckPortNumbers() protected void configure() { addExposedPort(SINGLESTORE_PORT); - addEnv("LICENSE_KEY", MEM_SQL_LICENSE); setStartupAttempts(3); }