Comment 3 for bug 1580678

Revision history for this message
Admin6 (jmbonnefond) wrote :

This is a locale related problem. The current locales on the servers are french :

root@STACO4:~# locale
LANG=fr_FR.UTF-8
LANGUAGE=
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=

I've 4 account/Container/Object servers. STACO1 to STACO4, I've changes the locale to LC_ALL=C.UTF-8 on the first 3 of them, keeping STACO4 in french locale, and it works better for the 3 first servers.
Here is a new extract of the logs :

May 12 14:14:32 STACO3 object-replicator: Removing partition: /srv/node/s03z3rpd03/objects/68179
May 12 14:14:33 STACO2 object-replicator: <f+++++++++ c14/b69a972b6a5d9d3ebd9ac81100a07c14/1461846278.46015.data
May 12 14:14:33 STACO2 object-replicator: Successful rsync of /srv/node/s02z2rpd03/objects/186986/c14 at 10.10.2.54::object/s04z4rpd03/objects/186986 (0.178)
May 12 14:14:33 STACO3 object-replicator: <f+++++++++ 220/1276697801d6db7105bf60285bef1220/1463048094.60841.data
May 12 14:14:33 STACO3 object-replicator: Successful rsync of /srv/node/s03z3rpd02/objects/18905/220 at 10.10.2.51::object/s01z1rpd03/objects/18905 (0.160)
May 12 14:14:33 STACO1 object-replicator: <f+++++++++ 00e/19121c65af0d5bbf7b722bf99522500e/1462929131.07914.data
May 12 14:14:33 STACO1 object-replicator: <f+++++++++ 371/19120dab9be4fd00225ac9354bc2f371/1462933315.05776.data
May 12 14:14:33 STACO1 object-replicator: Successful rsync of /srv/node/s01z1rpd03/objects/25672/00e at 10.10.2.53::object/s03z3rpd02/objects/25672 (0.205)
May 12 14:14:33 STACO4 object-replicator: <f+++++++++ 0b8/34ca332fe3fb5912d9e3651b091810b8/1462918769.46525.data
May 12 14:14:33 STACO4 object-replicator: <f+++++++++ 13d/34ca1d594ef57bc7655a10b8344dd13d/1462939069.82513.data
May 12 14:14:33 STACO4 object-replicator: <f+++++++++ 871/34ca369cc1bf011985fca98b295dd871/1462898293.59999.data
May 12 14:14:33 STACO4 object-replicator: STDERR: Traceback (most recent call last):
May 12 14:14:33 STACO4 object-replicator: STDERR: File "/usr/lib/python2.7/logging/handlers.py", line 845, in emit
May 12 14:14:33 STACO4 object-replicator: STDERR: msg = self.format(record) + '\000'
May 12 14:14:33 STACO4 object-replicator: STDERR: File "/usr/lib/python2.7/logging/__init__.py", line 734, in format
May 12 14:14:33 STACO4 object-replicator: STDERR: return fmt.format(record)
May 12 14:14:33 STACO4 object-replicator: STDERR: File "/usr/lib/python2.7/dist-packages/swift/common/utils.py", line 1571, in format
May 12 14:14:33 STACO4 object-replicator: STDERR: record.message = record.getMessage()
May 12 14:14:33 STACO4 object-replicator: STDERR: File "/usr/lib/python2.7/logging/__init__.py", line 329, in getMessage
May 12 14:14:33 STACO4 object-replicator: STDERR: msg = msg % self.args
May 12 14:14:33 STACO4 object-replicator: STDERR: UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 4: ordinal not in range(128)
May 12 14:14:33 STACO4 object-replicator: STDERR: Logged from file replicator.py, line 207
May 12 14:14:33 STACO1 object-replicator: <f+++++++++ afe/b01ca66c72d1814c10610b87d3951afe/1462912647.47272.data
May 12 14:14:33 STACO1 object-replicator: Successful rsync of /srv/node/s01z1rpd01/objects/180338/afe at 10.10.2.54::object/s04z4rpd03/objects/180338 (0.162)

As noticed by Alistair :

Suppression partition suggests locale is French:
https://github.com/openstack/swift/blob/master/swift/locale/fr/LC_MESSAGES/swift.po#L871

which means we'll log this:
https://github.com/openstack/swift/blob/master/swift/locale/fr/LC_MESSAGES/swift.po#L968

"Succès de Rsync pour %(src)s dans %(dst)s (%(time).03f)"

which could be problematic if one of the format args is unicode:

>>> "Succès de Rsync pour %s" % u'foo'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>