swift-init fails with TypeError: reduce() of empty sequence with no initial value
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Object Storage (swift) |
Fix Released
|
High
|
Unassigned |
Bug Description
While running latest devstack I've encountered the following error:
2017-07-31 08:19:47.008 | +lib/swift:
2017-07-31 08:19:47.024 | +lib/swift:
2017-07-31 08:19:59.122 | Starting container-
2017-07-31 08:19:59.122 | Starting account-
2017-07-31 08:19:59.122 | Starting object-
2017-07-31 08:19:59.122 | Starting container-
2017-07-31 08:19:59.122 | Starting object-
2017-07-31 08:19:59.123 | Unable to locate config for object-expirer
2017-07-31 08:19:59.123 | Starting container-
2017-07-31 08:19:59.123 | Starting account-
2017-07-31 08:19:59.123 | Starting account-
2017-07-31 08:19:59.123 | Starting container-
2017-07-31 08:19:59.123 | Starting object-
2017-07-31 08:19:59.123 | Unable to locate config for container-
2017-07-31 08:19:59.123 | Starting object-
2017-07-31 08:19:59.123 | Traceback (most recent call last):
2017-07-31 08:19:59.123 | File "/usr/local/
2017-07-31 08:19:59.123 | exec(compile(
2017-07-31 08:19:59.123 | File "/opt/stack/
2017-07-31 08:19:59.124 | run_daemon(
2017-07-31 08:19:59.124 | File "/opt/stack/
2017-07-31 08:19:59.124 | DaemonStrategy(
2017-07-31 08:19:59.124 | File "/opt/stack/
2017-07-31 08:19:59.124 | self.all_
2017-07-31 08:19:59.124 | File "/opt/stack/
2017-07-31 08:19:59.124 | for devices in policy2devices.
2017-07-31 08:19:59.124 | TypeError: reduce() of empty sequence with no initial value
Changed in swift: | |
status: | New → Confirmed |
importance: | Undecided → High |
Bug introduced here https:/ /review. openstack. org/478416
Fix proposed here https:/ /review. openstack. org/#/c/ 489133/ 1 and here https:/ /review. openstack. org/#/c/ 489112/
The TypeError will be raised when the object- reconstructor is run and no EC policies are configured. When there are no EC policies, the object- reconstructor has no work to do, so no data is 'at risk'. Nevertheless the TypeError should be fixed.