From 2086638fa3fdd7731013609b0112eac589b1f8f0 Mon Sep 17 00:00:00 2001 From: Hung Nguyen Date: Fri, 13 Sep 2024 17:05:00 +0700 Subject: [PATCH 1/3] Revert "Revert "STL-716: Allow LCM Bricks run with C9S and java11"" --- Dockerfile | 12 +++--------- VERSION | 2 +- gooddata.gemspec | 2 +- lib/gooddata/models/metadata/label.rb | 2 +- spec/lcm/integration/spec/others/data_helper_spec.rb | 3 ++- 5 files changed, 8 insertions(+), 13 deletions(-) diff --git a/Dockerfile b/Dockerfile index 87acc3b90..a3218f6de 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM 020413372491.dkr.ecr.us-east-1.amazonaws.com/tools/gdc-java-8-jdk-centos9:202311071405.4d8c665 +FROM 020413372491.dkr.ecr.us-east-1.amazonaws.com/tools/gdc-java-11-jre-centos9:202403271423.8c7c22c ARG RVM_VERSION=stable ARG JRUBY_VERSION=9.4.1.0 @@ -6,10 +6,10 @@ ARG JRUBY_VERSION=9.4.1.0 LABEL image_name="GDC LCM Bricks" LABEL maintainer="LCM " LABEL git_repository_url="https://github.com/gooddata/gooddata-ruby/" -LABEL parent_image="020413372491.dkr.ecr.us-east-1.amazonaws.com/tools/gdc-java-8-jdk-centos9:202311071405.4d8c665" +LABEL parent_image="020413372491.dkr.ecr.us-east-1.amazonaws.com/tools/gdc-java-11-jre-centos9:202312060945.d0814f3" # which is required by RVM -RUN yum install -y which patch make git maven procps \ +RUN yum install -y which patch make unzip gnupg git maven procps gzip \ && yum clean all \ && rm -rf /var/cache/yum @@ -33,9 +33,6 @@ RUN rvm install jruby-${JRUBY_VERSION} && gem update --system \ && gem install bundler -v 2.4.6 \ && gem install rake -v 13.0.6 -# Make sure java default running with java8 -RUN update-alternatives --set java java-1.8.0-openjdk.x86_64 - WORKDIR /src RUN groupadd -g 48 apache \ @@ -80,9 +77,6 @@ RUN cp -rf ci/mysql/target/*.jar ./lib/gooddata/cloud_resources/mysql/drivers/ RUN bundle install -# Check to make sure Java version is always Java8 -RUN java_version=$(java -version 2>&1) && echo "$java_version" | grep 'version.*1.8' || (echo "Java version is not 1.8" && exit 1) - ARG GIT_COMMIT=unspecified ARG BRICKS_VERSION=unspecified LABEL git_commit=$GIT_COMMIT diff --git a/VERSION b/VERSION index 96b7f91ff..2bb22a267 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3.7.71 +3.7.70 diff --git a/gooddata.gemspec b/gooddata.gemspec index 700428a84..9e0410357 100644 --- a/gooddata.gemspec +++ b/gooddata.gemspec @@ -75,7 +75,7 @@ Gem::Specification.new do |s| s.add_dependency 'azure-storage-blob', '~> 2.0' s.add_dependency 'nokogiri', '~> 1', '>= 1.10.8' s.add_dependency 'gli', '~> 2.15' - s.add_dependency 'gooddata_datawarehouse', '~> 0.0.11' if RUBY_PLATFORM == 'java' + s.add_dependency 'gooddata_datawarehouse', '~> 0.0.12' if RUBY_PLATFORM == 'java' s.add_dependency 'highline', '= 2.0.0.pre.develop.14' s.add_dependency 'json_pure', '~> 2.6' s.add_dependency 'multi_json', '~> 1.12' diff --git a/lib/gooddata/models/metadata/label.rb b/lib/gooddata/models/metadata/label.rb index 2b106bb4b..f088340af 100644 --- a/lib/gooddata/models/metadata/label.rb +++ b/lib/gooddata/models/metadata/label.rb @@ -56,7 +56,7 @@ def get_valid_elements(*args) params[:offset] = offset params[:limit] = paging_limit results, = valid_elements params - all_valid_elements << results['validElements']['items'].select do |i| + all_valid_elements += results['validElements']['items'].select do |i| i['element']['title'] == params[:filter] end diff --git a/spec/lcm/integration/spec/others/data_helper_spec.rb b/spec/lcm/integration/spec/others/data_helper_spec.rb index 056fedb5a..30bb337ad 100644 --- a/spec/lcm/integration/spec/others/data_helper_spec.rb +++ b/spec/lcm/integration/spec/others/data_helper_spec.rb @@ -296,7 +296,8 @@ expect(data).to eq File.open(file_path).read end - it 'connect to mysql mongobi with BASIC authentication' do + # Disable test for MongoBI + xit 'connect to mysql mongobi with BASIC authentication' do data_helper = GoodData::Helpers::DataSource.new(mysql_mongobi_basic_params['input_source']) file_path = data_helper.realize(mysql_mongobi_basic_params) data = File.open('spec/data/mysql_mongobi_data.csv').read From a20d93c656ac2dab8646c3d05a057a819ea64c54 Mon Sep 17 00:00:00 2001 From: Hung Nguyen Date: Fri, 13 Sep 2024 17:05:55 +0700 Subject: [PATCH 2/3] STL-716: Bump version --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 2bb22a267..98dbb32c5 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3.7.70 +3.7.72 From 5c2845e93a0bdc1a8cb1597ccdf5d28d4fee3e3d Mon Sep 17 00:00:00 2001 From: Hung Nguyen Date: Fri, 13 Sep 2024 17:10:03 +0700 Subject: [PATCH 3/3] STL-734: Fixing error no suitable driver found when running LCM Bricks with environment C9S Java11 --- lib/gooddata/cloud_resources/mssql/mssql_client.rb | 3 ++- lib/gooddata/cloud_resources/mysql/mysql_client.rb | 3 ++- lib/gooddata/cloud_resources/postgresql/postgresql_client.rb | 3 ++- lib/gooddata/cloud_resources/redshift/redshift_client.rb | 3 ++- lib/gooddata/cloud_resources/snowflake/snowflake_client.rb | 3 ++- 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/gooddata/cloud_resources/mssql/mssql_client.rb b/lib/gooddata/cloud_resources/mssql/mssql_client.rb index d97cc79c5..55ff97623 100644 --- a/lib/gooddata/cloud_resources/mssql/mssql_client.rb +++ b/lib/gooddata/cloud_resources/mssql/mssql_client.rb @@ -49,6 +49,7 @@ def initialize(options = {}) raise('Missing connection info for MSSQL client') end + # When update driver class then also updating driver class using in connection(..) method below Java.com.microsoft.sqlserver.jdbc.SQLServerDriver end @@ -90,7 +91,7 @@ def connect prop.setProperty('userName', authentication['userName']) prop.setProperty('password', authentication['password']) - @connection = java.sql.DriverManager.getConnection(connection_string, prop) + @connection = com.microsoft.sqlserver.jdbc.SQLServerDriver.new.connect(@url, prop) end def validate diff --git a/lib/gooddata/cloud_resources/mysql/mysql_client.rb b/lib/gooddata/cloud_resources/mysql/mysql_client.rb index d623a34b5..343fc3fa2 100644 --- a/lib/gooddata/cloud_resources/mysql/mysql_client.rb +++ b/lib/gooddata/cloud_resources/mysql/mysql_client.rb @@ -49,6 +49,7 @@ def initialize(options = {}) raise('Missing connection info for Mysql client') end + # When update driver class then also updating driver class using in connection(..) method below Java.com.mysql.jdbc.Driver end @@ -84,7 +85,7 @@ def connect prop = java.util.Properties.new prop.setProperty('user', @authentication['basic']['userName']) prop.setProperty('password', @authentication['basic']['password']) - @connection = java.sql.DriverManager.getConnection(@url, prop) + @connection = com.mysql.jdbc.Driver.new.connect(@url, prop) @connection.set_auto_commit(false) end diff --git a/lib/gooddata/cloud_resources/postgresql/postgresql_client.rb b/lib/gooddata/cloud_resources/postgresql/postgresql_client.rb index be20e0582..fea2a5c14 100644 --- a/lib/gooddata/cloud_resources/postgresql/postgresql_client.rb +++ b/lib/gooddata/cloud_resources/postgresql/postgresql_client.rb @@ -49,6 +49,7 @@ def initialize(options = {}) raise('Missing connection info for Postgres client') end + # When update driver class then also updating driver class using in connection(..) method below Java.org.postgresql.Driver end @@ -86,7 +87,7 @@ def connect prop.setProperty('password', @authentication['basic']['password']) prop.setProperty('schema', @schema) - @connection = java.sql.DriverManager.getConnection(@url, prop) + @connection = org.postgresql.Driver.new.connect(@url, prop) statement = @connection.create_statement statement.execute("#{POSTGRES_SET_SCHEMA_COMMAND} #{@schema}") @connection.set_auto_commit(false) diff --git a/lib/gooddata/cloud_resources/redshift/redshift_client.rb b/lib/gooddata/cloud_resources/redshift/redshift_client.rb index 2ad27a128..b214eb5ad 100644 --- a/lib/gooddata/cloud_resources/redshift/redshift_client.rb +++ b/lib/gooddata/cloud_resources/redshift/redshift_client.rb @@ -38,6 +38,7 @@ def initialize(options = {}) end @debug = options['debug'] == true || options['debug'] == 'true' + # When update driver class then also updating driver class using in connection(..) method below Java.com.amazon.redshift.jdbc42.Driver end @@ -83,7 +84,7 @@ def connect prop.setProperty('DbUser', @authentication['iam']['dbUser']) end - @connection = java.sql.DriverManager.getConnection(full_url, prop) + @connection = com.amazon.redshift.jdbc42.Driver.new.connect(@url, prop) end private diff --git a/lib/gooddata/cloud_resources/snowflake/snowflake_client.rb b/lib/gooddata/cloud_resources/snowflake/snowflake_client.rb index 13f61edeb..be83d8cdd 100644 --- a/lib/gooddata/cloud_resources/snowflake/snowflake_client.rb +++ b/lib/gooddata/cloud_resources/snowflake/snowflake_client.rb @@ -41,6 +41,7 @@ def initialize(options = {}) end + # When update driver class then also updating driver class using in connection(..) method below Java.net.snowflake.client.jdbc.SnowflakeDriver end @@ -80,7 +81,7 @@ def connect prop.setProperty('warehouse', @warehouse) prop.setProperty('db', @database) - @connection = java.sql.DriverManager.getConnection(@url, prop) + @connection = com.snowflake.client.jdbc.SnowflakeDriver.new.connect(@url, prop) end def build_url(url)