Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Supported software versions for Connectors and testing #5804

Closed
adamjshook opened this issue Nov 3, 2020 · 10 comments
Closed

Supported software versions for Connectors and testing #5804

adamjshook opened this issue Nov 3, 2020 · 10 comments

Comments

@adamjshook
Copy link
Member

adamjshook commented Nov 3, 2020

The goal of this project is provide stability and confidence in a Presto connector where software versions to add additional test classes to connectors to expand the breadth of testing across multiple versions of software. Today, with few exceptions, connectors are tested against an older software version and rely on backwards compatibility to remain current. We'd like to close the gap to ensure connectors are tested against a minimum supported version, as they are today, as well as stay up to date with software releases to ensure compatibility and get ahead of any potential issues users may see when using Presto against the latest software version.

The general goals for each connector are to:

  • Establish (and document) a minimum supported version for the connector
    • Not sure if we need a formal definition for "supported", in the context here it is the minimum software version the connector is tested against
  • Ensure the connector has smoke tests, distributed query tests, and product tests for the minimum supported version
  • Ensure the connector has distributed query tests against the latest version

In practice, the minimum version is already established today for all connectors based on what the current tests are running against. The latest version is always a moving target -- for now let's lay the foundation and we can determine how/when to keep track of and/or update the latest version.

The following list of connectors are those that are tested today using Docker. The existing version(s) of the unit and product tests are listed, and the proposed minimum support version and latest versions are listed along with the tasks that are required to bring this up to the above goals. These connectors are not tested against any specific software version and omitted from the list: BigQuery, Google Sheets, Kinesis, MemSQL, Redshift, and Thrift. Accumulo 2.0.0 introduces breaking client changes and will need a separate version. Out of scope for this effort. Hive is intentionally left out as this connector is particularly special and well-tested.

Presto Connector Existing Unit Test(s) Existing Product Test Minimum Supported Version Latest Version Tasks
Accumulo 1.7.4 None 1.7.4 1.10.0, 2.0.0
  • Add unit test class for 1.10.0
  • Add product test for 1.7.4
Cassandra 2.2.x 3.9.x 2.2.x 2.2.18, 3.11.9
Druid 0.18.0 None 0.18.0 0.20.0
Elasticsearch 6.0.0, 7.0.0 None 6.0.0 7.9.3
Kafka Confluent 5.4.1 Confluent 5.2.1 Confluent 5.2.1 5.5.2
Kudu 1.10.0 None 1.10.0 1.12.0
MongoDB 3.4.0 None 3.4.0 3.6.19, 4.4.0
MySQL 8.0.12 5.7 5.7 8.0.20
  • Add unit test for 5.7
  • Update existing unit test to 8.0.20
Oracle Express Edition 11g None Express 11g Express 18c
  • Add product test for 11g
  • Add unit test for 18c
Phoenix 4.14.1-HBase-1.4 None 4.14.1-HBase-1.4 4.14.1-HBase-1.4
  • Add product test for 4.14.1-HBase-1.4
Pinot 0.4.0-SNAPSHOT None 0.4.0 0.5.0
  • Change unit test to use official 0.4.0 release
  • Add unit test for latest 0.5.0
  • Add product test for 0.4.0
PostgresSQL 9.5 9.5 9.5 13
  • Add unit test for 13
Prometheus 2.15.1 None 2.15.1 2.19.1
  • Add unit test for 2.19.1
  • Add product test for 2.15.1
Redis 2.8.9 None 2.8.9 6.0.5
  • Add unit test for 6.0.5
  • Add product test for 2.8.9
SQL Server 14.0.3048.4 2017-CU13 14.0.3048.4 15.0.2000.5
  • Add unit test for 15.0.2000.5
@martint
Copy link
Member

martint commented Nov 3, 2020

For Elasticsearch, there are already tests against 6.0.0 and 7.0.0

@adamjshook
Copy link
Member Author

For Elasticsearch, there are already tests against 6.0.0 and 7.0.0

Yes, I have that noted above. I figure for Elasticsearch we'd add another test class for the latest 7.9.3 in addition to 6.0.0 and 7.0.0.

@mosabua
Copy link
Member

mosabua commented Nov 6, 2020

We should standardize on how we document this and make sure each connector doc page has that info. Currently there is no standard and its hit and miss if there is any info

@adamjshook
Copy link
Member Author

We should standardize on how we document this and make sure each connector doc page has that info. Currently there is no standard and its hit and miss if there is any info

@mosabua Agreed, let me know what you're thinking -- or if you want to draft some template for us to use then we can use it to update the docs as we go.

@mosabua
Copy link
Member

mosabua commented Nov 12, 2020

I suggest something like

Requirements

* Connectivity to the database, typically port xxx
* MongoDB version x to y 
* Atlas x
* whatever else

@mosabua
Copy link
Member

mosabua commented Nov 12, 2020

If we want to specify more details we can have separate lines for more info. E.g. not sure we want to mention what we test with, also in some cases the version could be x or higher

@mosabua
Copy link
Member

mosabua commented Nov 12, 2020

And we should avoid any wording around "supported" versions.

@electrum
Copy link
Member

For connectivity, I'd like to phrase this as

The Presto coordinator and workers must be able to connect to the database on the configured port.

We already have the default port number in the example configuration.

@electrum
Copy link
Member

For versions, how about something like

The connector is tested against PostgreSQL 9.x and 12.x, but any intermediate or newer versions are expected to work.

This gives specifics about tested versions and sets expectations, without making a concrete statement about other versions working or not working.

@mosabua
Copy link
Member

mosabua commented Oct 29, 2024

This is unmanaged and out of date. Closing.

@mosabua mosabua closed this as completed Oct 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

4 participants