Hi, Andrey!

But what should we do with Calcite then? It already brings Guava to the 
project. 
Should we considered exclusion of the main and only query engine from the 
Ignite-3.0?

-- 
Regards,
Konstantin Orlov




> On 5 Aug 2021, at 17:23, Andrey Mashenkov <andrey.mashen...@gmail.com> wrote:
> 
> -1
> It is sad to say -1, as Guava has very useful stuff and it looks easier to
> add it as a dependency rather than copy-paste a code. My concerns are: 1.
> Original Bytecode module depends on 26.0-jre Calcite depends on 29.0-jre We
> maybe will use some other version. A user might want to use one more
> version. So, I'd disagree legalizing Guava will help with maintainability
> anyhow. 2. Guava supports JDK-8. Is it possible to handle different
> versions of Guava in dependencies with JigSaw? What impact will have
> potential future CVEs (and the current one) with the JigSaw? 3. Guava has
> an unresolved CVE [1]. They just mark a vulnerable method as Deprecated and
> didn't actually fix it [2]. [1] https://github.com/google/guava/issues/4011
> [2] https://github.com/google/guava/issues/4011
> 
> On Thu, Aug 5, 2021 at 4:54 PM Konstantin Orlov <kor...@gridgain.com> wrote:
> 
>> +1, I considered it a necessary evil
>> 
>> --
>> Regards,
>> Konstantin Orlov
>> 
>> 
>> 
>>> On 5 Aug 2021, at 16:37, Alexei Scherbakov <alexey.scherbak...@gmail.com>
>> wrote:
>>> 
>>> +1
>>> 
>>> чт, 5 авг. 2021 г. в 16:12, Alexander Polovtcev <alexpolovt...@gmail.com
>>> :
>>> 
>>>> Hello, dear Igniters!
>>>> 
>>>> I would like to discuss the possibility of using Guava
>>>> <https://github.com/google/guava> in Ignite 3. I know about the
>>>> restrictive
>>>> policy of using it in Ignite 2, but I have the following reasons:
>>>> 
>>>> 1. We are de-facto using it already as an implicit dependency, since the
>>>> Calcite module depends on it, and Calcite is going to stay for a while
>> =)
>>>> 2. AFAIK, the "bytecode" module is copied into the codebase only to
>> strip
>>>> Guava away from it. We can remove this module, which will improve the
>>>> maintainability of the project.
>>>> 3. We have some copy-paste of Guava code in the project. For example,
>> see
>>>> this
>>>> <
>>>> 
>> https://github.com/apache/ignite-3/blob/main/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java#L136
>>>>> 
>>>> and this
>>>> <
>>>> 
>> https://github.com/apache/ignite-3/blob/main/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java#L428
>>>>> 
>>>> .
>>>> 4. Regarding security concerns, this report
>>>> <
>> https://www.cvedetails.com/product/52274/Google-Guava.html?vendor_id=1224
>>>>> 
>>>> shows no major vulnerability issues for the last three years.
>>>> 
>>>> Taking these points into account, I propose to allow using Guava both in
>>>> production and test code and to add it as an explicit dependency.
>>>> 
>>>> What do you think?
>>>> 
>>>> --
>>>> With regards,
>>>> Aleksandr Polovtcev
>>>> 
>>> 
>>> 
>>> --
>>> 
>>> Best regards,
>>> Alexei Scherbakov
>> 
>> 
> 
> -- 
> Best regards,
> Andrey V. Mashenkov

Reply via email to