KAFKA-4614; Forcefully unmap mmap of OffsetIndex to prevent long GC pause
KAFKA-4614; Forcefully unmap mmap of OffsetIndex to prevent long GC pause

Issue: https://issues.apache.org/jira/browse/KAFKA-4614

Fixes the problem that the broker threads suffered by long GC pause.
When GC thread collects mmap objects which were created for index files, it unmaps memory mapping so kernel turns to delete a file physically. This work may transparently read file's metadata from physical disk if it's not available on cache.
This seems to happen typically when we're using G1GC, due to it's strategy to left a garbage for a long time if other objects in the same region are still alive.
See the link for the details.

Author: Yuto Kawamura <kawamuray.dadada@gmail.com>

Reviewers: Apurva Mehta <apurva.1618@gmail.com>, Guozhang Wang <wangguoz@gmail.com>, Ismael Juma <ismael@juma.me.uk>,

Closes #2352 from kawamuray/KAFKA-4614-force-munmap-for-index

Esquive/kafka,ErikKringen/kafka,ijuma/kafka,Esquive/kafka,TiVo/kafka,noslowerdna/kafka,mihbor/kafka,gf53520/kafka,guozhangwang/kafka,ollie314/kafka,themarkypantz/kafka,guozhangwang/kafka,Chasego/kafka,apache/kafka,Chasego/kafka,sebadiaz/kafka,rhauch/kafka,KevinLiLu/kafka,sslavic/kafka,airbnb/kafka,TiVo/kafka,Chasego/kafka,apache/kafka,rhauch/kafka,mihbor/kafka,richhaase/kafka,ollie314/kafka,apache/kafka,Ishiihara/kafka,sslavic/kafka,gf53520/kafka,airbnb/kafka,airbnb/kafka,sebadiaz/kafka,MyPureCloud/kafka,MyPureCloud/kafka,lindong28/kafka,Ishiihara/kafka,KevinLiLu/kafka,themarkypantz/kafka,lindong28/kafka,apache/kafka,guozhangwang/kafka,Esquive/kafka,lindong28/kafka,ollie314/kafka,richhaase/kafka,sslavic/kafka,MyPureCloud/kafka,Ishiihara/kafka,sslavic/kafka,noslowerdna/kafka,mihbor/kafka,sebadiaz/kafka,ErikKringen/kafka,Ishiihara/kafka,mihbor/kafka,ijuma/kafka,rhauch/kafka,Chasego/kafka,TiVo/kafka,noslowerdna/kafka,richhaase/kafka,themarkypantz/kafka,guozhangwang/kafka,gf53520/kafka,themarkypantz/kafka,sebadiaz/kafka,ErikKringen/kafka,KevinLiLu/kafka,noslowerdna/kafka,airbnb/kafka,KevinLiLu/kafka,ijuma/kafka,richhaase/kafka,ollie314/kafka,ErikKringen/kafka,lindong28/kafka,Esquive/kafka,TiVo/kafka,MyPureCloud/kafka,ijuma/kafka,gf53520/kafka,rhauch/kafka