Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
Description
Although we have encapsulated ThreadPools in IOTDB, unexpected exceptions in the thread will be thrown without any logging. That may cause the issue tracking very hard.
The Thread.UncaughtExceptionHandler is not worked in ThreadPoolExecutor.submit() and its subclasses, as the task in runWorker() is an instance of FutureTask, which will not throw any exception even if any error occurs in run(), and we can only get the exceptions in afterExecute. See the codes below:
In FutureTask, we can see that the exceptions are caught, not thrown directly.
Attachments
Attachments
Issue Links
- links to