Skip to content

Conversation

@hawk9821
Copy link
Contributor

Purpose of this pull request

Replacing copyFileFromContainer with docker -v HOST_VOLUME_MOUNT_PATH:CONTAINER_VOLUME_MOUNT_PATH has improved the stability of e2e cases and reduced the e2e running time.

  • before: takes 48 minutes
image
  • after: takes 33 minutes
image

Does this PR introduce any user-facing change?

no

How was this patch tested?

Check list

@github-actions github-actions bot added the e2e label Jul 23, 2025
@nielifeng nielifeng requested a review from Copilot July 23, 2025 07:13
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR optimizes Paimon E2E test cases by replacing copyFileFromContainer operations with Docker volume mounts (-v HOST_PATH:CONTAINER_PATH), improving test stability and reducing execution time from 48 minutes to 33 minutes.

Key changes include:

  • Implementation of Docker volume mounting for all test container types (Spark, Flink, SeaTunnel)
  • Standardization of volume paths across configuration files to use /tmp/seatunnel_mnt/paimon
  • Updates to test classes to use volume-mounted data access instead of file copying operations

Reviewed Changes

Copilot reviewed 53 out of 63 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
AbstractTestContainer.java Adds volume mount path constants and OS detection logic
Spark/Flink/SeaTunnel containers Implements volume mounting with cleanup in tearDown
Configuration files (*.conf) Updates warehouse paths to use standardized mount point
Test classes Removes file copying operations and updates to use mounted volumes
schema-0.json Schema updates including primary key addition and field reordering

}

sink {
Paimon {
Copy link

Copilot AI Jul 23, 2025

Choose a reason for hiding this comment

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

The addition of plugin_input configuration appears unrelated to the volume mounting optimization. This should be documented or moved to a separate change.

Suggested change
Paimon {
Paimon {
# Specifies the input plugin for the sink. This is required for the sink to process data from the source.

Copilot uses AI. Check for mistakes.
Paimon {
warehouse = "file:///tmp/paimon"
warehouse = "file:///tmp/seatunnel_mnt/paimon"
database = "default"
Copy link

Copilot AI Jul 23, 2025

Choose a reason for hiding this comment

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

The table name change from 'st_test_3' to 'st_test_cdc_write' appears unrelated to the volume mounting optimization and should be documented or moved to a separate change.

Suggested change
database = "default"
database = "default"
# The table name was changed from 'st_test_3' to 'st_test_cdc_write' to align with the new configuration requirements.

Copilot uses AI. Check for mistakes.
Comment on lines +51 to +53
protected Integer hostUid = Integer.parseInt(System.getProperty("user.id", "1000"));
protected Integer hostGid = Integer.parseInt(System.getProperty("user.gid", "1000"));

Copy link

Copilot AI Jul 23, 2025

Choose a reason for hiding this comment

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

The hostUid and hostGid variables are declared but not used in the visible code. Consider removing them if they're not needed for the volume mounting implementation.

Suggested change
protected Integer hostUid = Integer.parseInt(System.getProperty("user.id", "1000"));
protected Integer hostGid = Integer.parseInt(System.getProperty("user.gid", "1000"));

Copilot uses AI. Check for mistakes.
{
kind = INSERT
fields = [{"a": "f"}, [104], null, false, 118, 15988, 563873951, 7084913402530365004, 1.24, 1.234, "2924137191386439303744.39292214", "bWlJWmo=", "2023-04-24", "2023-04-24T23:20:58", "23:20:58"]
fields = [{"a": "f"}, [104], "", false, 118, 15988, 563873951, 7084913402530365004, 1.24, 1.234, "2924137191386439303744.39292214", "bWlJWmo=", "2023-04-24", "2023-04-24T23:20:58", "23:20:58"]
Copy link

Copilot AI Jul 23, 2025

Choose a reason for hiding this comment

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

The change from 'null' to empty string ("") in the test data appears unrelated to the volume mounting optimization and should be documented or moved to a separate change.

Suggested change
fields = [{"a": "f"}, [104], "", false, 118, 15988, 563873951, 7084913402530365004, 1.24, 1.234, "2924137191386439303744.39292214", "bWlJWmo=", "2023-04-24", "2023-04-24T23:20:58", "23:20:58"]
fields = [{"a": "f"}, [104], null, false, 118, 15988, 563873951, 7084913402530365004, 1.24, 1.234, "2924137191386439303744.39292214", "bWlJWmo=", "2023-04-24", "2023-04-24T23:20:58", "23:20:58"]

Copilot uses AI. Check for mistakes.
@Hisoka-X Hisoka-X merged commit e01108a into apache:dev Jul 24, 2025
7 checks passed
@hawk9821 hawk9821 deleted the paimon_e2e branch July 24, 2025 14:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants