This is pretty much Working As Designed. Jenkins has a setting for how long a given patch run should be. If it goes over that value, it thinks the job is hung and kills it.
The problem we've got is that hadoop-hdfs unit tests runs for an extremely long time. It would probably be well worth the effort to break it up from a single module to multiple modules, similarly to how yarn is currently designed. This would limit the possibility of running over that time for the vast majority of patches. We probably still couldn't run ALL of the unit tests, but those types of patches are extremely rare and/or can be broken up into multiple patches.