Hi,

>                           I don't want to change the import path for users
> again.

I agree with you. It will be very inconvenient for users.

Do you know a way to alias the import path?

>                                      More to the point, there would be the
> question of whether or not we should port over the same major version
> number, i.e. `github.com/apache/arrow-go/v17` or something to that end? Or
> do we restart back at v1 (which I think would be confusing)?

I think that we should port over the same major version
number. github.com/apache/arrow-go/v16 and so on should be
supported too for easy migration.


Thanks,
-- 
kou

In <CAH4123ZAj9YAJqsj1=yqnq3pobys4ixd92ij2pbrdqrn95j...@mail.gmail.com>
  "Re: [DISCUSS] Split Go release process" on Thu, 18 Jul 2024 15:26:09 -0400,
  Matt Topol <zotthewiz...@gmail.com> wrote:

> My thoughts:
> 
>> * Go doesn't depend on other components such as C++
>> * Go has some active PMC member (Matt) and committer (Joel)
>>   * Could you become a release manager for Go?
> 
> I'd happily be the release manager for the Go implementation.
> 
>> Here is my idea how to proceed this:
>>
>> 1. Extract go/ in apache/arrow to apache/arrow-go like
>>     apache/arrow-rs
>>     * Filter go/ related commits from apache/arrow and create
>>       apache/arrow-go with them like we did for apache/arrow-rs
>>     * Remove go/ related codes from apache/arrow
>> 2. Prepare integration test CI like apache/arrow-rs does:
>>
> https://github.com/apache/arrow-rs/blob/master/.github/workflows/integration.yml
>> 3. Prepare release script based on apache/arrow-julia,
>>     apache/arrow-adbc and/or apache/arrow-flight-sql-postgresql
> 
> Personally I would prefer that we do not extract it to its own separate
> repository purely because I don't want to change the import path for users
> again. We already have this issue from before we introduced the major
> version into the import path and shifted it up to allow for the Parquet lib
> in the same repository. If you look at [1] you see that there's still over
> 100 projects that never upgraded to v6 or higher because they are still
> using the old import path. If we shift the Go lib to a new/different import
> path we'll end up with the same problem where people will rely on older
> versions and an incorrect path.
> 
> If we as a community decide that splitting out the implementations all into
> separate repositories is the best way forward, I won't hold it up by
> strictly hammering on this. I'm just concerned about the realities and
> difficulties of communicating the import path change, ensuring we don't
> break any consumers, and ensuring that users still end up being able to
> upgrade easily.
> 
>> The import path could be "github.com/apache/arrow-go" instead of "
> github.com/apache/arrow-go/arrow". Since go will allow users to use
> `arrow.Abc` directly if user imports `github.com/apache/arrow-go`
> <http://github.com/apache/arrow-go>.
> 
> The import path would still have to be `github.com/apache/arrow-go/arrow`
> since it would also contain the parquet implementation in `
> github.com/apache/arrow-go/parquet`. More to the point, there would be the
> question of whether or not we should port over the same major version
> number, i.e. `github.com/apache/arrow-go/v17` or something to that end? Or
> do we restart back at v1 (which I think would be confusing)?
> 
> --Matt
> 
> [1]: https://pkg.go.dev/github.com/apache/arrow/go/arrow
> 
> On Thu, Jul 18, 2024 at 7:33 AM Antoine Pitrou <anto...@python.org> wrote:
> 
>>
>> Hi Kou,
>>
>> Le 18/07/2024 à 11:33, Sutou Kouhei a écrit :
>> >
>> > Here is my idea how to proceed this:
>> >
>> > 1. Extract go/ in apache/arrow to apache/arrow-go like
>> >     apache/arrow-rs
>> >     * Filter go/ related commits from apache/arrow and create
>> >       apache/arrow-go with them like we did for apache/arrow-rs
>> >     * Remove go/ related codes from apache/arrow
>> > 2. Prepare integration test CI like apache/arrow-rs does:
>> >
>> https://github.com/apache/arrow-rs/blob/master/.github/workflows/integration.yml
>> > 3. Prepare release script based on apache/arrow-julia,
>> >     apache/arrow-adbc and/or apache/arrow-flight-sql-postgresql
>>
>> I think this is a good idea, but I'm not part of the Go maintainers.
>>
>> > Cons of this idea:
>> >
>> > * This is a backward incompatible change
>> >    * Users need to change their "import" to
>> >      "github.com/apache/arrow-go/arrow" from
>> >      "github.com/apache/arrow/go/arrow"
>>
>> Is there no way to leave some kind of alias or redirection in the
>> apache/arrow repository?
>>
>> Regards
>>
>> Antoine.
>>

Reply via email to