On Fri, Aug 5, 2016 at 9:05 AM, Venkateswara Rao Jujjuri <[email protected]> wrote:
> Hi Enrico, > All are valid points, and wondering if we need to have > more offered from BookKeeper itself. May be we need to open a Jira for > this, and also wondering how > production deployments are dealing with this real issue. > > > - Right now I believe our GC strategy is very basic: Major compaction, > Minor Compaction with interval and %of reclamation. > - User defined % of disk space max before going into readOnly; and no real > exit strategy once we are there. > - How do we keep the ZK cookie valid even when we "add" ledger storage, > which can be an exit strategy. > > - Compaction: Add Low Water Mark(LWM) and High Water Mark(HWM) to the disk > space. Have different compaction frequency and reclaim %s when the disk > space is < low water mark , > LWM < HWM, > HWM. > - Add more intelligence to the major and minor compaction when it can run. > Based on system load, and time of the day etc. > - Have an option to keep 1 Ledger File size disk 'reserved' for exist > strategy. > - Make cookie computation so that cookie won't change when storage is > added. > > Anything more? If we agree we can open one or more Jira tickets and work on > these. > +1 Look great to me. > > Thanks, > JV > > On Thu, Aug 4, 2016 at 11:40 PM, Enrico Olivelli - Diennea < > [email protected]> wrote: > > > Hi Charan, > > I think that the main problem is that GC need some disk space and cannot > > be performed if disks are full. > > > > Usually it is better to keep disk space under monitoring using external > > tools (Zabbix...) and prevent the system to be in that situation. > > > > You can also keep on your disks some "parachute" to have the ability to > > free up some space during emergency or at least remove some logs > > > > Maybe we can think to implement a way to configure a set of > > emergency-directories to be used for GC operations as tmp space > > > > > > Il giorno gio, 04/08/2016 alle 14.12 -0700, Charan Reddy G ha scritto: > > > > Hi, > > > > in LedgerDirsListener of InterleavedLedgerStorage, if the configured > value > > of isForceGCAllowWhenNoSpace is false, then when all disks are full, we > are > > suspending both Major and Minor GC. I'm wondering what is the exit > strategy > > from here? how will we come out of Readonly mode? Since we suspended both > > Major and Minor GC even deleting Ledgers wouldn't help > > > > @Override > > > > *public* *void* allDisksFull() { > > > > *if* (gcThread.isForceGCAllowWhenNoSpace) { > > > > gcThread.enableForceGC(); > > > > } *else* { > > > > gcThread.suspendMajorGC(); > > > > gcThread.suspendMinorGC(); > > > > } > > > > } > > Thanks, > > Charan > > > > > > -- > > Enrico Olivelli > > Software Development Manager @Diennea > > Tel.: (+39) 0546 066100 - Int. 925 > > Viale G.Marconi 30/14 - 48018 Faenza (RA) > > > > MagNews - E-mail Marketing Solutions > > http://www.magnews.it > > Diennea - Digital Marketing Solutions > > http://www.diennea.com > > > > > > ________________________________ > > > > Iscriviti alla nostra newsletter per rimanere aggiornato su digital ed > > email marketing! http://www.magnews.it/newsletter/ > > > > The information in this email is confidential and may be legally > > privileged. If you are not the intended recipient please notify the > sender > > immediately and destroy this email. Any unauthorized, direct or indirect, > > disclosure, copying, storage, distribution or other use is strictly > > forbidden. > > > > > > -- > Jvrao > --- > First they ignore you, then they laugh at you, then they fight you, then > you win. - Mahatma Gandhi >
