Object replicator breaks when running object replicator with no objects on the server

Bug #767809 reported by gholt on 2011-04-20
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Object Storage (swift)

Bug Description

Adding the following eventlet.sleep seems to fix the problem (it seems spawning stuff and then killing it before it every gets any cycles causes problems):

    def replicate(self):
        """Run a replication pass"""
        self.start = time.time()
        self.suffix_count = 0
        self.suffix_sync = 0
        self.suffix_hash = 0
        self.replication_count = 0
        self.last_replication_count = -1
        self.partition_times = []
        stats = eventlet.spawn(self.heartbeat)
        lockup_detector = eventlet.spawn(self.detect_lockups)
        eventlet.sleep() # <------------------------ This is the added line

Related branches

gholt (gholt) wrote :

Workaround is to start the object replicator once there are some objects to replicate.

Changed in swift:
status: New → Confirmed
assignee: nobody → gholt (gholt)
gholt (gholt) wrote :

Also, this doesn't seem to happen with the latest eventlet.

Changed in swift:
importance: Undecided → High
gholt (gholt) on 2011-04-20
Changed in swift:
status: Confirmed → In Progress
Changed in swift:
status: In Progress → Fix Committed
Thierry Carrez (ttx) on 2011-05-31
Changed in swift:
milestone: none → 1.4.0
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers