Details
-
Bug
-
Status: Patch Available
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
A user ran into a JVM bug which appears to have caused a RegionServer to crash while running a topN aggregate query. This left a large number of files in /tmp after the RS had gone away (due to a JVM SIGBUS crash). MappedByteBufferQueue will buffer results in memory up to 20MB by default (controlled by phoenix.query.spoolThresholdBytes) and then start appending them to a file. I'm seeing two things which could be improved:
- If the RS exits abnormally, there is no process to clean up files - would be nice to register the deleteOnExit() hook to try to clean these up.
- There is no ability to control where MappedByteBufferQueue writes its spool file - would be nice to use something other than /tmp (I think we have a property to control this already in our config..)
FYI ankit@apache.org