The error self-suppression not permitted is not the actual error here.
This error is thrown by JVM when runtime tries to throw multiple THROWABLE instance from code.
To do so, JDK-7 introduces the "suppressedExceptions" to Throwable to suppress previous exception and retain very recent exception.
So Java tries - throwable.addSuppressed(throwable) - which is invalid and Throwable instance itself throws the IllegalArgumentException and the real exception is lost this way.
From this in log: Caused by: java.io.IOException: All datanodes DatanodeInfoWithStorag, It seems like there is some issue with datanode.
If you look into the running services in the cluster, and check if all datanodes and daemons are running fine; things may go in track.
Issues could be:
- Issue in datanode. Restart cluster daemons.
- Heart beat between datanodes and namenode: Network Issues or permission access issues.
- datanode's memory issue.
- Datanode busy or unresponsive