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

Bug #767809 reported by gholt
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Object Storage (swift)
Fix Released
High
gholt

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
        try:

Related branches

Revision history for this message
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)
Revision history for this message
gholt (gholt) wrote :

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

Changed in swift:
importance: Undecided → High
gholt (gholt)
Changed in swift:
status: Confirmed → In Progress
Changed in swift:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.