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

[SPARK-45336][TEST] Use Oracle Database 23 Free for integration and testing #43123

Closed
wants to merge 1 commit into from

Conversation

LucaCanali
Copy link
Contributor

What changes were proposed in this pull request?

This proposes to update the Docker image used for integration tests and builds to Oracle Database 23c Free.

Why are the changes needed?

The Docker image used for integration tests and builds currently uses Oracle XE version 21.3.0. Oracle 21 support ends in April 2024. The latest Oracle release is 23c, it is a long-term release supported till 2032. With Oracle 23c, Oracle has changed the name of the free version of its database, from Oracle XE (Express Edition) to Oracle Database Free.

Does this PR introduce any user-facing change?

No

How was this patch tested?

Existing test infrastructure.

Was this patch authored or co-authored using generative AI tooling?

No

Copy link
Member

@HyukjinKwon HyukjinKwon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems making sense to me.

Copy link
Member

@dongjoon-hyun dongjoon-hyun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, LGTM. Thank you, @LucaCanali and @HyukjinKwon .
Merged to master for Apache Spark 4.0.0.

@dongjoon-hyun
Copy link
Member

dongjoon-hyun commented Oct 8, 2023

Although this pass the PR builder, this seems to fail in master CI environment.

[info] OracleIntegrationSuite:
[info] org.apache.spark.sql.jdbc.v2.OracleIntegrationSuite *** ABORTED *** (7 minutes, 55 seconds)
[info]   The code passed to eventually never returned normally. Attempted 410 times over 7.016186794716666 minutes. Last failure message: ORA-12541: Cannot connect. No listener at host 10.1.0.75 port 35471. (CONNECTION_ID=flPajzZKRBul4914CIPekw==). (DockerJDBCIntegrationSuite.scala:166)

@dongjoon-hyun
Copy link
Member

After waiting until the current test finishes, let me re-trigger the master branch CI.

@dongjoon-hyun
Copy link
Member

It passed at the second try. So, we are good~

@LucaCanali
Copy link
Contributor Author

Thank you @dongjoon-hyun

@@ -938,7 +938,7 @@ jobs:
HIVE_PROFILE: hive2.3
GITHUB_PREV_SHA: ${{ github.event.before }}
SPARK_LOCAL_IP: localhost
ORACLE_DOCKER_IMAGE_NAME: gvenzl/oracle-xe:21.3.0
ORACLE_DOCKER_IMAGE_NAME: gvenzl/oracle-free:23.3
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we backport this patch to branch-3.x? Otherwise, their daily tests will use gvenzl/oracle-free:23.3, but the test code in branch-3.x still uses gvenzl/oracle-xe:21.3.0.

It seems that the OracleIntegrationSuite in the Docker integration tests task of the daily tests for branch-3.x has failed recently.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or can we use a solution similar to #43306?

For example, for branch-3.x, explicitly add the environment variable ORACLE_DOCKER_IMAGE_NAME like

envs: >-
        {
          "SCALA_PROFILE": "scala2.13",
          "PYTHON_TO_TEST": "",
          "ORACLE_DOCKER_IMAGE_NAME": "gvenzl/oracle-xe:21.3.0"
        }

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Backporting would be better for all downstream, @LuciferYang . Feel free to backport.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or can we use a solution similar to #43306?

For example, for branch-3.x, explicitly add the environment variable ORACLE_DOCKER_IMAGE_NAME like

envs: >-
        {
          "SCALA_PROFILE": "scala2.13",
          "PYTHON_TO_TEST": "",
          "ORACLE_DOCKER_IMAGE_NAME": "gvenzl/oracle-xe:21.3.0"
        }

Hmm... Are we sure that this method can't override this environment variable? If possible, this solution would be relatively simple ... Can you help to confirm this? @HyukjinKwon Thanks

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or can we use a solution similar to #43306?

For example, for branch-3.x, explicitly add the environment variable ORACLE_DOCKER_IMAGE_NAME like

envs: >-
        {
          "SCALA_PROFILE": "scala2.13",
          "PYTHON_TO_TEST": "",
          "ORACLE_DOCKER_IMAGE_NAME": "gvenzl/oracle-xe:21.3.0"
        }

Let me see if I can test this in my local repository.

LuciferYang pushed a commit to LuciferYang/spark that referenced this pull request Oct 23, 2023
…esting

### What changes were proposed in this pull request?
This proposes to update the Docker image used for integration tests and builds to Oracle Database 23c Free.

### Why are the changes needed?
The Docker image used for integration tests and builds currently uses Oracle XE version 21.3.0. Oracle 21 support ends in April 2024. The latest Oracle release is 23c, it is a long-term release supported till 2032. With Oracle 23c, Oracle has changed the name of the free version of its database, from Oracle XE (Express Edition) to Oracle Database Free.

### Does this PR introduce _any_ user-facing change?
No

### How was this patch tested?
Existing test infrastructure.

### Was this patch authored or co-authored using generative AI tooling?
No

Closes apache#43123 from LucaCanali/useOracleFreeImage.

Authored-by: Luca Canali <luca.canali@cern.ch>
Signed-off-by: Dongjoon Hyun <dhyun@apple.com>
LuciferYang pushed a commit to LuciferYang/spark that referenced this pull request Oct 23, 2023
…esting

### What changes were proposed in this pull request?
This proposes to update the Docker image used for integration tests and builds to Oracle Database 23c Free.

### Why are the changes needed?
The Docker image used for integration tests and builds currently uses Oracle XE version 21.3.0. Oracle 21 support ends in April 2024. The latest Oracle release is 23c, it is a long-term release supported till 2032. With Oracle 23c, Oracle has changed the name of the free version of its database, from Oracle XE (Express Edition) to Oracle Database Free.

### Does this PR introduce _any_ user-facing change?
No

### How was this patch tested?
Existing test infrastructure.

### Was this patch authored or co-authored using generative AI tooling?
No

Closes apache#43123 from LucaCanali/useOracleFreeImage.

Authored-by: Luca Canali <luca.canali@cern.ch>
Signed-off-by: Dongjoon Hyun <dhyun@apple.com>
LuciferYang added a commit that referenced this pull request Oct 26, 2023
… scheduled builds in other branches

### What changes were proposed in this pull request?
#43123 upgraded the version of Oracle used for testing. As the daily test will reuse `build_and_test.yml`, the branch-3.x will also use the new version. However, due to the lack of synchronized code changes, the `OracleIntegrationSuite` in the `Docker integration tests` cannot pass the test during the daily test of branch-3.x:

- branch-3.3: https://github.com/apache/spark/actions/runs/6609791712/job/17950549755
- branch-3.4: https://github.com/apache/spark/actions/runs/6611049884/job/17954225189
- branch-3.5: https://github.com/apache/spark/actions/runs/6612344747/job/17958021656

So this PR adds the ORACLE_DOCKER_IMAGE_NAME environment variable to the daily test yml file for branch-3.x and uses the previous version of the Oracle Docker image that can pass the test successfully.

### Why are the changes needed?
Restore the daily test for branch-3.x.

### Does this PR introduce _any_ user-facing change?
No,dev-only

### How was this patch tested?
Monitor the daily test results.

### Was this patch authored or co-authored using generative AI tooling?
No

Closes #43496 from LuciferYang/oracl-docker-image-name.

Lead-authored-by: yangjie01 <yangjie01@baidu.com>
Co-authored-by: YangJie <yangjie01@baidu.com>
Signed-off-by: yangjie01 <yangjie01@baidu.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants