[ 
https://issues.apache.org/jira/browse/HIVE-22944?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

László Bodor updated HIVE-22944:
--------------------------------
    Description: 
experimental ticket

Maybe we should consider upgrading to kryo5 (plan ser/deser). Not sure about 
performance benefits, but looking at the code, e.g. FieldSerializer in Kryo5 
seems to let us extend it easier (less private fields), which could be a 
benefit if we want to change its behavior, e.g. defining different logic for 
different fields of an object.

Kryo 4 FieldSerializer: 
https://github.com/EsotericSoftware/kryo/blob/kryo-4/src/com/esotericsoftware/kryo/serializers/FieldSerializer.java
Kryo 5 FieldSerialier: 
https://github.com/EsotericSoftware/kryo/blob/master/src/com/esotericsoftware/kryo/serializers/FieldSerializer.java

versions, according to maven central:

5.0.0-RC4 - Apr, 2019
5.0.0-RC3 - Apr, 2019
5.0.0-RC2 - Feb, 2019
5.0.0-RC1 - Jun, 2018

there is no "5.0.0" yet

TODO: why kryo-shaded artifact has been used so far?
https://javalibs.com/artifact/com.esotericsoftware/kryo-shaded
"This contains the shaded reflectasm jar to prevent conflicts with other 
versions of asm."

UPDATE: currently we are at kryo 5.0.3

  was:
experimental ticket

Maybe we should consider upgrading to kryo5 (plan ser/deser). Not sure about 
performance benefits, but looking at the code, e.g. FieldSerializer in Kryo5 
seems to let us extend it easier (less private fields), which could be a 
benefit if we want to change its behavior, e.g. defining different logic for 
different fields of an object.

Kryo 4 FieldSerializer: 
https://github.com/EsotericSoftware/kryo/blob/kryo-4/src/com/esotericsoftware/kryo/serializers/FieldSerializer.java
Kryo 5 FieldSerialier: 
https://github.com/EsotericSoftware/kryo/blob/master/src/com/esotericsoftware/kryo/serializers/FieldSerializer.java

versions, according to maven central:

5.0.0-RC4 - Apr, 2019
5.0.0-RC3 - Apr, 2019
5.0.0-RC2 - Feb, 2019
5.0.0-RC1 - Jun, 2018

there is no "5.0.0" yet

TODO: why kryo-shaded artifact has been used so far?
https://javalibs.com/artifact/com.esotericsoftware/kryo-shaded
"This contains the shaded reflectasm jar to prevent conflicts with other 
versions of asm."


> Upgrade to Kryo5
> ----------------
>
>                 Key: HIVE-22944
>                 URL: https://issues.apache.org/jira/browse/HIVE-22944
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: László Bodor
>            Assignee: László Bodor
>            Priority: Major
>         Attachments: HIVE-22944.01.patch
>
>
> experimental ticket
> Maybe we should consider upgrading to kryo5 (plan ser/deser). Not sure about 
> performance benefits, but looking at the code, e.g. FieldSerializer in Kryo5 
> seems to let us extend it easier (less private fields), which could be a 
> benefit if we want to change its behavior, e.g. defining different logic for 
> different fields of an object.
> Kryo 4 FieldSerializer: 
> https://github.com/EsotericSoftware/kryo/blob/kryo-4/src/com/esotericsoftware/kryo/serializers/FieldSerializer.java
> Kryo 5 FieldSerialier: 
> https://github.com/EsotericSoftware/kryo/blob/master/src/com/esotericsoftware/kryo/serializers/FieldSerializer.java
> versions, according to maven central:
> 5.0.0-RC4 - Apr, 2019
> 5.0.0-RC3 - Apr, 2019
> 5.0.0-RC2 - Feb, 2019
> 5.0.0-RC1 - Jun, 2018
> there is no "5.0.0" yet
> TODO: why kryo-shaded artifact has been used so far?
> https://javalibs.com/artifact/com.esotericsoftware/kryo-shaded
> "This contains the shaded reflectasm jar to prevent conflicts with other 
> versions of asm."
> UPDATE: currently we are at kryo 5.0.3



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to