~ubuntu-branches/ubuntu/trusty/swift/trusty-updates

« back to all changes in this revision

Viewing changes to swift/common/ring/ring.py

  • Committer: Package Import Robot
  • Author(s): Chuck Short
  • Date: 2013-01-28 09:40:30 UTC
  • mfrom: (1.2.16)
  • Revision ID: package-import@ubuntu.com-20130128094030-aetz57x2qz9ye2d4
Tags: 1.7.6-0ubuntu1
New upstream release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
182
182
        """
183
183
        return getmtime(self.serialized_path) != self._mtime
184
184
 
 
185
    def _get_part_nodes(self, part):
 
186
        seen_ids = set()
 
187
        return [self._devs[r[part]] for r in self._replica2part2dev_id
 
188
                if not (r[part] in seen_ids or seen_ids.add(r[part]))]
 
189
 
185
190
    def get_part_nodes(self, part):
186
191
        """
187
192
        Get the nodes that are responsible for the partition. If one
196
201
 
197
202
        if time() > self._rtime:
198
203
            self._reload()
199
 
        seen_ids = set()
200
 
        return [self._devs[r[part]] for r in self._replica2part2dev_id
201
 
                if not (r[part] in seen_ids or seen_ids.add(r[part]))]
 
204
        return self._get_part_nodes(part)
202
205
 
203
206
    def get_nodes(self, account, container=None, obj=None):
204
207
        """
232
235
        if time() > self._rtime:
233
236
            self._reload()
234
237
        part = struct.unpack_from('>I', key)[0] >> self._part_shift
235
 
        seen_ids = set()
236
 
        return part, [self._devs[r[part]] for r in self._replica2part2dev_id
237
 
                      if not (r[part] in seen_ids or seen_ids.add(r[part]))]
 
238
        return part, self._get_part_nodes(part)
238
239
 
239
240
    def get_more_nodes(self, part):
240
241
        """