Discussion:
[wal-e] Horribly weird error from boto
f***@gmail.com
2017-01-06 21:35:16 UTC
Permalink
After testing wal-e successfully on a test cluster, I've added it to
production, with less charming (for me) results.
I'm trying to store to S3.

I get a internal explosion from gevent.
TypeError: memoryview: str object does not have the buffer interface

I added the full output further down.

Same thing occurs if I try 'backup-list'

1) The immediate suspect is that the postgres box there has no outgoing
connectivity except via proxy.
2) The proxy _is_ set in the environment for my env-loading wrapper.
3) after somewhat hopeless confusion I found out that this is using "boto"
version 2 which seems to not notice any envvars you set.
It should read a .boto file though, so I also created that and set a proxy
in there.
Either it's not reading that or I have another problem.

Can anyone translate the error for me?

Thank you,
Florian


Here's the debugging info:


pip tells me I have the following versions of things:

boto (2.45.0)

gevent (1.2.0)

greenlet (0.4.11)

pip (8.1.2)

setuptools (19.2)

wal-e (1.0.3)

It's on Centos7 with python 3.4.5

Fri Jan 6 21:24:09 2017 <Greenlet at 0x7f8d35488e88:
<wal_e.worker.upload.WalUploader object at
0x7f8d35575080>(<wal_e.worker.pg.wal_transfer.WalSegment object at)> failed
with TypeError


wal_e.main CRITICAL MSG: An unprocessed exception has avoided all error
handling

DETAIL: Traceback (most recent call last):

File "/usr/lib/python3.4/site-packages/wal_e/cmd.py", line 641,
in main

concurrency=args.pool_size)

File "/usr/lib/python3.4/site-packages/wal_e/operator/backup.py",
line 283, in wal_archive

group.join()

File
"/usr/lib/python3.4/site-packages/wal_e/worker/pg/wal_transfer.py", line
144, in join

raise val

File "/usr/lib64/python3.4/site-packages/gevent/greenlet.py",
line 536, in run

result = self._run(*self.args, **self.kwargs)

File "/usr/lib/python3.4/site-packages/wal_e/worker/upload.py",
line 53, in __call__

self.gpg_key_id)

File
"/usr/lib/python3.4/site-packages/wal_e/worker/worker_util.py", line 40, in
do_lzop_put

k = blobstore.uri_put_file(creds, url, tf)

File
"/usr/lib/python3.4/site-packages/wal_e/blobstore/s3/s3_util.py", line 57,
in uri_put_file

k.set_contents_from_file(fp, encrypt_key=True)

File "/usr/lib/python3.4/site-packages/boto/s3/key.py", line
1293, in set_contents_from_file

chunked_transfer=chunked_transfer, size=size)

File "/usr/lib/python3.4/site-packages/boto/s3/key.py", line 750,
in send_file

chunked_transfer=chunked_transfer, size=size)

File "/usr/lib/python3.4/site-packages/boto/s3/key.py", line 951,
in _send_file_internal

query_args=query_args

File "/usr/lib/python3.4/site-packages/boto/s3/connection.py",
line 668, in make_request

retry_handler=retry_handler

File "/usr/lib/python3.4/site-packages/boto/connection.py", line
1071, in make_request

retry_handler=retry_handler)

File "/usr/lib/python3.4/site-packages/boto/connection.py", line
913, in _mexe

self.is_secure)

File "/usr/lib/python3.4/site-packages/boto/connection.py", line
705, in get_http_connection

return self.new_http_connection(host, port, is_secure)

File "/usr/lib/python3.4/site-packages/boto/connection.py", line
747, in new_http_connection

connection = self.proxy_ssl(host, is_secure and 443 or 80)

File "/usr/lib/python3.4/site-packages/boto/connection.py", line
796, in proxy_ssl

sock.sendall("CONNECT %s HTTP/1.0\r\n" % host)

File "/usr/lib64/python3.4/site-packages/gevent/_socket3.py",
line 408, in sendall

data_memory = _get_memory(data)

File "/usr/lib64/python3.4/site-packages/gevent/_socket3.py",
line 35, in _get_memory

mv = memoryview(data)

TypeError: memoryview: str object does not have the buffer interface



STRUCTURED: time=2017-01-06T21:24:09.430205-00 pid=22866
--
You received this message because you are subscribed to the Google Groups "wal-e" group.
To unsubscribe from this group and stop receiving emails from it, send an email to wal-e+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Loading...