[ 
https://issues.apache.org/jira/browse/CASSANDRA-18088?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17648181#comment-17648181
 ] 

Brandon Williams edited comment on CASSANDRA-18088 at 12/15/22 5:53 PM:
------------------------------------------------------------------------

In the image with dependencies I didn't update the source, so it was still 
built from the apache repo.  I've corrected that and uploaded the new image.

There's another problem, though.  Circle runs 'cqlsh_dtests' with the dtest 
runner and the [regex flag with 
'cql'|https://github.com/apache/cassandra/blob/trunk/.circleci/config-2_1.yml#L2160]
 passed to it, which effectively means that cqlsh and the dtest repo must move 
in lockstep with regard to the python version.  If 3.11 support is added to 
cqlsh, because of this, it has to be added to the dtests as well.

I looked into updating the dtests and that is going to be significant work 
worthy of its own ticket (to begin with, pytest has to be updated.)  I think we 
should not block having cqlsh work based upon what will work with the dtests, 
and instead make circle work more like Jenkins does to run the cqlsh tests.


was (Author: brandon.williams):
In the image with dependencies I didn't update the source, so it was still 
built from the apache repo.  I've corrected that and uploaded the new image.

There's another problem, though.  Circle runs 'cqlsh_dtests' with the dtest 
runner and the [regex flag with 
'cql'|https://github.com/apache/cassandra/blob/trunk/.circleci/config-2_1.yml#L2160]
 passed to it, which effectively means that cqlsh and the dtest repo must move 
in lockstep with regard to the python version.  If 3.11 support is added to 
cqlsh, because of this, it has to be added to the dtests as well.

I looked into updating the dtests and that is going to be significant work 
worth of its own ticket (to begin with, pytest has to be updated.)  I think we 
should not block having cqlsh work based upon what will work with the dtests, 
and instead make circle work more like Jenkins does to run the cqlsh tests.

> cqlsh - module 're' has no attribute 'sre_parse' - with Python 3.11
> -------------------------------------------------------------------
>
>                 Key: CASSANDRA-18088
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-18088
>             Project: Cassandra
>          Issue Type: Bug
>          Components: CQL/Interpreter
>            Reporter: Aaron Ploetz
>            Assignee: Brandon Williams
>            Priority: Normal
>             Fix For: 4.0.x, 4.1.x, 4.x
>
>
> User reported an error with cqlsh (Cassandra 4.0.7) on Stack Overflow: 
> [https://stackoverflow.com/questions/74673247/cannot-able-to-run-cqlsh-due-to-python-attribute-error|https://stackoverflow.com/questions/74673247/cannot-able-to-run-cqlsh-due-to-python-attribute-error?noredirect=1#comment131807816_74673247]
>  
> Found out that the user was using Python 3.11, and I was able to reproduce it 
> with that.
> {{% python3.11 bin/cqlsh.py}}
> {{Traceback (most recent call last):}}
> {{  File "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/cqlsh.py", line 
> 159, in <module>}}
> {{    from cqlshlib import cql3handling, cqlhandling, pylexotron, 
> sslhandling, cqlshhandling}}
> {{  File 
> "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/../pylib/cqlshlib/cql3handling.py",
>  line 19, in <module>}}
> {{    from cqlshlib.cqlhandling import CqlParsingRuleSet, Hint}}
> {{  File 
> "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/../pylib/cqlshlib/cqlhandling.py",
>  line 23, in <module>}}
> {{    from cqlshlib import pylexotron, util}}
> {{  File 
> "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/../pylib/cqlshlib/pylexotron.py",
>  line 342, in <module>}}
> {{    class ParsingRuleSet:}}
> {{  File 
> "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/../pylib/cqlshlib/pylexotron.py",
>  line 343, in ParsingRuleSet}}
> {{    RuleSpecScanner = SaferScanner([}}
> {{                      ^^^^^^^^^^^^^^}}
> {{  File 
> "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/../pylib/cqlshlib/saferscanner.py",
>  line 91, in _{_}init{_}_}}
> {{    s = re.sre_parse.State()}}
> {{        ^^^^^^^^^^^^}}
> {{AttributeError: module 're' has no attribute 'sre_parse'}}
> Appears to be something specific (again) with Python's synchronizing regex 
> engine (SRE).  Works fine with Python 3.10, so there may have been a(nother) 
> breaking change in that the re module with 3.11.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to