Merge pull request #1650 from majewsky/swift/wait-for-dlo-segments

[Swift] wait for DLO segments to show up when Close()ing the writer
pull/1674/merge
Richard Scothern 2016-05-02 13:41:26 -07:00
commit 5d08dfa70c
1 changed files with 7 additions and 0 deletions

View File

@ -742,6 +742,9 @@ func (w *writer) Close() error {
if err := w.driver.createManifest(w.path, w.driver.Container+"/"+w.segmentsPath); err != nil {
return err
}
if err := w.waitForSegmentsToShowUp(); err != nil {
return err
}
}
w.closed = true
@ -776,10 +779,14 @@ func (w *writer) Commit() error {
}
w.committed = true
return w.waitForSegmentsToShowUp()
}
func (w *writer) waitForSegmentsToShowUp() error {
var err error
waitingTime := readAfterWriteWait
endTime := time.Now().Add(readAfterWriteTimeout)
for {
var info swift.Object
if info, _, err = w.driver.Conn.Object(w.driver.Container, w.driver.swiftPath(w.path)); err == nil {