[jira] [Commented] (GEODE-9463) Default serialization filter rejects SerializableRegionRedundancyStatusImpl

2021-08-16 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/GEODE-9463?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17399949#comment-17399949
 ] 

ASF subversion and git services commented on GEODE-9463:


Commit e6ab70813be672c04de7ed95ca87dcfb441711e3 in geode's branch 
refs/heads/support/1.13 from Eric Shu
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=e6ab708 ]

GEODE-9463: Add SerializableRegionRedundancyStatusImpl to accept list (#6753)

* SerializableRegionRedundancyStatusImpl is stored in RegionOperationStateStore 
region as
 part of OperationState used for REST client.
   * OperationState implements Serializable, which causes it to be serialized 
as a java
 Serialiable and also nested SerializableRegionRedundancyStatusImpl.
   * Ideally OperationState should implement DSFID to avoid this issue, 
however, it has been
 released already. So we will add SerializableRegionRedundancyStatusImpl to 
the accept list
 to avoid this serialization issue when validate-serializable-objects is 
set to true.

   Co-authored-by: Dan Smith 

(cherry picked from commit 7f98970afafcec6b71460344e0fd6066d7a76a92)


> Default serialization filter rejects SerializableRegionRedundancyStatusImpl
> ---
>
> Key: GEODE-9463
> URL: https://issues.apache.org/jira/browse/GEODE-9463
> Project: Geode
>  Issue Type: Bug
>  Components: serialization
>Affects Versions: 1.13.0, 1.14.0
>Reporter: Aaron Lindsey
>Assignee: Eric Shu
>Priority: Major
>  Labels: GeodeOperationAPI, blocks-1.14.0​, pull-request-available
> Attachments: logs-1.tgz, logs-2.tgz
>
>
> When validate-serializable-objects=true, there are exceptions in the logs 
> related to serializing the class SerializableRegionRedundancyStatusImpl. This 
> is an internal class which should be allowed by the default serializable 
> object filter.
> We saw this issue happen on Kubernetes while invoking rebalance and restore 
> redundancy operations on the cluster. I attached logs from 2 separate test 
> failures due to this issue.
> {code:java}
> [fatal 2021/07/22 00:14:31.392 GMT system-test-gemfire-locator-1 
>  tid=0x51] Serialization filter is rejecting class 
> org.apache.geode.internal.cache.control.SerializableRegionRedundancyStatusImpljava.lang.Exception:
>  at 
> org.apache.geode.internal.ObjectInputStreamFilterWrapper.lambda$createSerializationFilter$0(ObjectInputStreamFilterWrapper.java:234)
> at com.sun.proxy.$Proxy23.checkInput(Unknown Source)at 
> java.base/java.io.ObjectInputStream.filterCheck(ObjectInputStream.java:1336)  
>   at 
> java.base/java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:2005)
> at 
> java.base/java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1862)
> at 
> java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2169)
> at 
> java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1679)  
>   at 
> java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:493)
> at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:451) 
>at java.base/java.util.HashMap.readObject(HashMap.java:1460)at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method)at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:566)at 
> java.base/java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1175)
> at 
> java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2325)
> at 
> java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2196)
> at 
> java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1679)  
>   at 
> java.base/java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2464)
> at 
> java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2358)
> at 
> java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2196)
> at 
> java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1679)  
>   at 
> java.base/java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2464)
> at 
> java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2358)
> at 
> java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2196)
> at 
> java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1679)  
>   at 
> java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:493)
> at 

[jira] [Commented] (GEODE-9463) Default serialization filter rejects SerializableRegionRedundancyStatusImpl

2021-08-16 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/GEODE-9463?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17399928#comment-17399928
 ] 

ASF subversion and git services commented on GEODE-9463:


Commit e6377b09196a9f7347d3440dd66abe0bec3e4244 in geode's branch 
refs/heads/support/1.14 from Eric Shu
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=e6377b0 ]

GEODE-9463: Add SerializableRegionRedundancyStatusImpl to accept list (#6753)

* SerializableRegionRedundancyStatusImpl is stored in RegionOperationStateStore 
region as
 part of OperationState used for REST client.
   * OperationState implements Serializable, which causes it to be serialized 
as a java
 Serialiable and also nested SerializableRegionRedundancyStatusImpl.
   * Ideally OperationState should implement DSFID to avoid this issue, 
however, it has been
 released already. So we will add SerializableRegionRedundancyStatusImpl to 
the accept list
 to avoid this serialization issue when validate-serializable-objects is 
set to true.

   Co-authored-by: Dan Smith 

(cherry picked from commit 7f98970afafcec6b71460344e0fd6066d7a76a92)


> Default serialization filter rejects SerializableRegionRedundancyStatusImpl
> ---
>
> Key: GEODE-9463
> URL: https://issues.apache.org/jira/browse/GEODE-9463
> Project: Geode
>  Issue Type: Bug
>  Components: serialization
>Affects Versions: 1.13.0, 1.14.0
>Reporter: Aaron Lindsey
>Assignee: Eric Shu
>Priority: Major
>  Labels: GeodeOperationAPI, blocks-1.14.0​, pull-request-available
> Attachments: logs-1.tgz, logs-2.tgz
>
>
> When validate-serializable-objects=true, there are exceptions in the logs 
> related to serializing the class SerializableRegionRedundancyStatusImpl. This 
> is an internal class which should be allowed by the default serializable 
> object filter.
> We saw this issue happen on Kubernetes while invoking rebalance and restore 
> redundancy operations on the cluster. I attached logs from 2 separate test 
> failures due to this issue.
> {code:java}
> [fatal 2021/07/22 00:14:31.392 GMT system-test-gemfire-locator-1 
>  tid=0x51] Serialization filter is rejecting class 
> org.apache.geode.internal.cache.control.SerializableRegionRedundancyStatusImpljava.lang.Exception:
>  at 
> org.apache.geode.internal.ObjectInputStreamFilterWrapper.lambda$createSerializationFilter$0(ObjectInputStreamFilterWrapper.java:234)
> at com.sun.proxy.$Proxy23.checkInput(Unknown Source)at 
> java.base/java.io.ObjectInputStream.filterCheck(ObjectInputStream.java:1336)  
>   at 
> java.base/java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:2005)
> at 
> java.base/java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1862)
> at 
> java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2169)
> at 
> java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1679)  
>   at 
> java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:493)
> at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:451) 
>at java.base/java.util.HashMap.readObject(HashMap.java:1460)at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method)at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:566)at 
> java.base/java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1175)
> at 
> java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2325)
> at 
> java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2196)
> at 
> java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1679)  
>   at 
> java.base/java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2464)
> at 
> java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2358)
> at 
> java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2196)
> at 
> java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1679)  
>   at 
> java.base/java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2464)
> at 
> java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2358)
> at 
> java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2196)
> at 
> java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1679)  
>   at 
> java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:493)
> at 

[jira] [Commented] (GEODE-9463) Default serialization filter rejects SerializableRegionRedundancyStatusImpl

2021-08-11 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/GEODE-9463?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17397447#comment-17397447
 ] 

ASF subversion and git services commented on GEODE-9463:


Commit 7f98970afafcec6b71460344e0fd6066d7a76a92 in geode's branch 
refs/heads/develop from Eric Shu
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=7f98970 ]

GEODE-9463: Add SerializableRegionRedundancyStatusImpl to accept list (#6753)

* SerializableRegionRedundancyStatusImpl is stored in RegionOperationStateStore 
region as
 part of OperationState used for REST client.
   * OperationState implements Serializable, which causes it to be serialized 
as a java
 Serialiable and also nested SerializableRegionRedundancyStatusImpl.
   * Ideally OperationState should implement DSFID to avoid this issue, 
however, it has been
 released already. So we will add SerializableRegionRedundancyStatusImpl to 
the accept list
 to avoid this serialization issue when validate-serializable-objects is 
set to true.

   Co-authored-by: Dan Smith 

> Default serialization filter rejects SerializableRegionRedundancyStatusImpl
> ---
>
> Key: GEODE-9463
> URL: https://issues.apache.org/jira/browse/GEODE-9463
> Project: Geode
>  Issue Type: Bug
>  Components: serialization
>Affects Versions: 1.13.0, 1.14.0
>Reporter: Aaron Lindsey
>Assignee: Eric Shu
>Priority: Major
>  Labels: GeodeOperationAPI, blocks-1.14.0​, pull-request-available
> Attachments: logs-1.tgz, logs-2.tgz
>
>
> When validate-serializable-objects=true, there are exceptions in the logs 
> related to serializing the class SerializableRegionRedundancyStatusImpl. This 
> is an internal class which should be allowed by the default serializable 
> object filter.
> We saw this issue happen on Kubernetes while invoking rebalance and restore 
> redundancy operations on the cluster. I attached logs from 2 separate test 
> failures due to this issue.
> {code:java}
> [fatal 2021/07/22 00:14:31.392 GMT system-test-gemfire-locator-1 
>  tid=0x51] Serialization filter is rejecting class 
> org.apache.geode.internal.cache.control.SerializableRegionRedundancyStatusImpljava.lang.Exception:
>  at 
> org.apache.geode.internal.ObjectInputStreamFilterWrapper.lambda$createSerializationFilter$0(ObjectInputStreamFilterWrapper.java:234)
> at com.sun.proxy.$Proxy23.checkInput(Unknown Source)at 
> java.base/java.io.ObjectInputStream.filterCheck(ObjectInputStream.java:1336)  
>   at 
> java.base/java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:2005)
> at 
> java.base/java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1862)
> at 
> java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2169)
> at 
> java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1679)  
>   at 
> java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:493)
> at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:451) 
>at java.base/java.util.HashMap.readObject(HashMap.java:1460)at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method)at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:566)at 
> java.base/java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1175)
> at 
> java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2325)
> at 
> java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2196)
> at 
> java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1679)  
>   at 
> java.base/java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2464)
> at 
> java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2358)
> at 
> java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2196)
> at 
> java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1679)  
>   at 
> java.base/java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2464)
> at 
> java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2358)
> at 
> java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2196)
> at 
> java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1679)  
>   at 
> java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:493)
> at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:451) 
> 

[jira] [Commented] (GEODE-9463) Default serialization filter rejects SerializableRegionRedundancyStatusImpl

2021-08-03 Thread Aaron Lindsey (Jira)


[ 
https://issues.apache.org/jira/browse/GEODE-9463?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17392540#comment-17392540
 ] 

Aaron Lindsey commented on GEODE-9463:
--

[~upthewaterspout] [~eshu] thanks for getting to the bottom of this!

> Default serialization filter rejects SerializableRegionRedundancyStatusImpl
> ---
>
> Key: GEODE-9463
> URL: https://issues.apache.org/jira/browse/GEODE-9463
> Project: Geode
>  Issue Type: Bug
>  Components: serialization
>Affects Versions: 1.13.0, 1.14.0
>Reporter: Aaron Lindsey
>Assignee: Eric Shu
>Priority: Major
>  Labels: GeodeOperationAPI, blocks-1.14.0​
> Attachments: logs-1.tgz, logs-2.tgz
>
>
> When validate-serializable-objects=true, there are exceptions in the logs 
> related to serializing the class SerializableRegionRedundancyStatusImpl. This 
> is an internal class which should be allowed by the default serializable 
> object filter.
> We saw this issue happen on Kubernetes while invoking rebalance and restore 
> redundancy operations on the cluster. I attached logs from 2 separate test 
> failures due to this issue.
> {code:java}
> [fatal 2021/07/22 00:14:31.392 GMT system-test-gemfire-locator-1 
>  tid=0x51] Serialization filter is rejecting class 
> org.apache.geode.internal.cache.control.SerializableRegionRedundancyStatusImpljava.lang.Exception:
>  at 
> org.apache.geode.internal.ObjectInputStreamFilterWrapper.lambda$createSerializationFilter$0(ObjectInputStreamFilterWrapper.java:234)
> at com.sun.proxy.$Proxy23.checkInput(Unknown Source)at 
> java.base/java.io.ObjectInputStream.filterCheck(ObjectInputStream.java:1336)  
>   at 
> java.base/java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:2005)
> at 
> java.base/java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1862)
> at 
> java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2169)
> at 
> java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1679)  
>   at 
> java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:493)
> at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:451) 
>at java.base/java.util.HashMap.readObject(HashMap.java:1460)at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method)at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:566)at 
> java.base/java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1175)
> at 
> java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2325)
> at 
> java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2196)
> at 
> java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1679)  
>   at 
> java.base/java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2464)
> at 
> java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2358)
> at 
> java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2196)
> at 
> java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1679)  
>   at 
> java.base/java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2464)
> at 
> java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2358)
> at 
> java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2196)
> at 
> java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1679)  
>   at 
> java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:493)
> at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:451) 
>at 
> org.apache.geode.internal.InternalDataSerializer.readSerializable(InternalDataSerializer.java:2689)
> at 
> org.apache.geode.internal.InternalDataSerializer.basicReadObject(InternalDataSerializer.java:2633)
> at org.apache.geode.DataSerializer.readObject(DataSerializer.java:2864)   
>  at 
> org.apache.geode.internal.util.BlobHelper.deserializeBlob(BlobHelper.java:102)
> at 
> org.apache.geode.internal.cache.EntryEventImpl.deserialize(EntryEventImpl.java:2049)
> at 
> org.apache.geode.internal.cache.EntryEventImpl.deserialize(EntryEventImpl.java:2041)
> at 
> org.apache.geode.internal.cache.VMCachedDeserializable.getDeserializedValue(VMCachedDeserializable.java:138)
> at 
> org.apache.geode.internal.cache.LocalRegion.getDeserialized(LocalRegion.java:1277)
> at 
> 

[jira] [Commented] (GEODE-9463) Default serialization filter rejects SerializableRegionRedundancyStatusImpl

2021-07-30 Thread Dan Smith (Jira)


[ 
https://issues.apache.org/jira/browse/GEODE-9463?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17390803#comment-17390803
 ] 

Dan Smith commented on GEODE-9463:
--

Eric and I tracked this down. This restore redundancy operation has had this 
problem since it was added in 1.13. The problem is that this 
SerializableRegionRedundancyStatusImpl is nested inside of an OperationState. 
OperationState is java serializable *only*  - it is not 
DataSerializableFixedID. Because OperationState is java serializable, anything 
nested inside it is also uses java serialization.

Someone added OperationState to the sanctioned-geode-core-serializables.txt. 
That is why we don't see a failure for that class.

We really should not ever use java serialization in the product. Unfortunately 
because we have already released this code with java serialization, we may have 
to simply add SerializableRegionRedundancyStatusImpl to the 
sanctioned-geode-core-serializables.txt.

There is a test to reproduce this issue here - 
https://github.com/upthewaterspout/geode/pull/new/feature/restore-serializable-filter-block-GEODE-9463
 

> Default serialization filter rejects SerializableRegionRedundancyStatusImpl
> ---
>
> Key: GEODE-9463
> URL: https://issues.apache.org/jira/browse/GEODE-9463
> Project: Geode
>  Issue Type: Bug
>  Components: serialization
>Affects Versions: 1.13.0, 1.14.0
>Reporter: Aaron Lindsey
>Assignee: Eric Shu
>Priority: Major
>  Labels: GeodeOperationAPI, blocks-1.14.0​
> Attachments: logs-1.tgz, logs-2.tgz
>
>
> When validate-serializable-objects=true, there are exceptions in the logs 
> related to serializing the class SerializableRegionRedundancyStatusImpl. This 
> is an internal class which should be allowed by the default serializable 
> object filter.
> We saw this issue happen on Kubernetes while invoking rebalance and restore 
> redundancy operations on the cluster. I attached logs from 2 separate test 
> failures due to this issue.
> {code:java}
> [fatal 2021/07/22 00:14:31.392 GMT system-test-gemfire-locator-1 
>  tid=0x51] Serialization filter is rejecting class 
> org.apache.geode.internal.cache.control.SerializableRegionRedundancyStatusImpljava.lang.Exception:
>  at 
> org.apache.geode.internal.ObjectInputStreamFilterWrapper.lambda$createSerializationFilter$0(ObjectInputStreamFilterWrapper.java:234)
> at com.sun.proxy.$Proxy23.checkInput(Unknown Source)at 
> java.base/java.io.ObjectInputStream.filterCheck(ObjectInputStream.java:1336)  
>   at 
> java.base/java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:2005)
> at 
> java.base/java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1862)
> at 
> java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2169)
> at 
> java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1679)  
>   at 
> java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:493)
> at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:451) 
>at java.base/java.util.HashMap.readObject(HashMap.java:1460)at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method)at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:566)at 
> java.base/java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1175)
> at 
> java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2325)
> at 
> java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2196)
> at 
> java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1679)  
>   at 
> java.base/java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2464)
> at 
> java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2358)
> at 
> java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2196)
> at 
> java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1679)  
>   at 
> java.base/java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2464)
> at 
> java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2358)
> at 
> java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2196)
> at 
> java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1679)  
>   at 
> java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:493)
> at 

[jira] [Commented] (GEODE-9463) Default serialization filter rejects SerializableRegionRedundancyStatusImpl

2021-07-26 Thread Kirk Lund (Jira)


[ 
https://issues.apache.org/jira/browse/GEODE-9463?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17387598#comment-17387598
 ] 

Kirk Lund commented on GEODE-9463:
--

This bug is in 1.14.x and might also be in 1.13.x.

> Default serialization filter rejects SerializableRegionRedundancyStatusImpl
> ---
>
> Key: GEODE-9463
> URL: https://issues.apache.org/jira/browse/GEODE-9463
> Project: Geode
>  Issue Type: Bug
>  Components: serialization
>Reporter: Aaron Lindsey
>Priority: Major
> Attachments: logs-1.tgz, logs-2.tgz
>
>
> When validate-serializable-objects=true, there are exceptions in the logs 
> related to serializing the class SerializableRegionRedundancyStatusImpl. This 
> is an internal class which should be allowed by the default serializable 
> object filter.
> We saw this issue happen on Kubernetes while invoking rebalance and restore 
> redundancy operations on the cluster. I attached logs from 2 separate test 
> failures due to this issue.
> {code:java}
> [fatal 2021/07/22 00:14:31.392 GMT system-test-gemfire-locator-1 
>  tid=0x51] Serialization filter is rejecting class 
> org.apache.geode.internal.cache.control.SerializableRegionRedundancyStatusImpljava.lang.Exception:
>  at 
> org.apache.geode.internal.ObjectInputStreamFilterWrapper.lambda$createSerializationFilter$0(ObjectInputStreamFilterWrapper.java:234)
> at com.sun.proxy.$Proxy23.checkInput(Unknown Source)at 
> java.base/java.io.ObjectInputStream.filterCheck(ObjectInputStream.java:1336)  
>   at 
> java.base/java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:2005)
> at 
> java.base/java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1862)
> at 
> java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2169)
> at 
> java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1679)  
>   at 
> java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:493)
> at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:451) 
>at java.base/java.util.HashMap.readObject(HashMap.java:1460)at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method)at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:566)at 
> java.base/java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1175)
> at 
> java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2325)
> at 
> java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2196)
> at 
> java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1679)  
>   at 
> java.base/java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2464)
> at 
> java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2358)
> at 
> java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2196)
> at 
> java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1679)  
>   at 
> java.base/java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2464)
> at 
> java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2358)
> at 
> java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2196)
> at 
> java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1679)  
>   at 
> java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:493)
> at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:451) 
>at 
> org.apache.geode.internal.InternalDataSerializer.readSerializable(InternalDataSerializer.java:2689)
> at 
> org.apache.geode.internal.InternalDataSerializer.basicReadObject(InternalDataSerializer.java:2633)
> at org.apache.geode.DataSerializer.readObject(DataSerializer.java:2864)   
>  at 
> org.apache.geode.internal.util.BlobHelper.deserializeBlob(BlobHelper.java:102)
> at 
> org.apache.geode.internal.cache.EntryEventImpl.deserialize(EntryEventImpl.java:2049)
> at 
> org.apache.geode.internal.cache.EntryEventImpl.deserialize(EntryEventImpl.java:2041)
> at 
> org.apache.geode.internal.cache.VMCachedDeserializable.getDeserializedValue(VMCachedDeserializable.java:138)
> at 
> org.apache.geode.internal.cache.LocalRegion.getDeserialized(LocalRegion.java:1277)
> at 
> org.apache.geode.internal.cache.NonTXEntry.getValue(NonTXEntry.java:91)at 
> org.apache.geode.internal.cache.NonTXEntry.getValue(NonTXEntry.java:86)at 
>