Re: Blocking rados_* calls

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

 



On Thu, 10 Oct 2013, Wido den Hollander wrote:
> Hi,
> 
> Currently librados blocks all calls when something is not working inside the
> Ceph cluster.
> 
> This is common practice for fopen(), fread() and fwrite(), but I'm running
> into a use-case where I think the rados_connect() should not block
> indefinitely.
> 
> The use-case here is the RBD storage pool in libvirt. When for whatever reason
> libvirt is not able to connect to the Ceph cluster libvirt will simply block
> and wait on rados_connect() to complete.
> 
> This causes libvirt not being able to report new statistics about the RBD
> storage pool, which causes issues again for the applications using it.
> 
> Would it be an idea that you can configure librados not to block indefinitely
> and return for example ETIMEDOUT?
> 
> By default librados could stay blocking like it's now so nothing changes for
> existing users.

Yeah I think this is definitely doable.  The simplest would be to have a 
configurable (or configurables) that are set via rados_conf_set() (or put 
in the config).  There are several timeouts there already, but I think 
they don't capture the entire connect sequence.

Want to open a feature ticket?

sage
--
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