[ 
https://issues.apache.org/jira/browse/CASSANDRA-16053?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Brandon Williams updated CASSANDRA-16053:
-----------------------------------------
    Reviewers: Brandon Williams, Ekaterina Dimitrova  (was: Ekaterina Dimitrova)

> cqlsh COPY functions broken in Python 3.8 on Mac
> ------------------------------------------------
>
>                 Key: CASSANDRA-16053
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-16053
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Tool/cqlsh
>            Reporter: Adam Holmberg
>            Assignee: Adam Holmberg
>            Priority: Normal
>             Fix For: 4.0-beta2
>
>
> {noformat}
> aholmberg-rmbp16:cassandra adamholmberg$ pyenv shell
> 3.8.2
> aholmberg-rmbp16:cassandra adamholmberg$ bin/cqlsh --debug
> Using CQL driver: <module 'cassandra' from 
> '/Users/adamholmberg/code/cassandra/bin/../lib/cassandra-driver-internal-only-3.23.0.post0-1a184b99.zip/cassandra-driver-3.23.0.post0-1a184b99/cassandra/__init__.py'>
> Using connect timeout: 5 seconds
> Using 'utf-8' encoding
> Using ssl: False
> Connected to Test Cluster at 127.0.0.1:9042.
> [cqlsh 5.0.1 | Cassandra 4.0-beta2-SNAPSHOT | CQL spec 3.4.5 | Native 
> protocol v4]
> Use HELP for help.
> cqlsh> copy test.testcopyto to 'asdf';
> Detected 12 core(s)
> Using 11 child processes
> Starting copy of test.testcopyto with columns [a, b, c, d].
> Traceback (most recent call last):
>   File "/Users/adamholmberg/code/cassandra/bin/cqlsh.py", line 937, in onecmd
>     self.handle_statement(st, statementtext)
>   File "/Users/adamholmberg/code/cassandra/bin/cqlsh.py", line 974, in 
> handle_statement
>     return custom_handler(parsed)
>   File "/Users/adamholmberg/code/cassandra/bin/cqlsh.py", line 1563, in 
> do_copy
>     task.run()
>   File 
> "/Users/adamholmberg/code/cassandra/bin/../pylib/cqlshlib/copyutil.py", line 
> 669, in run
>     self.start_processes()
>   File 
> "/Users/adamholmberg/code/cassandra/bin/../pylib/cqlshlib/copyutil.py", line 
> 471, in start_processes
>     process.start()
>   File 
> "/Users/adamholmberg/.pyenv/versions/3.8.2/lib/python3.8/multiprocessing/process.py",
>  line 121, in start
>     self._popen = self._Popen(self)
>   File 
> "/Users/adamholmberg/.pyenv/versions/3.8.2/lib/python3.8/multiprocessing/context.py",
>  line 224, in _Popen
>     return _default_context.get_context().Process._Popen(process_obj)
>   File 
> "/Users/adamholmberg/.pyenv/versions/3.8.2/lib/python3.8/multiprocessing/context.py",
>  line 283, in _Popen
>     return Popen(process_obj)
>   File 
> "/Users/adamholmberg/.pyenv/versions/3.8.2/lib/python3.8/multiprocessing/popen_spawn_posix.py",
>  line 32, in __init__
>     super().__init__(process_obj)
>   File 
> "/Users/adamholmberg/.pyenv/versions/3.8.2/lib/python3.8/multiprocessing/popen_fork.py",
>  line 19, in __init__
>     self._launch(process_obj)
>   File 
> "/Users/adamholmberg/.pyenv/versions/3.8.2/lib/python3.8/multiprocessing/popen_spawn_posix.py",
>  line 47, in _launch
>     reduction.dump(process_obj, fp)
>   File 
> "/Users/adamholmberg/.pyenv/versions/3.8.2/lib/python3.8/multiprocessing/reduction.py",
>  line 60, in dump
>     ForkingPickler(file, protocol).dump(obj)
> TypeError: cannot pickle '_thread.lock' object
> cqlsh>
> {noformat}
> multiprocessing uses a different default start method on Mac, and pickling 
> fails trying to serialize the Cluster object.
> https://github.com/python/cpython/blob/db098bc1f05bd0773943e59f83489f05f28dedf8/Lib/multiprocessing/context.py#L313-L318
> https://bugs.python.org/issue33725



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to