From user-return-638-archive-asf-public=cust-asf.ponee.io@arrow.apache.org Tue Aug 25 07:51:21 2020 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mailroute1-lw-us.apache.org (mailroute1-lw-us.apache.org [207.244.88.153]) by mx-eu-01.ponee.io (Postfix) with ESMTPS id 3FD1F180642 for ; Tue, 25 Aug 2020 09:51:21 +0200 (CEST) Received: from mail.apache.org (localhost [127.0.0.1]) by mailroute1-lw-us.apache.org (ASF Mail Server at mailroute1-lw-us.apache.org) with SMTP id 4DE231245C9 for ; Tue, 25 Aug 2020 07:51:20 +0000 (UTC) Received: (qmail 90489 invoked by uid 500); 25 Aug 2020 07:51:19 -0000 Mailing-List: contact user-help@arrow.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@arrow.apache.org Delivered-To: mailing list user@arrow.apache.org Received: (qmail 90478 invoked by uid 99); 25 Aug 2020 07:51:19 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 25 Aug 2020 07:51:19 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 0B637181449 for ; Tue, 25 Aug 2020 07:51:19 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0.2 X-Spam-Level: X-Spam-Status: No, score=0.2 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.2, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=disabled Authentication-Results: spamd3-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=knime-com.20150623.gappssmtp.com Received: from mx1-ec2-va.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id Itql464ynHOg for ; Tue, 25 Aug 2020 07:51:17 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=209.85.222.51; helo=mail-ua1-f51.google.com; envelope-from=bernd.wiswedel@knime.com; receiver= Received: from mail-ua1-f51.google.com (mail-ua1-f51.google.com [209.85.222.51]) by mx1-ec2-va.apache.org (ASF Mail Server at mx1-ec2-va.apache.org) with ESMTPS id 8610CBC1A3 for ; Tue, 25 Aug 2020 07:51:17 +0000 (UTC) Received: by mail-ua1-f51.google.com with SMTP id 68so1257160ual.3 for ; Tue, 25 Aug 2020 00:51:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=knime-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=9c+MH8nJm71Sslm+/amjCQwMwfGPdNDXKTXJv9KpDSc=; b=uvDNNDqXU5G1DTnm5kkLC8Y9TLGBFJ5FnMUQ5ORPpaIzqPwHyAZ2Kzo7yFg3BWhL7g cLl4HrqeJFCG7AwvE/0mWqffivBIiFTHejJi3cUd1/iMRxcwLyiOfBrzmAvEpGQ3360L TRnt9I9HbVraYaDIyCGtp4voV6H6xabzlba4Y043jCTmZQFPuduVfRu+/3Yv/hBL1taS ibqvbD52X+uGvsGtxUZC5ADaPuygwbSjPEi76KOTWeDoB43TzYgCLPCNUD4YkX2wUDUr L+kMhjveAOPAzM02ZGmCfDMvuFPbD5ZhpHS1he6VRMEF8ngHfA78clCeRV/L3cZlpNyt MX4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=9c+MH8nJm71Sslm+/amjCQwMwfGPdNDXKTXJv9KpDSc=; b=SRVUtW8DTsxa8vtj+g8/F89Hog2ODB8M+9XH44PpYmJbMQoOrqsFIVjypLxHhEH2nr X3jiNFsAaezfM2+48yiptj05JgvGkIdRucMYcoH3PmcuGBhp+iLjcvW6Ssc5pSuyW2UE ameoAlC0KKnmzv1+2PMd4RaPvPvw0z1UoRe4aClBrQT0YvTDMA7GxpdZQj4AF9j1S+sf eMNbyqbVSZsT0YfCIJWNs6vdg/Ix0KPtCdTZEATSg+mThJRDINntH9sZnDxshCgv3aJ/ nnXMapHUJa79jjcYspm1tcUAAS9XhSgjjVHxx5in/FXLZlbID4vOVss5WWvRNxeh6pJ0 FJWw== X-Gm-Message-State: AOAM531U39X4s5DAF30xe1xRjwtuvODIdo8g9Ht+apToaYV2UCL66rLW 1VEHm6Zr/T5JRuF6zXhr3tBso3XuAymQacUm3TyFVcPKrT5IAw== X-Google-Smtp-Source: ABdhPJyVaCy37OY1e/pyp772EvbxKgFB6hMZM1kYxL90+wFqvnFwtGtBSerhxvCJOjSeCHeKwSr9DmnH7q/8ONZnc34= X-Received: by 2002:ab0:7485:: with SMTP id n5mr4527401uap.8.1598341870821; Tue, 25 Aug 2020 00:51:10 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Bernd Wiswedel Date: Tue, 25 Aug 2020 09:50:54 +0200 Message-ID: Subject: Re: [Java] Issues with "Split Packages" and OSGi (and probably Java 9+) To: user@arrow.apache.org Content-Type: multipart/alternative; boundary="00000000000070bc0905adaef7d3" --00000000000070bc0905adaef7d3 Content-Type: text/plain; charset="UTF-8" Jokes aside and on second thought: Package renaming is considered an API break and would usually require a major release according to semantic versioning. I believe any change to fix this issue is going to cause an API break (including moving classes within the same package to a different artifact). As it stands right now I don't think the artifacts can be used in a Java 9+ module system (anyone there to prove me wrong?), and it's going to be painful in an OSGi environment. (In our project we currently really only care about the latter right now.) On the plus side the API change is easy to understand and fix. Thanks, Bernd On Tue, Aug 25, 2020 at 12:07 AM Bernd Wiswedel wrote: > Nah, they had plenty of time to object. Will look into it in the coming > days. > > Thanks, > Bernd > > Jacques Nadeau schrieb am Di., 25. Aug. 2020, 00:03: > >> I suggest renaming the vector related util package to >> org.apache.arrow.vector.util and memory to org.apache.arrow.memory.util. It >> would be great if you could open a ticket and propose a patch (assuming >> others agree with the solution). >> >> On Mon, Aug 24, 2020 at 2:53 PM Bernd Wiswedel >> wrote: >> >>> >>> We at KNIME (https://www.knime.com/) are currently looking at Arrow as >>> an alternative data representation. Our platform is based on Eclipse and >>> uses OSGi for dependency management. As part of that we use the Arrow >>> artifacts available from maven and convert them to OSGI bundles. >>> >>> We noticed that at least one java package (org.apache.arrow.util) is >>> provided in two different artifacts >>> >>> - arrow-memory-core: (Link to GitHub >>> >>> ) >>> - arrow-vectors: (Link to GitHub >>> >>> ) >>> >>> This is causing us trouble as the package is available via two chains. I >>> believe this is also going to be troublesome once it's used in a Java 9+ >>> environment where different modules(*) can't share the same package ('split >>> package' -- some more details are here >>> >>> ). >>> >>> The simplest solution is to move classes from one package to the other >>> (same) package. If that's not an accepted option it could also be moved >>> into a new artifact(*) arrow-util or so. >>> >>> Please advise! >>> >>> Thanks, >>> Bernd >>> >>> (*) Bundle, Module, Plug-In, Artefact ... different terms used in >>> different contexts but they mostly mean the same thing. >>> >> --00000000000070bc0905adaef7d3 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Jokes aside and on second thought: Package renaming is con= sidered an API break and would usually require a major release according to= semantic versioning.=C2=A0

I believe any change to fix = this issue is going to cause an API break (including moving classes within = the same package to a different artifact). As it stands right now I don'= ;t think the artifacts can be used in a Java 9+ module system (anyone there= to prove me wrong?), and it's going to be painful in an OSGi environme= nt. (In our project we currently=C2=A0really only care about the latter rig= ht now.)

On the plus side the API change is easy t= o understand and fix.

Thanks,
=C2=A0Bernd
=

= On Tue, Aug 25, 2020 at 12:07 AM Bernd Wiswedel <bernd.wiswedel@knime.com> wrote:
Nah, they ha= d plenty of time to object. Will look into it in the coming days.

Thanks,
=C2=A0= Bernd

Jacques Nadeau <jacques@apache.org> schrieb am Di., 25. Aug. 2020, 00:03= :
I suggest renaming the vector related util package to org.apache.arrow.v= ector.util and memory to org.apache.arrow.memory.util. It would be great if= you could open a ticket and propose a patch (assuming others agree with th= e solution).

On Mon, Aug 24, 2020 at 2:53 PM Bernd Wiswedel <bernd.= wiswedel@knime.com> wrote:

We at KNI= ME (https://www.knime.com/) are currently=C2=A0looking at Arrow as an alte= rnative data representation. Our platform is based on Eclipse and uses OSGi= for dependency management. As part of that we use the Arrow artifacts avai= lable from maven and convert them to OSGI bundles.

We noticed that at least one java package (org.apache.arrow.util) is provi= ded in two different artifacts
This is= causing us trouble as the package is available via two chains. I believe t= his is also going to be troublesome once it's used in a Java 9+ environ= ment where different modules(*) can't share the same package ('spli= t package' -- some more details are here).

The simplest= solution=C2=A0is to move classes from one package to the other (same) pack= age. If that's not an accepted=C2=A0option it could also be moved into = a new artifact(*) arrow-util or so.

Please advise!=

Thanks,
=C2=A0Bernd

(*) Bundle, Module, Plug-In, Artefact ... different terms used in dif= ferent contexts but they mostly mean the same thing.=C2=A0
--00000000000070bc0905adaef7d3--