tree 472810b91bc8662634e0f51b8db0decdcb89713a
parent ae023fd5fab1f015229e475de106df46144bd4d0
author Kevin Wilson <klwilson227@comcast.net> 1617681777 -0600
committer GitHub <noreply@github.com> 1617681777 +0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJga91xCRBK7hj4Ov3rIwAAdHIIAIdaYb0s4OYAbKBJwrrhzF9C
 IVX0IIyRQUpwMLhKbl9Paj9nuHl70U996YnLtHJNpfqx/WpXENi2QH7ZIPXRCTyc
 P9NDTVwvOcRF0sekUvDtc+DUPkz1K525kc4n8Mz96kZEMlxF+whtLZhCsqFmZo7k
 olr/jrp6Azppesp1zUXTSzDQ4uHg0vJH/5hBNUKSJfp7Y30PLdvt1LB57uAb00iJ
 R17sUie7EcUjxWeP5J+dUR50ZmMsZsjlgFS0x0DMI5QxAknlKXDW0IKPVxDEWFAc
 Zb+EBDACXNxK1Q272wHG2lXP1MP+yf5c4MLKm7T2JFXyAX19i3WTJx4BWstm13U=
 =aarA
 -----END PGP SIGNATURE-----
 

Fix logic in Bookkeeper forceAllowCompaction to run only when force is set or configured interval (#2675)

Without the attached fix, when forceAllowCompaction and isForceGCAllowWhenNoSpace are set. The majorCompaction runs with every garbage collection. This results due to the fact that enableMajorCompaction which takes a negative interval into account to disable compaction always returns true since the difference in time will always be larger than -1. The time check must be "and" with the enableMajorCompaciton for the time check to be valid. And the force flag may also be valid when the isForce(Major/Minor)CompactionAllow is set to true which will validate the threshold in the force case is set.