Re: [hammer][monitor]change ceph tell mon compact command to run asynchronously

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, May 14, 2018 at 2:20 AM, xiangyang yu <penglaiyxy@xxxxxxxxx> wrote:
> Hi cephers,
>
> I have met a monitor problem with capacity too large in our production
> environment.
>
> This logical volume for monitor is 100GB, the capacity can grow to
> 95GB, and then go down. Sometimes, the monitor process
>
> can not start ,we have to rebuild the monitor.
>
> Then we set a crontab task, every week we compact the monitor at a
> assigned point time. The command is "ceph tell mon.xx
>
> compact", While the monitor is compacting(it can last for 80 seconds),
> the monitor is down by lease timeout. When the
>
> compact  task complete, the monitors vote again ,the monitor is up and active.
>
> In monitor message dispatch code, while one command is executing , it
> must have the dispatch lock. So indeed  all command
>
> are executing synchronously.  If one command is executing for long
> time, others command must wait.
>
> So I change the monitor tell compact  command to just add a
> task(compact range(0,0)) to the monitor compact thread to
>
> execute the compact  task, so the monitor tell compact command can
> execute immediately.
>
> PATCH:
> https://github.com/penglaiyxy/ceph/commit/86bcfd2ccb349ccc05512d8df9deaf9b368524db
>
>
> I have test the patch, no monitor down, no message  block, everything work fine.
>
> Glad to receive any ideas!

This looks okay at a glance; can you submit it as a PR? It's easier to
tag in the right people and keep a comment history that way. :)
-Greg
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux