[jira] [Commented] (FLINK-28697) MapDataSerializer doesn't declare a serialVersionUID

2022-11-01 Thread Yun Tang (Jira)


[ 
https://issues.apache.org/jira/browse/FLINK-28697?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17626992#comment-17626992
 ] 

Yun Tang commented on FLINK-28697:
--

For checkpoints, it will use [MapDataSerializerSnapshot 
|https://github.com/apache/flink/blob/4e860b6a3e2b1cd2e36ca0dcb549a93c92430e1d/flink-table/flink-table-runtime/src/main/java/org/apache/flink/table/runtime/typeutils/MapDataSerializer.java#L250]
 to restore the MapDataSerializer instead of {{deserializeObject}}. Thus it 
would be safe for checkpoints.
However, we might have other places to deserialize, you can refer to 
FLINK-13910.

> MapDataSerializer doesn't declare a serialVersionUID
> 
>
> Key: FLINK-28697
> URL: https://issues.apache.org/jira/browse/FLINK-28697
> Project: Flink
>  Issue Type: Bug
>  Components: API / Type Serialization System
>Affects Versions: 1.15.1
>Reporter: Josh Mahonin
>Priority: Major
>  Labels: pull-request-available
>
> MapDataSerializer doesn't declare a serialVersionUID, which can manifest as a 
> InvalidClassException when attempting to serialize with different JREs for 
> compilation / runtime.
> {code:java}
> Caused by: java.io.InvalidClassException: 
> org.apache.flink.table.runtime.typeutils.MapDataSerializer; local class 
> incompatible: stream classdesc serialVersionUID = 2533002123505507000, local 
> class serialVersionUID = 1622156938509929811 {code}
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (FLINK-28697) MapDataSerializer doesn't declare a serialVersionUID

2022-10-31 Thread Zhu Zhu (Jira)


[ 
https://issues.apache.org/jira/browse/FLINK-28697?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17626487#comment-17626487
 ] 

Zhu Zhu commented on FLINK-28697:
-

My major concern is that whether the change is possible to break the 
compatibility of existed external checkpoints.
Although looks to me it will not. I still hope some other experts like [~yunta] 
can help to double confirm it.

> MapDataSerializer doesn't declare a serialVersionUID
> 
>
> Key: FLINK-28697
> URL: https://issues.apache.org/jira/browse/FLINK-28697
> Project: Flink
>  Issue Type: Bug
>  Components: API / Type Serialization System
>Affects Versions: 1.15.1
>Reporter: Josh Mahonin
>Priority: Major
>  Labels: pull-request-available
>
> MapDataSerializer doesn't declare a serialVersionUID, which can manifest as a 
> InvalidClassException when attempting to serialize with different JREs for 
> compilation / runtime.
> {code:java}
> Caused by: java.io.InvalidClassException: 
> org.apache.flink.table.runtime.typeutils.MapDataSerializer; local class 
> incompatible: stream classdesc serialVersionUID = 2533002123505507000, local 
> class serialVersionUID = 1622156938509929811 {code}
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (FLINK-28697) MapDataSerializer doesn't declare a serialVersionUID

2022-10-27 Thread Josh Mahonin (Jira)


[ 
https://issues.apache.org/jira/browse/FLINK-28697?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17625038#comment-17625038
 ] 

Josh Mahonin commented on FLINK-28697:
--

Agreed, the use of mismatched JVM versions is not ideal. In this case the major 
versions were the same (16), but due to some ideosyncrasies in container 
packaging, they were not the exact same JVM version.

The other classes in that package all have a serialVersionUID set (last I 
checked).

I’ll also note the Flink style guide says all serializable classes must declare 
a serialVersionUID
[https://flink.apache.org/contributing/code-style-and-quality-java.html#java-serialization]

> MapDataSerializer doesn't declare a serialVersionUID
> 
>
> Key: FLINK-28697
> URL: https://issues.apache.org/jira/browse/FLINK-28697
> Project: Flink
>  Issue Type: Bug
>  Components: API / Type Serialization System
>Affects Versions: 1.15.1
>Reporter: Josh Mahonin
>Priority: Major
>  Labels: pull-request-available
>
> MapDataSerializer doesn't declare a serialVersionUID, which can manifest as a 
> InvalidClassException when attempting to serialize with different JREs for 
> compilation / runtime.
> {code:java}
> Caused by: java.io.InvalidClassException: 
> org.apache.flink.table.runtime.typeutils.MapDataSerializer; local class 
> incompatible: stream classdesc serialVersionUID = 2533002123505507000, local 
> class serialVersionUID = 1622156938509929811 {code}
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (FLINK-28697) MapDataSerializer doesn't declare a serialVersionUID

2022-10-27 Thread Zhu Zhu (Jira)


[ 
https://issues.apache.org/jira/browse/FLINK-28697?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17624970#comment-17624970
 ] 

Zhu Zhu commented on FLINK-28697:
-

Thanks for reporting this problem and opening a PR to fix it. [~jmahonin]
I think not only `MapDataSerializer`, but also some other serializable classes 
may encounter this kind of problems when using different java versions at 
different sides. This means the pull request does not fully fix this kind of 
problems. Also, developing and running jobs with different java versions may 
introduce other potential incompatible problems.
I think we should use the same java version to develop, compile and run Flink 
jobs. And, with this assumption, the reported problem is not needed to be fixed.

> MapDataSerializer doesn't declare a serialVersionUID
> 
>
> Key: FLINK-28697
> URL: https://issues.apache.org/jira/browse/FLINK-28697
> Project: Flink
>  Issue Type: Bug
>  Components: API / Type Serialization System
>Affects Versions: 1.15.1
>Reporter: Josh Mahonin
>Priority: Major
>  Labels: pull-request-available
>
> MapDataSerializer doesn't declare a serialVersionUID, which can manifest as a 
> InvalidClassException when attempting to serialize with different JREs for 
> compilation / runtime.
> {code:java}
> Caused by: java.io.InvalidClassException: 
> org.apache.flink.table.runtime.typeutils.MapDataSerializer; local class 
> incompatible: stream classdesc serialVersionUID = 2533002123505507000, local 
> class serialVersionUID = 1622156938509929811 {code}
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (FLINK-28697) MapDataSerializer doesn't declare a serialVersionUID

2022-07-27 Thread Josh Mahonin (Jira)


[ 
https://issues.apache.org/jira/browse/FLINK-28697?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17571907#comment-17571907
 ] 

Josh Mahonin commented on FLINK-28697:
--

Hi [~yunta] 

Unfortunately the issue is a few months old, and as such the logs have expired 
from our aggregator.

We were using the same Flink version, but there was a mismatch in JVM versions 
between the compiled JAR, and what was being used at runtime. As well, I 
believe the JVM versions were different between client and server. I'm not 
certain exactly scenario caused the issue, but specifically setting the 
{{serialVersionUID}} resolved it. Note that it's the only class in that package 
without one defined.

> MapDataSerializer doesn't declare a serialVersionUID
> 
>
> Key: FLINK-28697
> URL: https://issues.apache.org/jira/browse/FLINK-28697
> Project: Flink
>  Issue Type: Bug
>  Components: API / Type Serialization System
>Affects Versions: 1.15.1
>Reporter: Josh Mahonin
>Priority: Major
>  Labels: pull-request-available
>
> MapDataSerializer doesn't declare a serialVersionUID, which can manifest as a 
> InvalidClassException when attempting to serialize with different JREs for 
> compilation / runtime.
> {code:java}
> Caused by: java.io.InvalidClassException: 
> org.apache.flink.table.runtime.typeutils.MapDataSerializer; local class 
> incompatible: stream classdesc serialVersionUID = 2533002123505507000, local 
> class serialVersionUID = 1622156938509929811 {code}
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (FLINK-28697) MapDataSerializer doesn't declare a serialVersionUID

2022-07-26 Thread Yun Tang (Jira)


[ 
https://issues.apache.org/jira/browse/FLINK-28697?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17571718#comment-17571718
 ] 

Yun Tang commented on FLINK-28697:
--

[~jmahonin] Did you use different flink versions between the client and server 
side? Or could you share the full exception stack trace?

> MapDataSerializer doesn't declare a serialVersionUID
> 
>
> Key: FLINK-28697
> URL: https://issues.apache.org/jira/browse/FLINK-28697
> Project: Flink
>  Issue Type: Bug
>  Components: API / Type Serialization System
>Affects Versions: 1.15.1
>Reporter: Josh Mahonin
>Priority: Major
>  Labels: pull-request-available
>
> MapDataSerializer doesn't declare a serialVersionUID, which can manifest as a 
> InvalidClassException when attempting to serialize with different JREs for 
> compilation / runtime.
> {code:java}
> Caused by: java.io.InvalidClassException: 
> org.apache.flink.table.runtime.typeutils.MapDataSerializer; local class 
> incompatible: stream classdesc serialVersionUID = 2533002123505507000, local 
> class serialVersionUID = 1622156938509929811 {code}
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)