Hi,

@Paolo de Dios, thank you for creating an issue for this
- https://issues.apache.org/jira/browse/IGNITE-17481

I attached a patch for this issue.

Do you have a guideline "howto contribute" if this is wanted?

Best,
Rafael



On 8/5/22 16:18, Rafael Troilo wrote:
Hi,

in case it wasn't reported before.

On Ignite.close we got an Error:


```
SEVERE: Failed to stop component (ignoring): GridManagerAdapter [enabled=true, 
name=o.a.i.i.managers.deployment.GridDeploymentManager]
java.lang.ClassCastException:      (java.io.ObjectInputStream$Caches$1 and 
java.util.Map are in module java.base of loader 'bootstrap')
     at 
org.apache.ignite.internal.managers.deployment.GridDeploymentStoreAdapter.clearSerializationCache(GridDeploymentStoreAdapter.java:151)
     at 
org.apache.ignite.internal.managers.deployment.GridDeploymentStoreAdapter.clearSerializationCaches(GridDeploymentStoreAdapter.java:120)
     at 
org.apache.ignite.internal.managers.deployment.GridDeploymentLocalStore.undeploy(GridDeploymentLocalStore.java:565)
     at 
org.apache.ignite.internal.managers.deployment.GridDeploymentLocalStore.stop(GridDeploymentLocalStore.java:101)
     at 
org.apache.ignite.internal.managers.deployment.GridDeploymentManager.storesStop(GridDeploymentManager.java:630)
     at 
org.apache.ignite.internal.managers.deployment.GridDeploymentManager.stop(GridDeploymentManager.java:137)
     at org.apache.ignite.internal.IgniteKernal.stop0(IgniteKernal.java:1928)
     at org.apache.ignite.internal.IgniteKernal.stop(IgniteKernal.java:1806)
     at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.stop0(IgnitionEx.java:2382)
     at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.stop(IgnitionEx.java:2205)
     at org.apache.ignite.internal.IgnitionEx.stop(IgnitionEx.java:350)
     at org.apache.ignite.Ignition.stop(Ignition.java:230)
     at org.apache.ignite.internal.IgniteKernal.close(IgniteKernal.java:2776)
```

ver. 2.13.0#20220420-sha1:551f6ece
OS: Linux 4.15.0-189-generic amd64
VM information: OpenJDK Runtime Environment 11.0.16+8-post-Ubuntu-0ubuntu118.04 
Ubuntu OpenJDK 64-Bit Server VM 11.0.16+8-post-Ubuntu-0ubuntu118.04

The reason for this Exception is an access to an field of 
ObjectOutputStream$Caches.subclassAudits which used to be of type java.util.Map 
but it changed to type java.lang.ClassValue!

```
org.apache.ignite.internal.managers.deployment.GridDeploymentStoreAdapter::clearSerializationCaches

   clearSerializationCache(Class.forName("java.io.ObjectInputStream$Caches"), 
"subclassAudits");
   clearSerializationCache(Class.forName("java.io.ObjectOutputStream$Caches"), 
"subclassAudits");
   clearSerializationCache(Class.forName("java.io.ObjectStreamClass$Caches"), 
"localDescs");
   clearSerializationCache(Class.forName("java.io.ObjectStreamClass$Caches"), 
"reflectors");
```

Is it safe to ignore this Exception? Any workarounds?

Thank you,
Best,
Rafael




--
Rafael Troilo
HeiGIT gGmbH
Heidelberg Institute for Geoinformation Technology at Heidelberg University

https://heigit.org | rafael.tro...@heigit.org | phone +49-6221-533 484

Postal address: Schloss-Wolfsbrunnenweg 33 | 69118 Heidelberg | Germany
Offices: Berliner Str. 45 | 69120 Heidelberg | Germany

Amtsgericht Mannheim | HRB 733765
Managing Directors: Prof. Dr. Alexander Zipf | Dr. Gesa Schönberger
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentStoreAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentStoreAdapter.java
index fcbc801a443..29d9088758b 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentStoreAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentStoreAdapter.java
@@ -134,6 +134,10 @@ abstract class GridDeploymentStoreAdapter implements GridDeploymentStore {
             if (log.isDebugEnabled())
                 log.debug("Field can't be accessed: " + e.getMessage());
         }
+        catch (ClassCastException e) {
+            if (log.isDebugEnabled())
+                log.debug("Field can't be cased to Map: " + e.getMessage());
+        }
     }
 
     /**

Reply via email to