You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by "pitrou (via GitHub)" <gi...@apache.org> on 2024/08/06 09:00:16 UTC

[PR] MINOR: [CI][Python] Use Docker CLI for HDFS test jobs as well [arrow]

pitrou opened a new pull request, #43582:
URL: https://github.com/apache/arrow/pull/43582

   <!--
   Thanks for opening a pull request!
   If this is your first pull request you can find detailed information on how 
   to contribute here:
     * [New Contributor's Guide](https://arrow.apache.org/docs/dev/developers/guide/step_by_step/pr_lifecycle.html#reviews-and-merge-of-the-pull-request)
     * [Contributing Overview](https://arrow.apache.org/docs/dev/developers/overview.html)
   
   
   If this is not a [minor PR](https://github.com/apache/arrow/blob/main/CONTRIBUTING.md#Minor-Fixes). Could you open an issue for this pull request on GitHub? https://github.com/apache/arrow/issues/new/choose
   
   Opening GitHub issues ahead of time contributes to the [Openness](http://theapacheway.com/open/#:~:text=Openness%20allows%20new%20users%20the,must%20happen%20in%20the%20open.) of the Apache Arrow project.
   
   Then could you also rename the pull request title in the following format?
   
       GH-${GITHUB_ISSUE_ID}: [${COMPONENT}] ${SUMMARY}
   
   or
   
       MINOR: [${COMPONENT}] ${SUMMARY}
   
   In the case of PARQUET issues on JIRA the title also supports:
   
       PARQUET-${JIRA_ISSUE_ID}: [${COMPONENT}] ${SUMMARY}
   
   -->
   
   ### Rationale for this change
   
   <!--
    Why are you proposing this change? If this is already explained clearly in the issue then this section is not needed.
    Explaining clearly why changes are proposed helps reviewers understand your changes and offer better suggestions for fixes.  
   -->
   
   ### What changes are included in this PR?
   
   <!--
   There is no need to duplicate the description in the issue here but it is sometimes worth providing a summary of the individual changes in this PR.
   -->
   
   ### Are these changes tested?
   
   <!--
   We typically require tests for all PRs in order to:
   1. Prevent the code from being accidentally broken by subsequent changes
   2. Serve as another way to document the expected behavior of the code
   
   If tests are not included in your PR, please explain why (for example, are they covered by existing tests)?
   -->
   
   ### Are there any user-facing changes?
   
   <!--
   If there are user-facing changes then we may require documentation to be updated before approving the PR.
   -->
   
   <!--
   If there are any breaking changes to public APIs, please uncomment the line below and explain which changes are breaking.
   -->
   <!-- **This PR includes breaking changes to public APIs.** -->
   
   <!--
   Please uncomment the line below (and provide explanation) if the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld). We use this to highlight fixes to issues that may affect users without their knowledge. For this reason, fixing bugs that cause errors don't count, since those are usually obvious.
   -->
   <!-- **This PR contains a "Critical Fix".** -->


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] MINOR: [CI][Python] Use Docker CLI for HDFS test jobs as well [arrow]

Posted by "pitrou (via GitHub)" <gi...@apache.org>.
pitrou commented on PR #43582:
URL: https://github.com/apache/arrow/pull/43582#issuecomment-2271258139

   This diff seems to fix things locally for me (assuming `ARCHERY_USE_DOCKER_CLI=0`), but it might have unforeseen consequences?
   ```diff
   diff --git a/dev/archery/archery/docker/cli.py b/dev/archery/archery/docker/cli.py
   index 7053db2afc..a2e699d666 100644
   --- a/dev/archery/archery/docker/cli.py
   +++ b/dev/archery/archery/docker/cli.py
   @@ -78,8 +78,7 @@ def docker(ctx, src, dry_run, using_docker_cli, using_docker_buildx):
                                using_docker=using_docker_cli,
                                using_buildx=using_docker_buildx,
                                debug=ctx.obj.get('debug', False),
   -                            compose_bin=("docker compose" if using_docker_cli
   -                                         else "docker-compose"))
   +                            compose_bin="docker compose")
        if dry_run:
            _mock_compose_calls(compose)
        ctx.obj['compose'] = compose
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] MINOR: [CI][Python] Use Docker CLI for HDFS test jobs as well [arrow]

Posted by "pitrou (via GitHub)" <gi...@apache.org>.
pitrou closed pull request #43582: MINOR: [CI][Python] Use Docker CLI for HDFS test jobs as well
URL: https://github.com/apache/arrow/pull/43582


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] MINOR: [CI][Python] Use Docker CLI for HDFS test jobs as well [arrow]

Posted by "assignUser (via GitHub)" <gi...@apache.org>.
assignUser commented on PR #43582:
URL: https://github.com/apache/arrow/pull/43582#issuecomment-2272332017

   Well it should be the same as using `ARCHERY_USE_DOCKER_CLI=1` but apparently it isn't seeing the failure in the run above. 
   
   I think we should remove `docker-compose` as it is no longer receiving updates. This will of course need testing and potentially some images will need updates.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] MINOR: [CI][Python] Use Docker CLI for HDFS test jobs as well [arrow]

Posted by "pitrou (via GitHub)" <gi...@apache.org>.
pitrou commented on PR #43582:
URL: https://github.com/apache/arrow/pull/43582#issuecomment-2270840194

   Looking at the logs, it seems that Archery simply is not able to spawn dependent services when not using `docker-compose`.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] MINOR: [CI][Python] Use Docker CLI for HDFS test jobs as well [arrow]

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #43582:
URL: https://github.com/apache/arrow/pull/43582#issuecomment-2270765467

   Revision: f5a74be376aa7dd0b26988ff1630e4b5dc024d28
   
   Submitted crossbow builds: [ursacomputing/crossbow @ actions-6bf35fe1a4](https://github.com/ursacomputing/crossbow/branches/all?query=actions-6bf35fe1a4)
   
   |Task|Status|
   |----|------|
   |test-conda-python-3.10-hdfs-2.9.2|[![GitHub Actions](https://github.com/ursacomputing/crossbow/actions/workflows/crossbow.yml/badge.svg?branch=actions-6bf35fe1a4-github-test-conda-python-3.10-hdfs-2.9.2)](https://github.com/ursacomputing/crossbow/actions/runs/10263540816/job/28395608131)|
   |test-conda-python-3.10-hdfs-3.2.1|[![GitHub Actions](https://github.com/ursacomputing/crossbow/actions/workflows/crossbow.yml/badge.svg?branch=actions-6bf35fe1a4-github-test-conda-python-3.10-hdfs-3.2.1)](https://github.com/ursacomputing/crossbow/actions/runs/10263540892/job/28395608111)|


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] MINOR: [CI][Python] Use Docker CLI for HDFS test jobs as well [arrow]

Posted by "kou (via GitHub)" <gi...@apache.org>.
kou commented on PR #43582:
URL: https://github.com/apache/arrow/pull/43582#issuecomment-2272650644

   How about using `docker compose` (or `docker-compose`) when the service has `links:`? 
   
   ```diff
   diff --git a/dev/archery/archery/docker/core.py b/dev/archery/archery/docker/core.py
   index 5be4887ea4..9ba603626e 100644
   --- a/dev/archery/archery/docker/core.py
   +++ b/dev/archery/archery/docker/core.py
   @@ -341,7 +341,7 @@ class DockerCompose(Command):
    
            args = []
    
   -        use_docker = self.config.using_docker or service['need_gpu'] or resource_limit
   +        use_docker = (not service.get('links')) and (self.config.using_docker or service['need_gpu'] or resource_limit)
            if use_docker:
                # use gpus, requires docker>=19.03
                if service['need_gpu']:
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] MINOR: [CI][Python] Use Docker CLI for HDFS test jobs as well [arrow]

Posted by "pitrou (via GitHub)" <gi...@apache.org>.
pitrou commented on PR #43582:
URL: https://github.com/apache/arrow/pull/43582#issuecomment-2275211130

   This PR is superseded by #43586, closing


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] MINOR: [CI][Python] Use Docker CLI for HDFS test jobs as well [arrow]

Posted by "pitrou (via GitHub)" <gi...@apache.org>.
pitrou commented on PR #43582:
URL: https://github.com/apache/arrow/pull/43582#issuecomment-2270760296

   @github-actions crossbow submit *hdfs*


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] MINOR: [CI][Python] Use Docker CLI for HDFS test jobs as well [arrow]

Posted by "pitrou (via GitHub)" <gi...@apache.org>.
pitrou commented on PR #43582:
URL: https://github.com/apache/arrow/pull/43582#issuecomment-2270829929

   Hmm, apparently, the newer `docker compose` command does not work exactly like the old `docker-compose`. It seems the hostname `impala` is not available to connect to from the main Docker container:
   https://github.com/ursacomputing/crossbow/actions/runs/10263540816/job/28395608131#step:7:5727
   ```
   
   hdfsBuilderConnect(forceNewInstance=1, nn=impala, port=8020, kerbTicketCachePath=(NULL), userName=hdfs) error:
   java.lang.IllegalArgumentException: java.net.UnknownHostException: impala
   	at org.apache.hadoop.security.SecurityUtil.buildTokenService(SecurityUtil.java:443)
   /arrow/cpp/src/arrow/io/hdfs_test.cc:122: Failure
   	at org.apache.hadoop.hdfs.NameNodeProxiesClient.createProxyWithClientProtocol(NameNodeProxiesClient.java:132)
   	at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:351)
   	at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:285)
   	at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:164)
   	at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:3242)
   	at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:121)
   	at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:3291)
   	at org.apache.hadoop.fs.FileSystem$Cache.getUnique(FileSystem.java:3265)
   	at org.apache.hadoop.fs.FileSystem.newInstance(FileSystem.java:523)
   	at org.apache.hadoop.fs.FileSystem$2.run(FileSystem.java:493)
   	at org.apache.hadoop.fs.FileSystem$2.run(FileSystem.java:490)
   	at java.base/java.security.AccessController.doPrivileged(Native Method)
   	at java.base/javax.security.auth.Subject.doAs(Subject.java:423)
   	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1893)
   	at org.apache.hadoop.fs.FileSystem.newInstance(FileSystem.java:490)
   Caused by: java.net.UnknownHostException: impala
   ```
   
   @kou @assignUser Any idea how we could fix this?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org