Looking at the current version of the `verify-release-candidate.sh` script,
it looks like it does set GOROOT and GOPATH to be subdirs of
$ARROW_TMPDIR/go. It installs go to ${ARROW_TMPDIR}/go etc. But it looks
like it checks $USE_CONDA and if that is >0 it uses Conda to install Go but
doesn't set GOPATH/GOROOT/etc. env vars and doesn't run `go install` at all.

In the case where you're using Conda, `go install` would install the
binaries to something under the conda_prefix. I'll open a PR to run `go
install ./...` in test_go() and if you see anything wrong with the
description above as far as the logic for USE_CONDA vs installing and using
it entirely under ARROW_TMPDIR, please add on to the PR. I'll tag you in it
Kou.

That said, as before I still don't believe this should be a blocker at all
for the v10.0.0 release.

--Matt

On Mon, Oct 24, 2022 at 11:08 PM Sutou Kouhei <k...@clear-code.com> wrote:

> Hi,
>
> > What version of Go is your system Go?
>
> $ go version
> go version go1.19 linux/amd64
>
> > Also, can you go to the `go` subdirectory of the repo and
> > run `go install ./...` then try again?
>
> Yes. "go install ./..." created
> ~/go/bin/arrow-flight-integration-{client,server}.
>
> Should we run "go install ./..." in test_go() in
> verify-release-candidate.sh?
>
> BTW, can we set GOPATH to under $ARROW_TMPDIR such as
> $ARROW_TMPDIR/go with system Go? I hope that
> verify-release-candidate.sh doesn't output any files outside
> $ARROW_TMPDIR.
>
>
> Thanks,
> --
> kou
>
> In <CAH4123YeLvjw3Zb2Ca0frkk2=nbg7l-arosxgj9yh13oidt...@mail.gmail.com>
>   "Re: [VOTE] Release Apache Arrow 10.0.0 - RC0" on Mon, 24 Oct 2022
> 19:58:40 -0400,
>   Matt Topol <zotthewiz...@gmail.com> wrote:
>
> > @kou What version of Go is your system Go? Also, can you go to the `go`
> > subdirectory of the repo and run `go install ./...` then try again?
> Running
> > that `go install ./...` command should build the binaries that were
> > missing. Unless you have the environment variable `GOBIN` set, it will
> > place the built binaries into `$(go env GOPATH)/bin`. It's possible that
> > the issue is needing GOPATH to be set since the archery scripts default
> to
> > using $HOME/go if there's no GOPATH set.
> >
> > I agree that it shouldn't be a blocker, but I'll take a look at the
> verify
> > scripts to see what can be changed to improve this.
> >
> > --Matt
> >
> > On Mon, Oct 24, 2022 at 5:14 PM Sutou Kouhei <k...@clear-code.com> wrote:
> >
> >> +1
> >>
> >> I ran the followings on Debian GNU/Linux sid:
> >>
> >>   * TEST_DEFAULT=0 \
> >>       TEST_SOURCE=1 \
> >>       TEST_INTEGRATION_GO=0 \
> >>       LANG=C \
> >>       TZ=UTC \
> >>       CUDAToolkit_ROOT=/usr \
> >>       ARROW_CMAKE_OPTIONS="-DBoost_NO_BOOST_CMAKE=ON
> >> -Dxsimd_SOURCE=BUNDLED" \
> >>       dev/release/verify-release-candidate.sh 10.0.0 0
> >>
> >>   * TEST_DEFAULT=0 \
> >>       TEST_APT=1 \
> >>       LANG=C \
> >>       dev/release/verify-release-candidate.sh 10.0.0 0
> >>
> >>   * TEST_DEFAULT=0 \
> >>       TEST_BINARY=1 \
> >>       LANG=C \
> >>       dev/release/verify-release-candidate.sh 10.0.0 0
> >>
> >>   * TEST_DEFAULT=0 \
> >>       TEST_JARS=1 \
> >>       LANG=C \
> >>       dev/release/verify-release-candidate.sh 10.0.0 0
> >>
> >>   * TEST_DEFAULT=0 \
> >>       TEST_WHEELS=1 \
> >>       LANG=C \
> >>       dev/release/verify-release-candidate.sh 10.0.0 0
> >>
> >>   * TEST_DEFAULT=0 \
> >>       TEST_YUM=1 \
> >>       LANG=C \
> >>       dev/release/verify-release-candidate.sh 10.0.0 0
> >>
> >> with:
> >>
> >>   * .NET SDK (6.0.400)
> >>   * Python 3.10.6
> >>   * Python 3.9.13
> >>   * gcc (Debian 12.2.0-1) 12.2.0
> >>   * nvidia-cuda-dev 11.4.3-4+b1
> >>   * openjdk version "18.0.2-ea" 2022-07-19
> >>   * ruby 3.0.4p208 (2022-04-12 revision 3fa771dded) [x86_64-linux-gnu]
> >>
> >> Notes:
> >>
> >> Integration test was failed because Go's
> >> arrow-flight-integration-client and
> >> arrow-flight-integration-server weren't found.
> >>
> >> For example:
> >>
> >> ##########################################################
> >> Flight: C++ serving, Go requesting
> >> ##########################################################
> >> ==========================================================
> >> Testing file duplicate_fieldnames
> >> ==========================================================
> >> -- Skipping test because consumer Go does not support
> >> ==========================================================
> >> Testing file flight_sql:extension
> >> ==========================================================
> >> -- Skipping test because consumer Go does not support
> >> ==========================================================
> >> Testing file datetime
> >> ==========================================================
> >> Traceback (most recent call last):
> >>   File
> >>
> "/tmp/arrow-10.0.0.pp1DF/apache-arrow-10.0.0/dev/archery/archery/integration/runner.py",
> >> line 376, in _run_flight_test_case
> >>     consumer.flight_request(port, **client_args)
> >>   File
> >>
> "/tmp/arrow-10.0.0.pp1DF/apache-arrow-10.0.0/dev/archery/archery/integration/tester_go.py",
> >> line 121, in flight_request
> >>     run_cmd(cmd)
> >>   File
> >>
> "/tmp/arrow-10.0.0.pp1DF/apache-arrow-10.0.0/dev/archery/archery/integration/util.py",
> >> line 133, in run_cmd
> >>     output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)
> >>   File "/usr/lib/python3.10/subprocess.py", line 420, in check_output
> >>     return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
> >>   File "/usr/lib/python3.10/subprocess.py", line 501, in run
> >>     with Popen(*popenargs, **kwargs) as process:
> >>   File "/usr/lib/python3.10/subprocess.py", line 969, in __init__
> >>     self._execute_child(args, executable, preexec_fn, close_fds,
> >>   File "/usr/lib/python3.10/subprocess.py", line 1845, in _execute_child
> >>     raise child_exception_type(errno_num, err_msg, err_filename)
> >> FileNotFoundError: [Errno 2] No such file or directory:
> >> '/home/kou/go/bin/arrow-flight-integration-client'
> >>
> >> I skipped integration test with Go with
> >> TEST_INTEGRATION_GO=0. I don't think that this is a blocker
> >> because it passed on GitHub Actions:
> >>
> >>
> https://github.com/ursacomputing/crossbow/actions/runs/3293278249/jobs/5429607084#step:5:74963
> >>
> >> I think that this was caused because I used system Go. (The
> >> above verification on GitHub Actions installs Go from
> >> https://dl.google.com/go/ .) We may need to improve our
> >> verification script for system Go. (Should we set GOPATH or
> >> something?)
> >>
> >>
> >> Thanks,
> >> --
> >> kou
> >>
> >>
> >> In <20221021.150638.710084994470067293....@clear-code.com>
> >>   "[VOTE] Release Apache Arrow 10.0.0 - RC0" on Fri, 21 Oct 2022
> 15:06:38
> >> +0900 (JST),
> >>   Sutou Kouhei <k...@clear-code.com> wrote:
> >>
> >> > Hi,
> >> >
> >> > I would like to propose the following release candidate (RC0) of
> Apache
> >> > Arrow version 10.0.0. This is a release consisting of 470
> >> > resolved JIRA issues[1].
> >> >
> >> > This release candidate is based on commit:
> >> > 89f9a0948961f6e94f1ef5e4f310b707d22a3c11 [2]
> >> >
> >> > The source release rc0 is hosted at [3].
> >> > The binary artifacts are hosted at [4][5][6][7][8][9][10][11].
> >> > The changelog is located at [12].
> >> >
> >> > Please download, verify checksums and signatures, run the unit tests,
> >> > and vote on the release. See [13] for how to validate a release
> >> candidate.
> >> >
> >> > See also a verification result on GitHub pull request [14].
> >> >
> >> > The vote will be open for at least 72 hours.
> >> >
> >> > [ ] +1 Release this as Apache Arrow 10.0.0
> >> > [ ] +0
> >> > [ ] -1 Do not release this as Apache Arrow 10.0.0 because...
> >> >
> >> > [1]:
> >>
> https://issues.apache.org/jira/issues/?jql=project%20%3D%20ARROW%20AND%20status%20in%20%28Resolved%2C%20Closed%29%20AND%20fixVersion%20%3D%2010.0.0
> >> > [2]:
> >>
> https://github.com/apache/arrow/tree/89f9a0948961f6e94f1ef5e4f310b707d22a3c11
> >> > [3]:
> >> https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-10.0.0-rc0
> >> > [4]: https://apache.jfrog.io/artifactory/arrow/almalinux-rc/
> >> > [5]: https://apache.jfrog.io/artifactory/arrow/amazon-linux-rc/
> >> > [6]: https://apache.jfrog.io/artifactory/arrow/centos-rc/
> >> > [7]: https://apache.jfrog.io/artifactory/arrow/debian-rc/
> >> > [8]: https://apache.jfrog.io/artifactory/arrow/java-rc/10.0.0-rc0
> >> > [9]: https://apache.jfrog.io/artifactory/arrow/nuget-rc/10.0.0-rc0
> >> > [10]: https://apache.jfrog.io/artifactory/arrow/python-rc/10.0.0-rc0
> >> > [11]: https://apache.jfrog.io/artifactory/arrow/ubuntu-rc/
> >> > [12]:
> >>
> https://github.com/apache/arrow/blob/89f9a0948961f6e94f1ef5e4f310b707d22a3c11/CHANGELOG.md
> >> > [13]:
> >>
> https://cwiki.apache.org/confluence/display/ARROW/How+to+Verify+Release+Candidates
> >> > [14]: https://github.com/apache/arrow/pull/14466
> >>
>

Reply via email to