You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@superset.apache.org by GitBox <gi...@apache.org> on 2021/06/09 15:42:45 UTC

[GitHub] [superset] pabrahamusa opened a new issue #15065: 500 - Internal Server Error - Searching Saved Query

pabrahamusa opened a new issue #15065:
URL: https://github.com/apache/superset/issues/15065


   A clear and concise description of what the bug is.
   
   SuperSet is throwing following error while searching for saved query with empty name selected
   
   Sorry, something went wrong
   500 - Internal Server Error
   
   
   
   
   ### Expected results
   
   I expect the list of saved query to appear that belongs to everyone and not an error page
   
   ### Actual results
   
   Getting following error:
   ```
   }
   Sorry, something went wrong
   500 - Internal Server Error
   Stacktrace
           Traceback (most recent call last):
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1277, in _execute_context
       cursor, statement, parameters, context
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 593, in do_execute
       cursor.execute(statement, parameters)
   psycopg2.errors.InvalidTextRepresentation: invalid input syntax for integer: "__None"
   LINE 3: WHERE ab_user.id = '__None'
                              ^
   
   
   The above exception was the direct cause of the following exception:
   
   Traceback (most recent call last):
     File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 2447, in wsgi_app
       response = self.full_dispatch_request()
     File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1952, in full_dispatch_request
       rv = self.handle_user_exception(e)
     File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1821, in handle_user_exception
       reraise(exc_type, exc_value, tb)
     File "/usr/local/lib/python3.7/site-packages/flask/_compat.py", line 39, in reraise
       raise value
     File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1950, in full_dispatch_request
       rv = self.dispatch_request()
     File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1936, in dispatch_request
       return self.view_functions[rule.endpoint](**req.view_args)
     File "/usr/local/lib/python3.7/site-packages/flask_appbuilder/security/decorators.py", line 109, in wraps
       return f(self, *args, **kwargs)
     File "/app/superset/views/sql_lab.py", line 84, in list
       return super().list()
     File "/usr/local/lib/python3.7/site-packages/flask_appbuilder/security/decorators.py", line 109, in wraps
       return f(self, *args, **kwargs)
     File "/usr/local/lib/python3.7/site-packages/flask_appbuilder/views.py", line 551, in list
       widgets = self._list()
     File "/usr/local/lib/python3.7/site-packages/flask_appbuilder/baseviews.py", line 1127, in _list
       page_size=page_size,
     File "/usr/local/lib/python3.7/site-packages/flask_appbuilder/baseviews.py", line 1026, in _get_list_widget
       page_size=page_size,
     File "/usr/local/lib/python3.7/site-packages/flask_appbuilder/models/sqla/interface.py", line 425, in query
       count = self.query_count(query, filters, select_columns)
     File "/usr/local/lib/python3.7/site-packages/flask_appbuilder/models/sqla/interface.py", line 347, in query_count
       query, filters, select_columns=select_columns, aliases_mapping={}
     File "/usr/local/lib/python3.7/site-packages/flask_appbuilder/models/sqla/interface.py", line 332, in _apply_inner_all
       query = self.apply_filters(query, inner_filters)
     File "/usr/local/lib/python3.7/site-packages/flask_appbuilder/models/sqla/interface.py", line 187, in apply_filters
       return filters.apply_all(query)
     File "/usr/local/lib/python3.7/site-packages/flask_appbuilder/models/filters.py", line 295, in apply_all
       query = flt.apply(query, value)
     File "/usr/local/lib/python3.7/site-packages/flask_appbuilder/models/sqla/filters.py", line 188, in apply
       rel_obj = self.datamodel.get_related_obj(self.column_name, value)
     File "/usr/local/lib/python3.7/site-packages/flask_appbuilder/models/sqla/interface.py", line 807, in get_related_obj
       return self.session.query(rel_model).get(value)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 1018, in get
       return self._get_impl(ident, loading.load_on_pk_identity)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 1135, in _get_impl
       return db_load_fn(self, primary_key_identity)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/loading.py", line 286, in load_on_pk_identity
       return q.one()
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 3490, in one
       ret = self.one_or_none()
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 3459, in one_or_none
       ret = list(self)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 3535, in __iter__
       return self._execute_and_instances(context)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 3560, in _execute_and_instances
       result = conn.execute(querycontext.statement, self._params)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1011, in execute
       return meth(self, multiparams, params)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/sql/elements.py", line 298, in _execute_on_connection
       return connection._execute_clauseelement(self, multiparams, params)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1130, in _execute_clauseelement
       distilled_params,
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1317, in _execute_context
       e, statement, parameters, cursor, context
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1511, in _handle_dbapi_exception
       sqlalchemy_exception, with_traceback=exc_info[2], from_=e
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 182, in raise_
       raise exception
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1277, in _execute_context
       cursor, statement, parameters, context
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 593, in do_execute
       cursor.execute(statement, parameters)
   sqlalchemy.exc.DataError: (psycopg2.errors.InvalidTextRepresentation) invalid input syntax for integer: "__None"
   LINE 3: WHERE ab_user.id = '__None'
                              ^
   
   [SQL: SELECT ab_user.id AS ab_user_id, ab_user.first_name AS ab_user_first_name, ab_user.last_name AS ab_user_last_name, ab_user.username AS ab_user_username, ab_user.password AS ab_user_password, ab_user.active AS ab_user_active, ab_user.email AS ab_user_email, ab_user.last_login AS ab_user_last_login, ab_user.login_count AS ab_user_login_count, ab_user.fail_login_count AS ab_user_fail_login_count, ab_user.created_on AS ab_user_created_on, ab_user.changed_on AS ab_user_changed_on, ab_user.created_by_fk AS ab_user_created_by_fk, ab_user.changed_by_fk AS ab_user_changed_by_fk 
   FROM ab_user 
   WHERE ab_user.id = %(param_1)s]
   [parameters: {'param_1': '__None'}]
   (Background on this error at: http://sqlalche.me/e/13/9h9h)
   ```
   
   #### Screenshots
   
   Attached below
   
   #### How to reproduce the bug
   
   To reproduce :
   
   a) Go to SQLLab Saved Quries:
   ![image](https://user-images.githubusercontent.com/47830507/121385225-eb5aec00-c916-11eb-97a5-472ff91be5eb.png)
   
   b) Select 'No Relation' from the first drop down:
   
   ![image](https://user-images.githubusercontent.com/47830507/121385346-062d6080-c917-11eb-8ee0-d5da2836b738.png)
   
   c) Select blank or empty user from the second drop down:
   ![image](https://user-images.githubusercontent.com/47830507/121385481-24935c00-c917-11eb-9597-b87f5560d341.png)
   
   d) Click Search and the error will be displayed:
   
   ![image](https://user-images.githubusercontent.com/47830507/121385569-38d75900-c917-11eb-958f-29264e113d59.png)
   
   ### Environment
   
   (please complete the following information):
   
   - superset version: `superset version`
   - This is the latest 1.0 version in docker
   ```
   root@sb-superset-58448dc85c-dmvgc:/app# superset version
   Loaded your LOCAL configuration at [/app/pythonpath/superset_config.py]
   logging was configured successfully
   INFO:superset.utils.logging_configurator:logging was configured successfully
   -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
   Superset 0.999.0dev
   -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
   ```
   - python version: `python --version`
   ```
   root@sb-superset-58448dc85c-dmvgc:/app# python --version
   Python 3.7.9
   ```
   - node.js version: `node -v`
   
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


[GitHub] [superset] pabrahamusa edited a comment on issue #15065: 500 - Internal Server Error - Searching Saved Query

Posted by GitBox <gi...@apache.org>.
pabrahamusa edited a comment on issue #15065:
URL: https://github.com/apache/superset/issues/15065#issuecomment-873746613


   @nytai this is what I am using for my docker image.
   
   `
   {{/*
   
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You under the Apache License, Version 2.0
    (the "License"); you may not use this file except in compliance with
    the License.  You may obtain a copy of the License at
   
       http://www.apache.org/licenses/LICENSE-2.0
   
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
   
   */}}
   {{/* vim: set filetype=mustache: */}}
   {{/*
   Expand the name of the chart.
   */}}
   {{- define "superset.name" -}}
   {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
   {{- end -}}
   
   {{/*
   Create a default fully qualified app name.
   We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
   If release name contains chart name it will be used as a full name.
   */}}
   {{- define "superset.fullname" -}}
   {{- if .Values.fullnameOverride -}}
   {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
   {{- else -}}
   {{- $name := default .Chart.Name .Values.nameOverride -}}
   {{- if contains $name .Release.Name -}}
   {{- .Release.Name | trunc 63 | trimSuffix "-" -}}
   {{- else -}}
   {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
   {{- end -}}
   {{- end -}}
   {{- end -}}
   
   {{/*
   Create chart name and version as used by the chart label.
   */}}
   {{- define "superset.chart" -}}
   {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
   {{- end -}}
   
   {{- define "superset-bootstrap" }}
   #!/bin/sh
   
   pip install {{ range .Values.additionalRequirements }}{{ . }} {{ end }}
   
   {{ end -}}
   
   {{- define "superset-config" }}
   import os
   from cachelib.redis import RedisCache
   import math
   import time
   from datetime import datetime
   
   def last_mins(mins):
     return ((current_milli_time() * 1000 * 1000 )-(mins * 60000 * 1000 * 1000))
   
   # Default row limit for SQL Lab queries. Is overridden by setting a new limit in
   # the SQL Lab UI
   DEFAULT_SQLLAB_LIMIT = 25
   
   
   SQLLAB_TIMEOUT = 300
   SUPERSET_WEBSERVER_TIMEOUT = 300
   
   
   JINJA_CONTEXT_ADDONS = {
        "last_mins": last_mins
   }
   
   # ---------------------------------------------------
   # Feature flags
   # ---------------------------------------------------
   # Feature flags that are set by default go here. Their values can be
   # overwritten by those specified under FEATURE_FLAGS in super_config.py
   # For example, DEFAULT_FEATURE_FLAGS = { 'FOO': True, 'BAR': False } here
   # and FEATURE_FLAGS = { 'BAR': True, 'BAZ': True } in superset_config.py
   # will result in combined feature flags of { 'FOO': True, 'BAR': True, 'BAZ': True }
   # Candyland enabling feature
   DEFAULT_FEATURE_FLAGS = {
       # Enable jinja templates
       'ENABLE_TEMPLATE_PROCESSING': True,
       # Enables Alerts and reports new implementation
       "ALERT_REPORTS": True,
   }
   # Enable / disable Alerts, where users can define custom SQL that
   # will send emails with screenshots of charts or dashboards periodically
   # if it meets the criteria
   ENABLE_ALERTS = True
   
   # Enable / disable scheduled email reports
   ENABLE_SCHEDULED_EMAIL_REPORTS = False
   
   # START Handle logging
   # Whether to run the web server in debug mode or not
   # and enable DEBIG logs
   # DEBUG = os.environ.get("FLASK_ENV") == "development"
   # FLASK_USE_RELOAD = True
   # SHOW_STACKTRACE = True
   # DEBUG = True
   # LOG_LEVEL = "DEBUG"
   # LOG_LEVEL = DEBUG, INFO, WARNING, ERROR, CRITICAL
   # END Handle logging
   
   
   # Candyland End adding macros
   
   def env(key, default=None):
       return os.getenv(key, default)
   
   MAPBOX_API_KEY = env('MAPBOX_API_KEY', '')
   CACHE_CONFIG = {
         'CACHE_TYPE': 'redis',
         'CACHE_DEFAULT_TIMEOUT': 300,
         'CACHE_KEY_PREFIX': 'superset_',
         'CACHE_REDIS_HOST': env('REDIS_HOST'),
         'CACHE_REDIS_PORT': env('REDIS_PORT'),
         'CACHE_REDIS_DB': 1,
         'CACHE_REDIS_URL': f"redis://{env('REDIS_HOST')}:{env('REDIS_PORT')}/1"
   }
   DATA_CACHE_CONFIG = CACHE_CONFIG
   
   SQLALCHEMY_DATABASE_URI = f"postgresql+psycopg2://{env('DB_USER')}:{env('DB_PASS')}@{env('DB_HOST')}:{env('DB_PORT')}/{env('DB_NAME')}"
   SQLALCHEMY_TRACK_MODIFICATIONS = True
   SECRET_KEY = env('SECRET_KEY', 'thisISaSECRET_1234')
   
   # Flask-WTF flag for CSRF
   WTF_CSRF_ENABLED = True
   # Add endpoints that need to be exempt from CSRF protection
   WTF_CSRF_EXEMPT_LIST = []
   # A CSRF token that expires in 1 year
   WTF_CSRF_TIME_LIMIT = 60 * 60 * 24 * 365
   class CeleryConfig(object):
     BROKER_URL = f"redis://{env('REDIS_HOST')}:{env('REDIS_PORT')}/0"
     CELERY_IMPORTS = ('superset.sql_lab', )
     CELERY_RESULT_BACKEND = f"redis://{env('REDIS_HOST')}:{env('REDIS_PORT')}/0"
     CELERY_ANNOTATIONS = {'tasks.add': {'rate_limit': '10/s'}}
   
   CELERY_CONFIG = CeleryConfig
   RESULTS_BACKEND = RedisCache(
         host=env('REDIS_HOST'),
         port=env('REDIS_PORT'),
         key_prefix='superset_results'
   )
   
   {{ if .Values.configOverrides }}
   # Overrides
   {{- range $key, $value := .Values.configOverrides }}
   # {{ $key }}
   {{ tpl $value $ }}
   {{- end }}
   {{- end }}
   
   {{- end }}
   
   `


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


[GitHub] [superset] pabrahamusa commented on issue #15065: 500 - Internal Server Error - Searching Saved Query

Posted by GitBox <gi...@apache.org>.
pabrahamusa commented on issue #15065:
URL: https://github.com/apache/superset/issues/15065#issuecomment-873746613


   @nytai this is what I am using for my docker image.
   '''
   {{/*
   
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You under the Apache License, Version 2.0
    (the "License"); you may not use this file except in compliance with
    the License.  You may obtain a copy of the License at
   
       http://www.apache.org/licenses/LICENSE-2.0
   
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
   
   */}}
   {{/* vim: set filetype=mustache: */}}
   {{/*
   Expand the name of the chart.
   */}}
   {{- define "superset.name" -}}
   {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
   {{- end -}}
   
   {{/*
   Create a default fully qualified app name.
   We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
   If release name contains chart name it will be used as a full name.
   */}}
   {{- define "superset.fullname" -}}
   {{- if .Values.fullnameOverride -}}
   {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
   {{- else -}}
   {{- $name := default .Chart.Name .Values.nameOverride -}}
   {{- if contains $name .Release.Name -}}
   {{- .Release.Name | trunc 63 | trimSuffix "-" -}}
   {{- else -}}
   {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
   {{- end -}}
   {{- end -}}
   {{- end -}}
   
   {{/*
   Create chart name and version as used by the chart label.
   */}}
   {{- define "superset.chart" -}}
   {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
   {{- end -}}
   
   {{- define "superset-bootstrap" }}
   #!/bin/sh
   
   pip install {{ range .Values.additionalRequirements }}{{ . }} {{ end }}
   
   {{ end -}}
   
   {{- define "superset-config" }}
   import os
   from cachelib.redis import RedisCache
   import math
   import time
   from datetime import datetime
   
   def last_mins(mins):
     return ((current_milli_time() * 1000 * 1000 )-(mins * 60000 * 1000 * 1000))
   
   # Default row limit for SQL Lab queries. Is overridden by setting a new limit in
   # the SQL Lab UI
   DEFAULT_SQLLAB_LIMIT = 25
   
   
   SQLLAB_TIMEOUT = 300
   SUPERSET_WEBSERVER_TIMEOUT = 300
   
   
   JINJA_CONTEXT_ADDONS = {
        "last_mins": last_mins
   }
   
   # ---------------------------------------------------
   # Feature flags
   # ---------------------------------------------------
   # Feature flags that are set by default go here. Their values can be
   # overwritten by those specified under FEATURE_FLAGS in super_config.py
   # For example, DEFAULT_FEATURE_FLAGS = { 'FOO': True, 'BAR': False } here
   # and FEATURE_FLAGS = { 'BAR': True, 'BAZ': True } in superset_config.py
   # will result in combined feature flags of { 'FOO': True, 'BAR': True, 'BAZ': True }
   # Candyland enabling feature
   DEFAULT_FEATURE_FLAGS = {
       # Enable jinja templates
       'ENABLE_TEMPLATE_PROCESSING': True,
       # Enables Alerts and reports new implementation
       "ALERT_REPORTS": True,
   }
   # Enable / disable Alerts, where users can define custom SQL that
   # will send emails with screenshots of charts or dashboards periodically
   # if it meets the criteria
   ENABLE_ALERTS = True
   
   # Enable / disable scheduled email reports
   ENABLE_SCHEDULED_EMAIL_REPORTS = False
   
   # START Handle logging
   # Whether to run the web server in debug mode or not
   # and enable DEBIG logs
   # DEBUG = os.environ.get("FLASK_ENV") == "development"
   # FLASK_USE_RELOAD = True
   # SHOW_STACKTRACE = True
   # DEBUG = True
   # LOG_LEVEL = "DEBUG"
   # LOG_LEVEL = DEBUG, INFO, WARNING, ERROR, CRITICAL
   # END Handle logging
   
   
   # Candyland End adding macros
   
   def env(key, default=None):
       return os.getenv(key, default)
   
   MAPBOX_API_KEY = env('MAPBOX_API_KEY', '')
   CACHE_CONFIG = {
         'CACHE_TYPE': 'redis',
         'CACHE_DEFAULT_TIMEOUT': 300,
         'CACHE_KEY_PREFIX': 'superset_',
         'CACHE_REDIS_HOST': env('REDIS_HOST'),
         'CACHE_REDIS_PORT': env('REDIS_PORT'),
         'CACHE_REDIS_DB': 1,
         'CACHE_REDIS_URL': f"redis://{env('REDIS_HOST')}:{env('REDIS_PORT')}/1"
   }
   DATA_CACHE_CONFIG = CACHE_CONFIG
   
   SQLALCHEMY_DATABASE_URI = f"postgresql+psycopg2://{env('DB_USER')}:{env('DB_PASS')}@{env('DB_HOST')}:{env('DB_PORT')}/{env('DB_NAME')}"
   SQLALCHEMY_TRACK_MODIFICATIONS = True
   SECRET_KEY = env('SECRET_KEY', 'thisISaSECRET_1234')
   
   # Flask-WTF flag for CSRF
   WTF_CSRF_ENABLED = True
   # Add endpoints that need to be exempt from CSRF protection
   WTF_CSRF_EXEMPT_LIST = []
   # A CSRF token that expires in 1 year
   WTF_CSRF_TIME_LIMIT = 60 * 60 * 24 * 365
   class CeleryConfig(object):
     BROKER_URL = f"redis://{env('REDIS_HOST')}:{env('REDIS_PORT')}/0"
     CELERY_IMPORTS = ('superset.sql_lab', )
     CELERY_RESULT_BACKEND = f"redis://{env('REDIS_HOST')}:{env('REDIS_PORT')}/0"
     CELERY_ANNOTATIONS = {'tasks.add': {'rate_limit': '10/s'}}
   
   CELERY_CONFIG = CeleryConfig
   RESULTS_BACKEND = RedisCache(
         host=env('REDIS_HOST'),
         port=env('REDIS_PORT'),
         key_prefix='superset_results'
   )
   
   {{ if .Values.configOverrides }}
   # Overrides
   {{- range $key, $value := .Values.configOverrides }}
   # {{ $key }}
   {{ tpl $value $ }}
   {{- end }}
   {{- end }}
   
   {{- end }}
   '''
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


[GitHub] [superset] nytai commented on issue #15065: 500 - Internal Server Error - Searching Saved Query

Posted by GitBox <gi...@apache.org>.
nytai commented on issue #15065:
URL: https://github.com/apache/superset/issues/15065#issuecomment-873773471


   You should be using the config `FEATURE_FLAGS` as you are now overriding all default settings. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


[GitHub] [superset] nytai commented on issue #15065: 500 - Internal Server Error - Searching Saved Query

Posted by GitBox <gi...@apache.org>.
nytai commented on issue #15065:
URL: https://github.com/apache/superset/issues/15065#issuecomment-857856897


   Can you post your `superset_config.py`, specifically your feature flag config. Looks like you're using the old deprecated views and `ENABLE_REACT_CRUD_VIEWS` feature flag is not enabled. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


[GitHub] [superset] pabrahamusa edited a comment on issue #15065: 500 - Internal Server Error - Searching Saved Query

Posted by GitBox <gi...@apache.org>.
pabrahamusa edited a comment on issue #15065:
URL: https://github.com/apache/superset/issues/15065#issuecomment-873746613


   @nytai this is what I am using for my docker image.
   
   ```
   {{/*
   
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You under the Apache License, Version 2.0
    (the "License"); you may not use this file except in compliance with
    the License.  You may obtain a copy of the License at
   
       http://www.apache.org/licenses/LICENSE-2.0
   
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
   
   */}}
   {{/* vim: set filetype=mustache: */}}
   {{/*
   Expand the name of the chart.
   */}}
   {{- define "superset.name" -}}
   {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
   {{- end -}}
   
   {{/*
   Create a default fully qualified app name.
   We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
   If release name contains chart name it will be used as a full name.
   */}}
   {{- define "superset.fullname" -}}
   {{- if .Values.fullnameOverride -}}
   {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
   {{- else -}}
   {{- $name := default .Chart.Name .Values.nameOverride -}}
   {{- if contains $name .Release.Name -}}
   {{- .Release.Name | trunc 63 | trimSuffix "-" -}}
   {{- else -}}
   {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
   {{- end -}}
   {{- end -}}
   {{- end -}}
   
   {{/*
   Create chart name and version as used by the chart label.
   */}}
   {{- define "superset.chart" -}}
   {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
   {{- end -}}
   
   {{- define "superset-bootstrap" }}
   #!/bin/sh
   
   pip install {{ range .Values.additionalRequirements }}{{ . }} {{ end }}
   
   {{ end -}}
   
   {{- define "superset-config" }}
   import os
   from cachelib.redis import RedisCache
   import math
   import time
   from datetime import datetime
   
   def last_mins(mins):
     return ((current_milli_time() * 1000 * 1000 )-(mins * 60000 * 1000 * 1000))
   
   # Default row limit for SQL Lab queries. Is overridden by setting a new limit in
   # the SQL Lab UI
   DEFAULT_SQLLAB_LIMIT = 25
   
   
   SQLLAB_TIMEOUT = 300
   SUPERSET_WEBSERVER_TIMEOUT = 300
   
   
   JINJA_CONTEXT_ADDONS = {
        "last_mins": last_mins
   }
   
   # ---------------------------------------------------
   # Feature flags
   # ---------------------------------------------------
   # Feature flags that are set by default go here. Their values can be
   # overwritten by those specified under FEATURE_FLAGS in super_config.py
   # For example, DEFAULT_FEATURE_FLAGS = { 'FOO': True, 'BAR': False } here
   # and FEATURE_FLAGS = { 'BAR': True, 'BAZ': True } in superset_config.py
   # will result in combined feature flags of { 'FOO': True, 'BAR': True, 'BAZ': True }
   # Candyland enabling feature
   DEFAULT_FEATURE_FLAGS = {
       # Enable jinja templates
       'ENABLE_TEMPLATE_PROCESSING': True,
       # Enables Alerts and reports new implementation
       "ALERT_REPORTS": True,
   }
   # Enable / disable Alerts, where users can define custom SQL that
   # will send emails with screenshots of charts or dashboards periodically
   # if it meets the criteria
   ENABLE_ALERTS = True
   
   # Enable / disable scheduled email reports
   ENABLE_SCHEDULED_EMAIL_REPORTS = False
   
   # START Handle logging
   # Whether to run the web server in debug mode or not
   # and enable DEBIG logs
   # DEBUG = os.environ.get("FLASK_ENV") == "development"
   # FLASK_USE_RELOAD = True
   # SHOW_STACKTRACE = True
   # DEBUG = True
   # LOG_LEVEL = "DEBUG"
   # LOG_LEVEL = DEBUG, INFO, WARNING, ERROR, CRITICAL
   # END Handle logging
   
   
   # Candyland End adding macros
   
   def env(key, default=None):
       return os.getenv(key, default)
   
   MAPBOX_API_KEY = env('MAPBOX_API_KEY', '')
   CACHE_CONFIG = {
         'CACHE_TYPE': 'redis',
         'CACHE_DEFAULT_TIMEOUT': 300,
         'CACHE_KEY_PREFIX': 'superset_',
         'CACHE_REDIS_HOST': env('REDIS_HOST'),
         'CACHE_REDIS_PORT': env('REDIS_PORT'),
         'CACHE_REDIS_DB': 1,
         'CACHE_REDIS_URL': f"redis://{env('REDIS_HOST')}:{env('REDIS_PORT')}/1"
   }
   DATA_CACHE_CONFIG = CACHE_CONFIG
   
   SQLALCHEMY_DATABASE_URI = f"postgresql+psycopg2://{env('DB_USER')}:{env('DB_PASS')}@{env('DB_HOST')}:{env('DB_PORT')}/{env('DB_NAME')}"
   SQLALCHEMY_TRACK_MODIFICATIONS = True
   SECRET_KEY = env('SECRET_KEY', 'thisISaSECRET_1234')
   
   # Flask-WTF flag for CSRF
   WTF_CSRF_ENABLED = True
   # Add endpoints that need to be exempt from CSRF protection
   WTF_CSRF_EXEMPT_LIST = []
   # A CSRF token that expires in 1 year
   WTF_CSRF_TIME_LIMIT = 60 * 60 * 24 * 365
   class CeleryConfig(object):
     BROKER_URL = f"redis://{env('REDIS_HOST')}:{env('REDIS_PORT')}/0"
     CELERY_IMPORTS = ('superset.sql_lab', )
     CELERY_RESULT_BACKEND = f"redis://{env('REDIS_HOST')}:{env('REDIS_PORT')}/0"
     CELERY_ANNOTATIONS = {'tasks.add': {'rate_limit': '10/s'}}
   
   CELERY_CONFIG = CeleryConfig
   RESULTS_BACKEND = RedisCache(
         host=env('REDIS_HOST'),
         port=env('REDIS_PORT'),
         key_prefix='superset_results'
   )
   
   {{ if .Values.configOverrides }}
   # Overrides
   {{- range $key, $value := .Values.configOverrides }}
   # {{ $key }}
   {{ tpl $value $ }}
   {{- end }}
   {{- end }}
   
   {{- end }}
   
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org