tree be82a0c915d6f7ece6318a547b7428e4862c827e
parent fbfd49a1e0307e5d490a2cdf8cbb840ef88cf628
author hangc0276 <hangc0276@163.com> 1584572905 +0800
committer GitHub <noreply@github.com> 1584572905 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJecqnpCRBK7hj4Ov3rIwAAdHIIAGFTgRY8Wcw8NZRP4/Uo8Zpt
 CO4CQWZIgmo4UGuj54peVfWoXpZfx9ZCqvI4lGha8EP/WU94Dm9+VfwanRSpnOQ7
 K1XMtc1BSkblmAsOVRj47EZPromhnq06BW7fA47Pt5rcPNLOU9Dtr4ruveQP36pi
 DIqURyVEqiQx4aOoBwpBIx5wirxrHETCdwMqTboCFRuRhmL/b5qjjXa8iRVzco33
 obf8Ypq97wIKo4DkXzVjm0837a4nbmWYqPwV4AoGjhoSADywky4uu511w8EDosMr
 B2s6fU3k61toqRcVNmu4yM0l35VTd/ghG6TcW/BQMpbJQJ4MvLH6Utl/rzAEy6E=
 =bV8s
 -----END PGP SIGNATURE-----
 

Add Journal PageCache flush interval control when journalSyncData is disabled

Descriptions of the changes in this PR:
### Motivation
There was a weird behavior observed: when journalSyncData is disabled, it will trigger callbacks when the data is flushed to filesystem(PageCache) but still enqueue a fsync request to force write queue to fsync PageCache data to disk frequently. Though the fsync thread dequeue fsync request and execute fsync operation asynchronously, it still cause disk io util increase when fsync frequency high enough. when disk io util increase, especially reach 100%, it will block new journal file creation and lead to journal sync time increases to mutiple seconds.

### Changes
when journalSyncData is disabled, we introduce `journalPageCacheFlushIntervalMSec` to control journal PageCache flush frequency to reduce disk io util, default value is 1000ms

Reviewers: Enrico Olivelli <eolivelli@gmail.com>, Jia Zhai <zhaijia@apache.org>, Sijie Guo <None>

This closes #2287 from hangc0276/bugfix