Comments (10)
Any Update for this issue? @rusackas
from superset.
Nope, but I'm highly doubtful that many people have 20K values in their "in" clause. Normally you would keep that many values in a table, and just do a JOIN or other (far more terse) query. Is that possible in your case? You might just be sending far too much text to the SQL parser or something like that, causing some bottleneck/timeout, which seems like a rare and avoidable edge case.
Here's what GPT has to say about your issue, in case you want to investigate some more:
The error you're encountering in Apache Superset seems to be originating from an SSL error during the HTTPS connection attempt to your PrestoDB server. The error message "EOF occurred in violation of protocol" typically indicates a lower-level issue with the SSL/TLS handshake between Superset and your PrestoDB server.
Here are several steps and checks you can perform to troubleshoot and potentially resolve this issue:
- Verify SSL Configuration: Check the SSL configuration on the PrestoDB server. Ensure that the SSL certificate is correctly installed, valid, and not expired. Verify that the server is configured to use TLS protocols supported by the client (Superset in this case).
- Check Network Issues: Since the error message includes "Max retries exceeded," it's also worth checking if there are any network connectivity issues between the Superset instance and the PrestoDB server. You can test connectivity using tools like ping or curl to ensure there are no intermittent network issues or firewalls blocking the connection.
- Update Dependencies: Ensure that the Python libraries related to networking and HTTP requests (requests, urllib3) are up to date. Sometimes, older versions of these libraries might have bugs or incompatibilities with certain SSL/TLS configurations.
- Adjust SSL/TLS Settings in Superset: If the SSL issue persists, you can try adjusting the SSL settings in your Superset configuration. For example, you might adjust the SSL verification settings temporarily to see if that allows the connection to succeed (not recommended for production environments due to security concerns).
- Increase Timeout and Retries: The error mentions that maximum retries have been exceeded. You can increase the timeout and retry settings in Superset's configuration to allow more time for the connection to be established, especially if the server is under heavy load or slow to respond.
- Review Superset Logs: Further investigate any additional log entries around the time of the error to see if there are more detailed messages that might indicate the root cause. This could provide more context on why the SSL/TLS handshake is failing.
- Simplify the Query: Since the error occurs when a large number of values are used in the IN clause of your SQL query, test with a smaller set of values to determine if the issue is related to the size of the request. If the smaller query succeeds, the issue might be related to how large queries are handled or transmitted over the network.
To proceed, you might start with the simpler checks (like verifying network connectivity and SSL certificates) and then move towards more complex configurations and adjustments as needed.
from superset.
Thanks @rusackas : I am trying to upgrade to superset-3.1.2 in the hope to over come both the Trino issue (#26768) and this SSLError issue.
Could you please provide me the requirements.txt file required for superset-3.1.2 ? This would be a great help.
Thanks in advance
from superset.
@rusackas : I tried with superset-3.1.2 but still I am getting the "SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:2427)')))""
One another point I would like to mention is :
---- The same query with 20k values in IN clause works perfect in superset-1.5.2
---- In Superset-3.1.2 the query works well with limited values say 2k values in IN clause. but fails with 20K values.
I am using the below requirement.txt file.
alembic==1.12.0
amqp==5.1.1
apache-superset==3.1.2
apispec==6.3.0
async-timeout==4.0.3
attrs==23.1.0
Babel==2.13.0
backoff==2.2.1
bcrypt==4.0.1
billiard==4.1.0
blinker==1.6.3
Brotli==1.1.0
#cachelib==0.8.0
cachelib==0.9.0
celery==5.3.4
certifi==2023.7.22
cffi==1.16.0
click==8.1.7
click-didyoumean==0.3.0
click-option-group==0.5.6
click-plugins==1.1.1
click-repl==0.3.0
colorama==0.4.6
convertdate==2.4.0
cron-descriptor==1.4.0
croniter==1.4.1
#cryptography==39.0.2
cryptography==42.0.4
Deprecated==1.2.14
deprecation==2.1.0
dnspython==2.4.2
email-validator==1.3.1
exceptiongroup==1.1.3
Flask==2.3.3
#Flask-AppBuilder==4.3.7
Flask-AppBuilder==4.4.1
Flask-Babel==2.0.0
#Flask-Caching==1.11.1
Flask-Caching==2.1.0
Flask-Compress==1.14
Flask-JWT-Extended==4.5.3
Flask-Login==0.6.2
Flask-LDAP==0.1.5
Flask-Migrate==3.1.0
Flask-SQLAlchemy==2.5.1
flask-talisman==1.1.0
Flask-WTF==1.2.1
Flask-SimpleLDAP==1.3.3
func-timeout==4.3.5
geographiclib==2.0
python-ldap==3.3.1
geopy==2.4.0
gevent==23.9.1
greenlet==3.0.0
#gunicorn==20.1.0
gunicorn==21.2.0
h11==0.14.0
hashids==1.3.1
hijri-converter==2.3.1
#holidays==0.23
holidays==0.25
humanize==4.8.0
idna==3.4
importlib-metadata==6.8.0
importlib-resources==6.1.0
isodate==0.6.1
itsdangerous==2.1.2
Jinja2==3.1.2
jsonschema==4.19.1
jsonschema-specifications==2023.7.1
kombu==5.3.2
korean-lunar-calendar==0.3.1
limits==3.6.0
Mako==1.2.4
Markdown==3.5
markdown-it-py==3.0.0
MarkupSafe==2.1.3
marshmallow==3.20.1
marshmallow-sqlalchemy==0.26.1
mdurl==0.1.2
msgpack==1.0.7
mysqlclient==2.1.0
nh3==0.2.14
numpy==1.23.5
ordered-set==4.1.0
outcome==1.2.0
packaging==21.3
#pandas==1.5.3
pandas==2.0.3
#paramiko==3.3.1
paramiko==3.4.0
parsedatetime==2.6
pgsanity==0.2.9
Pillow==10.0.1
polyline==2.0.1
prison==0.2.1
prompt-toolkit==3.0.39
#pyarrow==12.0.1
pyarrow==14.0.1
pycparser==2.21
Pygments==2.16.1
PyJWT==2.8.0
PyMeeus==0.5.12
PyNaCl==1.5.0
pyparsing==3.1.1
PySocks==1.7.1
python-dateutil==2.8.2
python-dotenv==1.0.0
python-geohash==0.8.5
pytz==2023.3.post1
PyYAML==6.0.1
redis==4.6.0
referencing==0.30.2
rich==13.6.0
rpds-py==0.10.4
selenium==4.9.1
shortid==0.1.2
simplejson==3.19.2
six==1.16.0
slack-sdk==3.23.0
sniffio==1.3.0
sortedcontainers==2.4.0
SQLAlchemy==1.4.49
SQLAlchemy-Utils==0.38.3
sqlparse==0.4.4
sshtunnel==0.4.0
tabulate==0.8.10
trio==0.22.2
trio-websocket==0.11.1
typing_extensions==4.8.0
tzdata==2023.3
#urllib3==2.0.6
urllib3==2.2.1
vine==5.0.0
wcwidth==0.2.8
Werkzeug==2.3.7
wrapt==1.15.0
wsproto==1.2.0
WTForms==3.0.1
WTForms-JSON==0.3.5
XlsxWriter==3.0.9
zipp==3.17.0
zope.event==5.0
zope.interface==6.1
environs==9.3.3
PyHive[presto]==0.6.4
pydruid==0.6.2
elasticsearch-dbapi==0.2.10
sqlalchemy-trino==0.5.0
thrift==0.16.0
trino==0.326.0
requests==2.31.0
requests-kerberos==0.14.0
pykerberos==1.2.4
pipdeptree==2.10.0
It would be great if you provide me the requirements.txt file required for superset-3.1.2.
Thanks in advance.
from superset.
@rusackas : Could you please help me with the compatible trino version with superset-3.1.2?
This is a compatible issue as suggested by chat gpt.
from superset.
Related Issues (20)
- Charts duplicating in tabs HOT 5
- Embeded Dashboards Not Using RLS in multiple Tabs
- Unexpected Error on SQL Lab HOT 3
- Bar chart - Impossible to maintain consistent bar width with sparse data HOT 2
- Table does not adjust `Show Totals` calculation when typing to search for values via the Search Bar HOT 1
- Getting message "Access is Denied" On Superset login page and logout page HOT 1
- superset_text.yml not loading the PREFERRED_DATABASES icons HOT 1
- Cannot load filter Error: ORA-00979: not a GROUP BY expression HOT 21
- Humanize not localised HOT 5
- Installation from PyPi, superset db upgrade fails HOT 8
- Superset Guest Token Endpoint Only is not Working My URL - ( https://superset.mysite.com/api/v1/security/guest_token ) HOT 3
- Remove `can csv upload`, `can excel upload`, `can columnar upload` in favour of just `can upload on Database`
- Slack API `files.upload` v1 deprecation HOT 6
- [SIP-130] Migrating from Mapbox to MapLibre
- MSSQL - ERROR: Could not load database driver: MssqlEngineSpec HOT 5
- superset-frontend proxy is not working when superset backend decides to use zstd encoding HOT 2
- "Can't contact LDAP server HOT 1
- SQL Lab hard fails with "'utf-8' codec can't decode byte 0xe6 in position 0: invalid continuation byte" when reading certain binary types HOT 3
- Installing error HOT 12
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from superset.