Commit abdf1fb
David Scott
stunnel: work around INTERNAL_ERROR: s_poll_wait returned 0, but no descriptor is ready
When performing a storage migration we see a Tar.Header checksum
mismatch during the initial remote metadata import. The sequence
seems to be:
* ubuntu opens remote SSL connection
* ubuntu writes HTTP PUT
* ubuntu proxies from a local HTTP GET
-- this appears successful since the right amount of data is
written to the socket as reported by the debug in the log
* ubuntu closes the file descriptor to stunnel
* stunnel logs an internal error:
INTERNAL ERROR: s_poll_wait returned 0, but no descriptor is ready
* the receiver only receives the HTTP PUT header, not the payload
-- as measured by tcpdump
The problem only manifests when stunnel is used. The problem goes
away when the timing changes, for example when running xapi under
strace.
We work around this by sending the metadata plaintext. The problem
doesn't manifest using the stunnel version on CentOS.
stunnel versions
On ubuntu raring: 4.53
On CentOS 6.4: 4.29-2
Signed-off-by: David Scott <[email protected]>1 parent 7fdb9cd commit abdf1fb
1 file changed
+2
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
257 | 257 | | |
258 | 258 | | |
259 | 259 | | |
260 | | - | |
261 | | - | |
| 260 | + | |
| 261 | + | |
262 | 262 | | |
263 | 263 | | |
264 | 264 | | |
| |||
0 commit comments