[Gluster-devel] GlusterD2 - 4.0.0rc1 (warning: we have a blocker for GD2)

Kaleb S. KEITHLEY kkeithle at redhat.com
Wed Feb 28 16:20:31 UTC 2018


On 02/28/2018 10:49 AM, Kaushal M wrote:
> We have a GlusterD2-4.0.0rc1 release.
> 
> Aravinda, Prashanth and the rest of the GD2 developers have been
> working hard on getting more stuff merged into GD2 before the 4.0
> release.
> 
> At the same time I have been working on getting GD2 packaged for Fedora.
> I've been able to get all the required dependencies updated and have
> submitted to the package maintainer for merging.
> I'm now waiting on the maintainer to accept those updates. Once the
> updates have been accepted, the GD2 spec can get accepted [2].
> I expect this to take at least another week on the whole.
> 
> In the meantime, I've been building all the updated dependencies and
> glusterd2-v4.0.0rc1, on the GD2 copr [3].
> 
> I tried to test out the GD2 package with the GlusterFS v4.0.0rc1
> release from [4]. And this is where I hit the blocker.
> 
> GD2 does not start with the packaged glusterfs-v4.0.0rc1 bits. I've
> opened an issue on the GD2 issue tracker for it [5].
> In short, GD2 fails to read options from xlators, as dlopen fails with
> a missing symbol error.
> 
> ```
> FATA[2018-02-28 15:02:53.345686] Failed to load xlator options
>         error="dlopen(/usr/lib64/glusterfs/4.0.0rc1/xlator/protocol/server.so)
> failed; dlerror =
> /usr/lib64/glusterfs/4.0.0rc1/xlator/protocol/server.so: undefined
> symbol: glusterfs_mgmt_pmap_signout" source="[main.go:79:main.main]"


see https://review.gluster.org/#/c/19225/


glusterfs_mgmt_pmap_signout() is in glusterfsd. When glusterfsd dlopens
server.so the run-time linker can resolve the symbol — for now.

Tighter run-time linker semantics coming in, e.g. Fedora 28, means this
will stop working in the near future even when RTLD_LAZY is passed as a
flag. (As I understand the proposed changes.)

It should still work, e.g., on Fedora 27 and el7 though.

glusterfs_mgmt_pmap_signout() (and glusterfs_autoscale_threads()) really
need to be moved to libglusterfs. ASAP. Doing that will resolve this issue.

-- 

Kaleb


More information about the Gluster-devel mailing list