Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.14.0
-
None
-
None
Description
For RpcHandlers in Drill, when there is an OutOfMemory condition ,then all the handlers call OutOfMemoryHandler with the caught exception. Every channel, except for DataServer the default instance of MemoryHandler is used which throws UnsupportedOperationException. This is misleading since actual exception is for OutOfMemory not UnsupportedOperationException.
Here is an example where it is not handled the right way.
Caused by: java.lang.UnsupportedOperationException: null at org.apache.drill.exec.rpc.OutOfMemoryHandler$1.handle(OutOfMemoryHandler.java:25) ~[drill-rpc-1.13.0-mapr.jar:1.13.0-mapr] at org.apache.drill.exec.rpc.SaslEncryptionHandler.encode(SaslEncryptionHandler.java:170) ~[drill-rpc-1.13.0-mapr.jar:1.13.0-mapr] at org.apache.drill.exec.rpc.SaslEncryptionHandler.encode(SaslEncryptionHandler.java:44) ~[drill-rpc-1.13.0-mapr.jar:1.13.0-mapr] at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:88) [netty-codec-4.0.48.Final.jar:4.0.48.Final] ... 25 common frames omitted