diff --git a/.github/workflows/ci-build-java8.yml b/.github/workflows/ci-build-java8.yml
index aa81c24..3c0f7b3 100644
--- a/.github/workflows/ci-build-java8.yml
+++ b/.github/workflows/ci-build-java8.yml
@@ -9,6 +9,8 @@ on:
jobs:
java-8-compatibility:
runs-on: ubuntu-latest
+ permissions:
+ contents: read
steps:
- name: Checkout the repository
uses: actions/checkout@v4
@@ -22,15 +24,5 @@ jobs:
8
17
cache: "maven"
- - name: Cache local Maven repository
- uses: actions/cache@v3
- with:
- path: ~/.m2/repository
- key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
- restore-keys: |
- ${{ runner.os }}-maven-
- name: Run maven compile with Java 8
- run: |
- mvn --batch-mode --update-snapshots -Dtoolchain.version=8 clean compile \
- -DtrimStackTrace=false \
- -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
+ run: mvn --batch-mode -Djava.version=8 clean compile
diff --git a/.github/workflows/ci-build-next-java.yml b/.github/workflows/ci-build-next-java.yml
index 3f95694..ca4a32b 100644
--- a/.github/workflows/ci-build-next-java.yml
+++ b/.github/workflows/ci-build-next-java.yml
@@ -6,14 +6,13 @@ on:
pull_request:
jobs:
- java-17-compatibility:
+ next-java-compatibility:
runs-on: ubuntu-latest
defaults:
run:
shell: "bash"
permissions:
contents: read
- checks: write # Allow scacap/action-surefire-report
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
@@ -29,13 +28,4 @@ jobs:
java-version: 17
cache: "maven"
- name: Run tests and build with Maven
- run: |
- mvn --batch-mode --update-snapshots clean javadoc:javadoc \
- -DtrimStackTrace=false -Djava.version=17 -Dtoolchain.version=17 \
- -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
- - name: Publish Test Report for Java 17
- uses: scacap/action-surefire-report@v1
- if: ${{ always() && github.event.pull_request.head.repo.full_name == github.repository && github.actor != 'dependabot[bot]' }}
- with:
- github_token: ${{ secrets.GITHUB_TOKEN }}
- fail_if_no_tests: false
+ run: mvn --batch-mode clean javadoc:javadoc -Djava.version=17
diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml
index 9449f10..2609e1b 100644
--- a/.github/workflows/ci-build.yml
+++ b/.github/workflows/ci-build.yml
@@ -25,12 +25,12 @@ jobs:
fail-fast: false
matrix:
exasol_db_version: [
- 8.26.0,
- 7.1.29
+ 8.32.0,
+ 7.1.30
]
env: {
- DEFAULT_EXASOL_DB_VERSION: 8.26.0
+ DEFAULT_EXASOL_DB_VERSION: 8.32.0
}
steps:
- name: Free Disk Space
@@ -50,7 +50,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: temurin
- java-version: |
+ java-version: |-
11
17
cache: maven
@@ -127,7 +127,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: temurin
- java-version: |
+ java-version: |-
11
17
cache: maven
diff --git a/.github/workflows/dependencies_check.yml b/.github/workflows/dependencies_check.yml
index 9c2365c..02c5aa0 100644
--- a/.github/workflows/dependencies_check.yml
+++ b/.github/workflows/dependencies_check.yml
@@ -35,7 +35,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: temurin
- java-version: |
+ java-version: |-
11
17
cache: maven
diff --git a/.github/workflows/dependencies_update.yml b/.github/workflows/dependencies_update.yml
index 0fa7180..c901506 100644
--- a/.github/workflows/dependencies_update.yml
+++ b/.github/workflows/dependencies_update.yml
@@ -35,7 +35,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: temurin
- java-version: |
+ java-version: |-
11
17
cache: maven
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 2a8bbf7..750fe45 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -52,7 +52,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: temurin
- java-version: |
+ java-version: |-
11
17
cache: maven
@@ -67,7 +67,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: temurin
- java-version: |
+ java-version: |-
11
17
cache: maven
diff --git a/.project-keeper.yml b/.project-keeper.yml
index 6f96f2d..547ed40 100644
--- a/.project-keeper.yml
+++ b/.project-keeper.yml
@@ -9,8 +9,8 @@ build:
runnerOs: ubuntu-20.04
freeDiskSpace: false
exasolDbVersions:
- - "8.26.0" # 8.29.1 not yet supported by exasol-testcontainers
- - "7.1.29"
+ - "8.32.0"
+ - "7.1.30"
excludes:
# Only run javadoc as glue-connector cannot be built with java version > 11 currently
- "E-PK-CORE-18: Outdated content: '.github/workflows/ci-build-next-java.yml'"
diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
index 3adc1fb..43365b0 100644
--- a/.settings/org.eclipse.jdt.core.prefs
+++ b/.settings/org.eclipse.jdt.core.prefs
@@ -1,22 +1,27 @@
eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.annotationPath.allLocations=disabled
org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnull=javax.annotation.Nonnull
org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=javax.annotation.ParametersAreNonnullByDefault
org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.notowning=org.eclipse.jdt.annotation.NotOwning
+org.eclipse.jdt.core.compiler.annotation.nullable=javax.annotation.Nullable
org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
+org.eclipse.jdt.core.compiler.annotation.owning=org.eclipse.jdt.annotation.Owning
+org.eclipse.jdt.core.compiler.annotation.resourceanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.methodParameters=generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.compliance=11
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.APILeak=warning
+org.eclipse.jdt.core.compiler.problem.annotatedTypeArgumentToUnannotated=info
org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
@@ -39,8 +44,10 @@ org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompatibleOwningContract=warning
org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.insufficientResourceAnalysis=warning
org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
@@ -56,15 +63,15 @@ org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=warning
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=ignore
org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
@@ -78,7 +85,8 @@ org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarningsNotFullyAnalysed=info
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
@@ -113,7 +121,7 @@ org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.processAnnotations=disabled
org.eclipse.jdt.core.compiler.release=disabled
-org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.source=11
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
diff --git a/.settings/org.eclipse.jdt.ui.prefs b/.settings/org.eclipse.jdt.ui.prefs
index 1add06a..54d02ac 100644
--- a/.settings/org.eclipse.jdt.ui.prefs
+++ b/.settings/org.eclipse.jdt.ui.prefs
@@ -76,6 +76,7 @@ sp_cleanup.add_missing_nls_tags=false
sp_cleanup.add_missing_override_annotations=true
sp_cleanup.add_missing_override_annotations_interface_methods=true
sp_cleanup.add_serial_version_id=false
+sp_cleanup.also_simplify_lambda=false
sp_cleanup.always_use_blocks=true
sp_cleanup.always_use_parentheses_in_expressions=true
sp_cleanup.always_use_this_for_non_static_field_access=true
@@ -130,6 +131,7 @@ sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
sp_cleanup.operand_factorization=false
sp_cleanup.organize_imports=true
sp_cleanup.overridden_assignment=false
+sp_cleanup.overridden_assignment_move_decl=false
sp_cleanup.plain_replacement=false
sp_cleanup.precompile_regex=false
sp_cleanup.primitive_comparison=false
@@ -159,10 +161,12 @@ sp_cleanup.remove_unnecessary_casts=true
sp_cleanup.remove_unnecessary_nls_tags=true
sp_cleanup.remove_unused_imports=true
sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_method_parameters=false
sp_cleanup.remove_unused_private_fields=true
sp_cleanup.remove_unused_private_members=false
sp_cleanup.remove_unused_private_methods=true
sp_cleanup.remove_unused_private_types=true
+sp_cleanup.replace_deprecated_calls=false
sp_cleanup.return_expression=false
sp_cleanup.simplify_lambda_expression_and_method_ref=false
sp_cleanup.single_used_field=false
@@ -174,6 +178,8 @@ sp_cleanup.strictly_equal_or_different=false
sp_cleanup.stringbuffer_to_stringbuilder=false
sp_cleanup.stringbuilder=false
sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_stringbuffer_stringbuilder=false
+sp_cleanup.stringconcat_to_textblock=false
sp_cleanup.substring=false
sp_cleanup.switch=false
sp_cleanup.system_property=false
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 4b67841..1ccaabb 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -13,5 +13,10 @@
"vmArgs": [
"-Djava.util.logging.config.file=src/test/resources/logging.properties"
]
+ },
+ "java.jdt.ls.vmargs": "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx12G -Xms100m",
+ "sonarlint.connectedMode.project": {
+ "connectionId": "exasol",
+ "projectKey": "com.exasol:glue-connector"
}
}
diff --git a/dependencies.md b/dependencies.md
index 0acc2ef..38003a1 100644
--- a/dependencies.md
+++ b/dependencies.md
@@ -7,147 +7,161 @@
| ------------------------------------------- | --------------------------------------------- |
| [Spark Project SQL][0] | [Apache-2.0][1] |
| [Apache ZooKeeper - Server][2] | [Apache License, Version 2.0][3] |
-| [Apache Avro][4] | [Apache-2.0][3] |
-| [Apache Commons Compress][5] | [Apache-2.0][3] |
-| [snappy-java][6] | [Apache-2.0][7] |
+| [Netty/Handler][4] | [Apache License, Version 2.0][5] |
+| [Apache Avro][6] | [Apache-2.0][3] |
+| [Apache Commons Compress][7] | [Apache-2.0][3] |
+| [snappy-java][8] | [Apache-2.0][9] |
| Apache Hadoop Client Aggregator | [Apache-2.0][3] |
-| [dnsjava][8] | [BSD-3-Clause][9] |
-| [Apache Commons Configuration][10] | [Apache-2.0][3] |
-| [aircompressor][11] | [Apache License 2.0][7] |
-| [Nimbus JOSE+JWT][12] | [The Apache Software License, Version 2.0][3] |
-| [janino][13] | [BSD-3-Clause][14] |
-| [commons-compiler][15] | [BSD-3-Clause][14] |
+| [dnsjava][10] | [BSD-3-Clause][11] |
+| [Apache Commons Configuration][12] | [Apache-2.0][3] |
+| [aircompressor][13] | [Apache License 2.0][9] |
+| [Nimbus JOSE+JWT][14] | [The Apache Software License, Version 2.0][3] |
+| [janino][15] | [BSD-3-Clause][16] |
+| [commons-compiler][17] | [BSD-3-Clause][16] |
| Apache Hadoop Amazon Web Services support | [Apache-2.0][3] |
-| [ParaNamer Core][16] | [BSD][17] |
-| [Guava: Google Core Libraries for Java][18] | [Apache License, Version 2.0][19] |
-| [jackson-databind][20] | [The Apache Software License, Version 2.0][3] |
-| [AWS Java SDK :: Services :: Amazon S3][21] | [Apache License, Version 2.0][22] |
-| [Exasol JDBC Driver][23] | [EXAClient License][24] |
-| [Exasol SQL Statement Builder][25] | [MIT License][26] |
-| [spark-connector-common-java][27] | [MIT License][28] |
-| [error-reporting-java8][29] | [MIT License][30] |
+| [ParaNamer Core][18] | [BSD][19] |
+| [Guava: Google Core Libraries for Java][20] | [Apache License, Version 2.0][21] |
+| [jackson-databind][22] | [The Apache Software License, Version 2.0][3] |
+| [AWS Java SDK :: Services :: Amazon S3][23] | [Apache License, Version 2.0][24] |
+| [Exasol JDBC Driver][25] | [EXAClient License][26] |
+| [Exasol SQL Statement Builder][27] | [MIT License][28] |
+| [spark-connector-common-java][29] | [MIT License][30] |
+| [error-reporting-java8][31] | [MIT License][32] |
## Test Dependencies
| Dependency | License |
| ----------------------------------------------- | ------------------------------------ |
-| [mockito-core][31] | [MIT][32] |
-| [mockito-junit-jupiter][31] | [MIT][32] |
-| [JUnit Jupiter (Aggregator)][33] | [Eclipse Public License v2.0][34] |
-| [JUnit Jupiter API][33] | [Eclipse Public License v2.0][34] |
-| [Hamcrest][35] | [BSD License 3][36] |
-| [Testcontainers :: JUnit Jupiter Extension][37] | [MIT][38] |
-| [Testcontainers :: Localstack][37] | [MIT][38] |
-| [AWS Java SDK for Amazon S3][21] | [Apache License, Version 2.0][22] |
-| AWSGlueETL | [Amazon Software License][39] |
-| [snappy][40] | [Apache License 2.0][1] |
-| [Ion Java][41] | [The Apache License, Version 2.0][3] |
-| [Test containers for Exasol on Docker][42] | [MIT License][43] |
-| [Test Database Builder for Java][44] | [MIT License][45] |
-| [Test utilities for `java.util.logging`][46] | [MIT][32] |
-| [Matcher for SQL Result Sets][47] | [MIT License][48] |
-| [EqualsVerifier \| release normal jar][49] | [Apache License, Version 2.0][3] |
-| [Apache Log4j API][50] | [Apache-2.0][3] |
-| [Apache Log4j Core][51] | [Apache-2.0][3] |
+| [mockito-core][33] | [MIT][34] |
+| [mockito-junit-jupiter][33] | [MIT][34] |
+| [JUnit Jupiter (Aggregator)][35] | [Eclipse Public License v2.0][36] |
+| [JUnit Jupiter API][35] | [Eclipse Public License v2.0][36] |
+| [Hamcrest][37] | [BSD-3-Clause][38] |
+| [Testcontainers :: JUnit Jupiter Extension][39] | [MIT][40] |
+| [Testcontainers :: Localstack][39] | [MIT][40] |
+| [AWS Java SDK for Amazon S3][23] | [Apache License, Version 2.0][24] |
+| AWSGlueETL | [Amazon Software License][41] |
+| [snappy][42] | [Apache License 2.0][1] |
+| [Ion Java][43] | [The Apache License, Version 2.0][3] |
+| [Test containers for Exasol on Docker][44] | [MIT License][45] |
+| [Test Database Builder for Java][46] | [MIT License][47] |
+| [Test utilities for `java.util.logging`][48] | [MIT][34] |
+| [Matcher for SQL Result Sets][49] | [MIT License][50] |
+| [EqualsVerifier \| release normal jar][51] | [Apache License, Version 2.0][3] |
+| [Apache Log4j API][52] | [Apache-2.0][3] |
+| [Apache Log4j Core][53] | [Apache-2.0][3] |
## Plugin Dependencies
| Dependency | License |
| ------------------------------------------------------- | ------------------------------------- |
-| [SonarQube Scanner for Maven][52] | [GNU LGPL 3][53] |
-| [Apache Maven Toolchains Plugin][54] | [Apache-2.0][3] |
-| [Apache Maven Compiler Plugin][55] | [Apache-2.0][3] |
-| [Apache Maven Enforcer Plugin][56] | [Apache-2.0][3] |
-| [Maven Flatten Plugin][57] | [Apache Software Licenese][3] |
-| [Apache Maven Shade Plugin][58] | [Apache-2.0][3] |
-| [OpenFastTrace Maven Plugin][59] | [GNU General Public License v3.0][60] |
-| [org.sonatype.ossindex.maven:ossindex-maven-plugin][61] | [ASL2][19] |
-| [Maven Surefire Plugin][62] | [Apache-2.0][3] |
-| [Versions Maven Plugin][63] | [Apache License, Version 2.0][3] |
-| [duplicate-finder-maven-plugin Maven Mojo][64] | [Apache License 2.0][1] |
-| [Project Keeper Maven plugin][65] | [The MIT License][66] |
-| [Apache Maven Assembly Plugin][67] | [Apache-2.0][3] |
-| [Apache Maven JAR Plugin][68] | [Apache-2.0][3] |
-| [Artifact reference checker and unifier][69] | [MIT License][70] |
-| [Maven Failsafe Plugin][71] | [Apache-2.0][3] |
-| [JaCoCo :: Maven Plugin][72] | [EPL-2.0][73] |
-| [error-code-crawler-maven-plugin][74] | [MIT License][75] |
-| [Reproducible Build Maven Plugin][76] | [Apache 2.0][19] |
+| [Apache Maven Clean Plugin][54] | [Apache-2.0][3] |
+| [Apache Maven Install Plugin][55] | [Apache-2.0][3] |
+| [Apache Maven Resources Plugin][56] | [Apache-2.0][3] |
+| [Apache Maven Site Plugin][57] | [Apache License, Version 2.0][3] |
+| [SonarQube Scanner for Maven][58] | [GNU LGPL 3][59] |
+| [Apache Maven Toolchains Plugin][60] | [Apache-2.0][3] |
+| [Apache Maven Compiler Plugin][61] | [Apache-2.0][3] |
+| [Apache Maven Shade Plugin][62] | [Apache-2.0][3] |
+| [Apache Maven Enforcer Plugin][63] | [Apache-2.0][3] |
+| [Maven Flatten Plugin][64] | [Apache Software Licenese][3] |
+| [OpenFastTrace Maven Plugin][65] | [GNU General Public License v3.0][66] |
+| [org.sonatype.ossindex.maven:ossindex-maven-plugin][67] | [ASL2][21] |
+| [Maven Surefire Plugin][68] | [Apache-2.0][3] |
+| [Versions Maven Plugin][69] | [Apache License, Version 2.0][3] |
+| [duplicate-finder-maven-plugin Maven Mojo][70] | [Apache License 2.0][1] |
+| [Project Keeper Maven plugin][71] | [The MIT License][72] |
+| [Apache Maven Assembly Plugin][73] | [Apache-2.0][3] |
+| [Apache Maven JAR Plugin][74] | [Apache-2.0][3] |
+| [Artifact reference checker and unifier][75] | [MIT License][76] |
+| [Maven Failsafe Plugin][77] | [Apache-2.0][3] |
+| [JaCoCo :: Maven Plugin][78] | [EPL-2.0][79] |
+| [Quality Summarizer Maven Plugin][80] | [MIT License][81] |
+| [error-code-crawler-maven-plugin][82] | [MIT License][83] |
+| [Reproducible Build Maven Plugin][84] | [Apache 2.0][21] |
[0]: https://spark.apache.org/
[1]: http://www.apache.org/licenses/LICENSE-2.0.html
[2]: http://zookeeper.apache.org/zookeeper
[3]: https://www.apache.org/licenses/LICENSE-2.0.txt
-[4]: https://avro.apache.org
-[5]: https://commons.apache.org/proper/commons-compress/
-[6]: https://github.com/xerial/snappy-java
-[7]: https://www.apache.org/licenses/LICENSE-2.0.html
-[8]: https://github.com/dnsjava/dnsjava
-[9]: https://opensource.org/licenses/BSD-3-Clause
-[10]: https://commons.apache.org/proper/commons-configuration/
-[11]: https://github.com/airlift/aircompressor
-[12]: https://bitbucket.org/connect2id/nimbus-jose-jwt
-[13]: http://janino-compiler.github.io/janino/
-[14]: https://spdx.org/licenses/BSD-3-Clause.html
-[15]: http://janino-compiler.github.io/commons-compiler/
-[16]: https://github.com/paul-hammant/paranamer/paranamer
-[17]: LICENSE.txt
-[18]: https://github.com/google/guava
-[19]: http://www.apache.org/licenses/LICENSE-2.0.txt
-[20]: https://github.com/FasterXML/jackson
-[21]: https://aws.amazon.com/sdkforjava
-[22]: https://aws.amazon.com/apache2.0
-[23]: http://www.exasol.com/
-[24]: https://repo1.maven.org/maven2/com/exasol/exasol-jdbc/24.1.1/exasol-jdbc-24.1.1-license.txt
-[25]: https://github.com/exasol/sql-statement-builder/
-[26]: https://github.com/exasol/sql-statement-builder/blob/main/LICENSE
-[27]: https://github.com/exasol/spark-connector-common-java/
-[28]: https://github.com/exasol/spark-connector-common-java/blob/main/LICENSE
-[29]: https://github.com/exasol/error-reporting-java/
-[30]: https://github.com/exasol/error-reporting-java/blob/main/LICENSE
-[31]: https://github.com/mockito/mockito
-[32]: https://opensource.org/licenses/MIT
-[33]: https://junit.org/junit5/
-[34]: https://www.eclipse.org/legal/epl-v20.html
-[35]: http://hamcrest.org/JavaHamcrest/
-[36]: http://opensource.org/licenses/BSD-3-Clause
-[37]: https://java.testcontainers.org
-[38]: http://opensource.org/licenses/MIT
-[39]: http://aws.amazon.com/asl/
-[40]: http://github.com/dain/snappy
-[41]: https://github.com/amazon-ion/ion-java/
-[42]: https://github.com/exasol/exasol-testcontainers/
-[43]: https://github.com/exasol/exasol-testcontainers/blob/main/LICENSE
-[44]: https://github.com/exasol/test-db-builder-java/
-[45]: https://github.com/exasol/test-db-builder-java/blob/main/LICENSE
-[46]: https://github.com/exasol/java-util-logging-testing/
-[47]: https://github.com/exasol/hamcrest-resultset-matcher/
-[48]: https://github.com/exasol/hamcrest-resultset-matcher/blob/main/LICENSE
-[49]: https://www.jqno.nl/equalsverifier
-[50]: https://logging.apache.org/log4j/2.x/log4j/log4j-api/
-[51]: https://logging.apache.org/log4j/2.x/log4j/log4j-core/
-[52]: http://sonarsource.github.io/sonar-scanner-maven/
-[53]: http://www.gnu.org/licenses/lgpl.txt
-[54]: https://maven.apache.org/plugins/maven-toolchains-plugin/
-[55]: https://maven.apache.org/plugins/maven-compiler-plugin/
-[56]: https://maven.apache.org/enforcer/maven-enforcer-plugin/
-[57]: https://www.mojohaus.org/flatten-maven-plugin/
-[58]: https://maven.apache.org/plugins/maven-shade-plugin/
-[59]: https://github.com/itsallcode/openfasttrace-maven-plugin
-[60]: https://www.gnu.org/licenses/gpl-3.0.html
-[61]: https://sonatype.github.io/ossindex-maven/maven-plugin/
-[62]: https://maven.apache.org/surefire/maven-surefire-plugin/
-[63]: https://www.mojohaus.org/versions/versions-maven-plugin/
-[64]: https://basepom.github.io/duplicate-finder-maven-plugin
-[65]: https://github.com/exasol/project-keeper/
-[66]: https://github.com/exasol/project-keeper/blob/main/LICENSE
-[67]: https://maven.apache.org/plugins/maven-assembly-plugin/
-[68]: https://maven.apache.org/plugins/maven-jar-plugin/
-[69]: https://github.com/exasol/artifact-reference-checker-maven-plugin/
-[70]: https://github.com/exasol/artifact-reference-checker-maven-plugin/blob/main/LICENSE
-[71]: https://maven.apache.org/surefire/maven-failsafe-plugin/
-[72]: https://www.jacoco.org/jacoco/trunk/doc/maven.html
-[73]: https://www.eclipse.org/legal/epl-2.0/
-[74]: https://github.com/exasol/error-code-crawler-maven-plugin/
-[75]: https://github.com/exasol/error-code-crawler-maven-plugin/blob/main/LICENSE
-[76]: http://zlika.github.io/reproducible-build-maven-plugin
+[4]: https://netty.io/netty-handler/
+[5]: https://www.apache.org/licenses/LICENSE-2.0
+[6]: https://avro.apache.org
+[7]: https://commons.apache.org/proper/commons-compress/
+[8]: https://github.com/xerial/snappy-java
+[9]: https://www.apache.org/licenses/LICENSE-2.0.html
+[10]: https://github.com/dnsjava/dnsjava
+[11]: https://opensource.org/licenses/BSD-3-Clause
+[12]: https://commons.apache.org/proper/commons-configuration/
+[13]: https://github.com/airlift/aircompressor
+[14]: https://bitbucket.org/connect2id/nimbus-jose-jwt
+[15]: http://janino-compiler.github.io/janino/
+[16]: https://spdx.org/licenses/BSD-3-Clause.html
+[17]: http://janino-compiler.github.io/commons-compiler/
+[18]: https://github.com/paul-hammant/paranamer/paranamer
+[19]: LICENSE.txt
+[20]: https://github.com/google/guava
+[21]: http://www.apache.org/licenses/LICENSE-2.0.txt
+[22]: https://github.com/FasterXML/jackson
+[23]: https://aws.amazon.com/sdkforjava
+[24]: https://aws.amazon.com/apache2.0
+[25]: http://www.exasol.com/
+[26]: https://repo1.maven.org/maven2/com/exasol/exasol-jdbc/24.2.0/exasol-jdbc-24.2.0-license.txt
+[27]: https://github.com/exasol/sql-statement-builder/
+[28]: https://github.com/exasol/sql-statement-builder/blob/main/LICENSE
+[29]: https://github.com/exasol/spark-connector-common-java/
+[30]: https://github.com/exasol/spark-connector-common-java/blob/main/LICENSE
+[31]: https://github.com/exasol/error-reporting-java/
+[32]: https://github.com/exasol/error-reporting-java/blob/main/LICENSE
+[33]: https://github.com/mockito/mockito
+[34]: https://opensource.org/licenses/MIT
+[35]: https://junit.org/junit5/
+[36]: https://www.eclipse.org/legal/epl-v20.html
+[37]: http://hamcrest.org/JavaHamcrest/
+[38]: https://raw.githubusercontent.com/hamcrest/JavaHamcrest/master/LICENSE
+[39]: https://java.testcontainers.org
+[40]: http://opensource.org/licenses/MIT
+[41]: http://aws.amazon.com/asl/
+[42]: http://github.com/dain/snappy
+[43]: https://github.com/amazon-ion/ion-java/
+[44]: https://github.com/exasol/exasol-testcontainers/
+[45]: https://github.com/exasol/exasol-testcontainers/blob/main/LICENSE
+[46]: https://github.com/exasol/test-db-builder-java/
+[47]: https://github.com/exasol/test-db-builder-java/blob/main/LICENSE
+[48]: https://github.com/exasol/java-util-logging-testing/
+[49]: https://github.com/exasol/hamcrest-resultset-matcher/
+[50]: https://github.com/exasol/hamcrest-resultset-matcher/blob/main/LICENSE
+[51]: https://www.jqno.nl/equalsverifier
+[52]: https://logging.apache.org/log4j/2.x/log4j/log4j-api/
+[53]: https://logging.apache.org/log4j/2.x/log4j/log4j-core/
+[54]: https://maven.apache.org/plugins/maven-clean-plugin/
+[55]: https://maven.apache.org/plugins/maven-install-plugin/
+[56]: https://maven.apache.org/plugins/maven-resources-plugin/
+[57]: https://maven.apache.org/plugins/maven-site-plugin/
+[58]: http://sonarsource.github.io/sonar-scanner-maven/
+[59]: http://www.gnu.org/licenses/lgpl.txt
+[60]: https://maven.apache.org/plugins/maven-toolchains-plugin/
+[61]: https://maven.apache.org/plugins/maven-compiler-plugin/
+[62]: https://maven.apache.org/plugins/maven-shade-plugin/
+[63]: https://maven.apache.org/enforcer/maven-enforcer-plugin/
+[64]: https://www.mojohaus.org/flatten-maven-plugin/
+[65]: https://github.com/itsallcode/openfasttrace-maven-plugin
+[66]: https://www.gnu.org/licenses/gpl-3.0.html
+[67]: https://sonatype.github.io/ossindex-maven/maven-plugin/
+[68]: https://maven.apache.org/surefire/maven-surefire-plugin/
+[69]: https://www.mojohaus.org/versions/versions-maven-plugin/
+[70]: https://basepom.github.io/duplicate-finder-maven-plugin
+[71]: https://github.com/exasol/project-keeper/
+[72]: https://github.com/exasol/project-keeper/blob/main/LICENSE
+[73]: https://maven.apache.org/plugins/maven-assembly-plugin/
+[74]: https://maven.apache.org/plugins/maven-jar-plugin/
+[75]: https://github.com/exasol/artifact-reference-checker-maven-plugin/
+[76]: https://github.com/exasol/artifact-reference-checker-maven-plugin/blob/main/LICENSE
+[77]: https://maven.apache.org/surefire/maven-failsafe-plugin/
+[78]: https://www.jacoco.org/jacoco/trunk/doc/maven.html
+[79]: https://www.eclipse.org/legal/epl-2.0/
+[80]: https://github.com/exasol/quality-summarizer-maven-plugin/
+[81]: https://github.com/exasol/quality-summarizer-maven-plugin/blob/main/LICENSE
+[82]: https://github.com/exasol/error-code-crawler-maven-plugin/
+[83]: https://github.com/exasol/error-code-crawler-maven-plugin/blob/main/LICENSE
+[84]: http://zlika.github.io/reproducible-build-maven-plugin
diff --git a/doc/changes/changelog.md b/doc/changes/changelog.md
index 93e95c8..5236a78 100644
--- a/doc/changes/changelog.md
+++ b/doc/changes/changelog.md
@@ -1,5 +1,6 @@
# Changes
+* [2.1.8](changes_2.1.8.md)
* [2.1.7](changes_2.1.7.md)
* [2.1.6](changes_2.1.6.md)
* [2.1.5](changes_2.1.5.md)
diff --git a/doc/changes/changes_2.1.8.md b/doc/changes/changes_2.1.8.md
new file mode 100644
index 0000000..8918025
--- /dev/null
+++ b/doc/changes/changes_2.1.8.md
@@ -0,0 +1,61 @@
+# Exasol AWS Glue Connector 2.1.8, released 2024-11-21
+
+Code name: Fixed vulnerabilities CVE-2024-47535, CVE-2024-51504, CVE-2024-47554, CVE-2024-47561
+
+## Summary
+
+This release fixes the following vulnerabilities:
+* CVE-2024-47535 in `io.netty:netty-common:jar:4.1.105.Final:compile`
+* CVE-2024-51504 in `org.apache.zookeeper:zookeeper:jar:3.9.2:provided`
+* CVE-2024-47554 in `commons-io:commons-io:jar:2.11.0:provided`
+* CVE-2024-47561 in `org.apache.avro:avro:jar:1.11.3:provided`
+
+## Security
+
+* #118: Fixed CVE-2024-47535 in `io.netty:netty-common:jar:4.1.105.Final:compile`
+* #116: Fixed CVE-2024-51504 in `org.apache.zookeeper:zookeeper:jar:3.9.2:provided`
+* #114: Fixed CVE-2024-47554 in `commons-io:commons-io:jar:2.11.0:provided`
+* #113: Fixed CVE-2024-47561 in `org.apache.avro:avro:jar:1.11.3:provided`
+
+## Dependency Updates
+
+### Compile Dependency Updates
+
+* Updated `com.exasol:exasol-jdbc:24.1.1` to `24.2.0`
+* Updated `com.exasol:spark-connector-common-java:2.0.7` to `2.0.10`
+* Updated `org.apache.hadoop:hadoop-aws:3.4.0` to `3.4.1`
+* Updated `org.xerial.snappy:snappy-java:1.1.10.5` to `1.1.10.7`
+* Updated `software.amazon.awssdk:s3:2.26.25` to `2.29.18`
+
+### Test Dependency Updates
+
+* Updated `com.amazonaws:aws-java-sdk-s3:1.12.765` to `1.12.778`
+* Updated `com.exasol:exasol-testcontainers:7.1.0` to `7.1.1`
+* Updated `com.exasol:hamcrest-resultset-matcher:1.6.5` to `1.7.0`
+* Updated `com.exasol:test-db-builder-java:3.5.4` to `3.6.0`
+* Updated `nl.jqno.equalsverifier:equalsverifier:3.16.1` to `3.17.3`
+* Updated `org.apache.logging.log4j:log4j-api:2.23.1` to `2.24.1`
+* Updated `org.apache.logging.log4j:log4j-core:2.23.1` to `2.24.1`
+* Updated `org.hamcrest:hamcrest:2.2` to `3.0`
+* Updated `org.junit.jupiter:junit-jupiter-api:5.10.3` to `5.11.3`
+* Updated `org.junit.jupiter:junit-jupiter:5.10.3` to `5.11.3`
+* Updated `org.mockito:mockito-core:5.12.0` to `5.14.2`
+* Updated `org.mockito:mockito-junit-jupiter:5.12.0` to `5.14.2`
+* Updated `org.testcontainers:junit-jupiter:1.20.0` to `1.20.4`
+* Updated `org.testcontainers:localstack:1.20.0` to `1.20.4`
+
+### Plugin Dependency Updates
+
+* Updated `com.exasol:project-keeper-maven-plugin:4.3.3` to `4.4.0`
+* Added `com.exasol:quality-summarizer-maven-plugin:0.2.0`
+* Updated `io.github.zlika:reproducible-build-maven-plugin:0.16` to `0.17`
+* Updated `org.apache.maven.plugins:maven-clean-plugin:2.5` to `3.4.0`
+* Updated `org.apache.maven.plugins:maven-failsafe-plugin:3.2.5` to `3.5.1`
+* Updated `org.apache.maven.plugins:maven-install-plugin:2.4` to `3.1.3`
+* Updated `org.apache.maven.plugins:maven-jar-plugin:3.4.1` to `3.4.2`
+* Updated `org.apache.maven.plugins:maven-resources-plugin:2.6` to `3.3.1`
+* Updated `org.apache.maven.plugins:maven-shade-plugin:3.5.2` to `3.6.0`
+* Updated `org.apache.maven.plugins:maven-site-plugin:3.3` to `3.9.1`
+* Updated `org.apache.maven.plugins:maven-surefire-plugin:3.2.5` to `3.5.1`
+* Updated `org.codehaus.mojo:versions-maven-plugin:2.16.2` to `2.17.1`
+* Updated `org.itsallcode:openfasttrace-maven-plugin:1.8.0` to `2.3.0`
diff --git a/doc/developers_guide/developers_guide.md b/doc/developers_guide/developers_guide.md
index 64dec32..1e13003 100644
--- a/doc/developers_guide/developers_guide.md
+++ b/doc/developers_guide/developers_guide.md
@@ -40,11 +40,11 @@ To test connector by creating a custom connector, please follow these steps.
### Creating an Assembly Jar
-By running `mvn verify` or `mvn package` create a connector artifact. For example, `target/exasol-glue-connector-2.1.7-assembly.jar`.
+By running `mvn verify` or `mvn package` create a connector artifact. For example, `target/exasol-glue-connector-2.1.8-assembly.jar`.
### Uploading the Artifact to S3 Bucket
-Upload the JAR artifact from previous step into an S3 bucket. For instance, `s3://exasol-artifacts/glue-connector/exasol-glue-connector-2.1.7-assembly.jar`.
+Upload the JAR artifact from previous step into an S3 bucket. For instance, `s3://exasol-artifacts/glue-connector/exasol-glue-connector-2.1.8-assembly.jar`.
### Creating a Glue Studio Custom Connector
diff --git a/pk_generated_parent.pom b/pk_generated_parent.pom
index 2675cf2..7020910 100644
--- a/pk_generated_parent.pom
+++ b/pk_generated_parent.pom
@@ -3,7 +3,7 @@
4.0.0
com.exasol
glue-connector-generated-parent
- 2.1.7
+ 2.1.8
pom
UTF-8
@@ -36,6 +36,26 @@
+
+ org.apache.maven.plugins
+ maven-clean-plugin
+ 3.4.0
+
+
+ org.apache.maven.plugins
+ maven-install-plugin
+ 3.1.3
+
+
+ org.apache.maven.plugins
+ maven-resources-plugin
+ 3.3.1
+
+
+ org.apache.maven.plugins
+ maven-site-plugin
+ 3.9.1
+
org.sonarsource.scanner.maven
sonar-maven-plugin
@@ -139,7 +159,7 @@
org.apache.maven.plugins
maven-surefire-plugin
- 3.2.5
+ 3.5.1
@@ -150,7 +170,7 @@
org.codehaus.mojo
versions-maven-plugin
- 2.16.2
+ 2.17.1
display-updates
@@ -230,7 +250,7 @@
org.apache.maven.plugins
maven-jar-plugin
- 3.4.1
+ 3.4.2
default-jar
@@ -254,7 +274,7 @@
org.apache.maven.plugins
maven-failsafe-plugin
- 3.2.5
+ 3.5.1
-Djava.util.logging.config.file=src/test/resources/logging.properties ${argLine}
@@ -312,6 +332,19 @@
+
+ com.exasol
+ quality-summarizer-maven-plugin
+ 0.2.0
+
+
+ summarize-metrics
+
+ summarize
+
+
+
+
com.exasol
error-code-crawler-maven-plugin
@@ -328,7 +361,7 @@
io.github.zlika
reproducible-build-maven-plugin
- 0.16
+ 0.17
strip-jar
diff --git a/pom.xml b/pom.xml
index 59ecbbd..ffdaada 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,23 +3,21 @@
4.0.0
com.exasol
glue-connector
- 2.1.7
+ 2.1.8
Exasol AWS Glue Connector
An AWS Glue connector for accessing Exasol database
https://github.com/exasol/glue-connector/
glue-connector-generated-parent
com.exasol
- 2.1.7
+ 2.1.8
pk_generated_parent.pom
- 8
- 11
- 3.4.0
- 5.10.3
- 5.12.0
- 2.23.1
+ 3.4.1
+ 5.11.3
+ 5.14.2
+ 2.24.1
@@ -35,7 +33,7 @@
org.apache.spark
spark-sql_2.12
- 3.5.1
+ 3.5.3
provided
@@ -114,7 +112,7 @@
org.apache.zookeeper
zookeeper
- 3.9.2
+ 3.9.3
provided
@@ -129,12 +127,19 @@
+
+
+ io.netty
+ netty-handler
+ 4.1.115.Final
+ provided
+
org.apache.avro
avro
- 1.11.3
+ 1.12.0
provided
dnsjava
dnsjava
- 3.6.1
+ 3.6.2
provided
@@ -231,14 +236,14 @@
io.airlift
aircompressor
- 0.27
+ 2.0.2
provided
com.nimbusds
nimbus-jose-jwt
- 9.40
+ 9.47
provided
@@ -266,7 +271,7 @@
com.google.guava
guava
- 33.2.1-jre
+ 33.3.1-jre
provided
@@ -278,12 +283,12 @@
software.amazon.awssdk
s3
- 2.26.25
+ 2.29.18
com.exasol
exasol-jdbc
- 24.1.1
+ 24.2.0
com.exasol
@@ -293,7 +298,7 @@
com.exasol
spark-connector-common-java
- 2.0.7
+ 2.0.10
com.exasol
@@ -328,19 +333,19 @@
org.hamcrest
hamcrest
- 2.2
+ 3.0
test
org.testcontainers
junit-jupiter
- 1.20.0
+ 1.20.4
test
org.testcontainers
localstack
- 1.20.0
+ 1.20.4
test
+ org.bouncycastle
+ bcprov-jdk15on
+
org.codehaus.jackson
*
@@ -478,13 +488,13 @@
com.exasol
exasol-testcontainers
- 7.1.0
+ 7.1.1
test
com.exasol
test-db-builder-java
- 3.5.4
+ 3.6.0
test
@@ -496,13 +506,13 @@
com.exasol
hamcrest-resultset-matcher
- 1.6.5
+ 1.7.0
test
nl.jqno.equalsverifier
equalsverifier
- 3.16.1
+ 3.17.3
test
@@ -520,24 +530,12 @@
-
- org.apache.maven.plugins
- maven-toolchains-plugin
-
-
-
-
- ${toolchain.version}
-
-
-
-
org.apache.maven.plugins
maven-compiler-plugin
-
- ${java.version}
+
+ 8
- CVE-2023-33201
- CVE-2023-33202
- CVE-2024-29857
- CVE-2024-30171
- CVE-2024-30172
- CVE-2023-33201
- CVE-2023-33202
- CVE-2024-29857
- CVE-2024-30171
- CVE-2024-34447
diff --git a/src/test/java/com/exasol/glue/ittests/BaseIntegrationTestSetup.java b/src/test/java/com/exasol/glue/ittests/BaseIntegrationTestSetup.java
index 9b1a74d..b2bc1ff 100644
--- a/src/test/java/com/exasol/glue/ittests/BaseIntegrationTestSetup.java
+++ b/src/test/java/com/exasol/glue/ittests/BaseIntegrationTestSetup.java
@@ -29,15 +29,16 @@
public class BaseIntegrationTestSetup {
private static final Logger LOGGER = Logger.getLogger(BaseIntegrationTestSetup.class.getName());
- private static final String DEFAULT_DOCKER_IMAGE = "7.1.25";
+ private static final String DEFAULT_DOCKER_IMAGE = "8.32.0";
protected static final String DEFAULT_BUCKET_NAME = "csvtest";
@Container
+ @SuppressWarnings("resource") // Will be closed by @Testcontainers
private static final ExasolContainer extends ExasolContainer>> EXASOL = new ExasolContainer<>(
getExasolDockerImage()).withReuse(true);
@Container
private static final S3LocalStackContainerWithReuse S3 = new S3LocalStackContainerWithReuse(
- DockerImageName.parse("localstack/localstack:2.2"));
+ DockerImageName.parse("localstack/localstack:3.8"));
protected static Connection connection;
protected static ExasolObjectFactory factory;
@@ -151,15 +152,21 @@ private static String getRandomAppId() {
}
private static void updateExasolContainerHostsFile() {
+ // Workaround for sed failing on 8.32.0 with error message
+ // "sed: cannot rename /etc/sedipVlut: Device or resource busy"
final List commands = List.of( //
- "sed -i '/amazonaws/d' /etc/hosts", //
- "echo '" + getS3ContainerInternalIp() + " csvtest.s3.amazonaws.com' >> /etc/hosts");
+ "cp /etc/hosts /tmp/hosts", //
+ "sed -i '/amazonaws/d' /tmp/hosts", //
+ "echo '" + getS3ContainerInternalIp() + " csvtest.s3.amazonaws.com' >> /tmp/hosts", //
+ "cp /tmp/hosts /etc/hosts");
commands.forEach(command -> {
try {
- final ExecResult exitCode = EXASOL.execInContainer("/bin/sh", "-c", command);
- if (exitCode.getExitCode() != 0) {
- throw new RuntimeException(
- "Command to update Exasol container `/etc/hosts` file returned non-zero result.");
+ final ExecResult result = EXASOL.execInContainer("/bin/sh", "-c", command);
+ if (result.getExitCode() != 0) {
+ throw new RuntimeException("Command '" + command
+ + "' to update Exasol container `/etc/hosts` file returned non-zero result "
+ + result.getExitCode() + ", stdout: '" + result.getStdout() + "', stderr: '"
+ + result.getStderr() + "'.");
}
} catch (final InterruptedException | IOException exception) {
throw new RuntimeException("Failed to update Exasol container `/etc/hosts`.", exception);