Why did my Red Hat Storage 2.0 brick die with dict_unserialized errors?

Solution In Progress - Updated -

Environment

Red Hat Storage 2.0

Issue

A Red Hat Storage 2.0 glusterd process had to be restarted to bring a brick back off line after seeing dict_unserialize errors in the logs.

Resolution

Upgrade to Red Hat Storage 2.1 or 3.0

Root Cause

There was a known bug where the process would fail when it encountered less than expected buffer sizes when writing.

Diagnostic Steps

When an undersized buffer passed error appears with a glusterfs 3.3.* track as below

/usr/lib64/glusterfs/3.3.0/xlator/protocol/server.so(server_writev+0x24b) [0x7fe26231c3cb]))) 0-dict: undersized buffer passed. available (XXX) < required (YYY)

this is likely the culprit.

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.