"use strict";(self.webpackChunkdocs_v_2=self.webpackChunkdocs_v_2||[]).push([[674],{3905:(e,t,s)=>{s.d(t,{Zo:()=>d,kt:()=>m});var a=s(67294);function r(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function n(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function u(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?n(Object(s),!0).forEach((function(t){r(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):n(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function i(e,t){if(null==e)return{};var s,a,r=function(e,t){if(null==e)return{};var s,a,r={},n=Object.keys(e);for(a=0;a<n.length;a++)s=n[a],t.indexOf(s)>=0||(r[s]=e[s]);return r}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a<n.length;a++)s=n[a],t.indexOf(s)>=0||Object.prototype.propertyIsEnumerable.call(e,s)&&(r[s]=e[s])}return r}var o=a.createContext({}),l=function(e){var t=a.useContext(o),s=t;return e&&(s="function"==typeof e?e(t):u(u({},t),e)),s},d=function(e){var t=l(e.components);return a.createElement(o.Provider,{value:t},e.children)},c="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},h=a.forwardRef((function(e,t){var s=e.components,r=e.mdxType,n=e.originalType,o=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),c=l(s),h=r,m=c["".concat(o,".").concat(h)]||c[h]||p[h]||n;return s?a.createElement(m,u(u({ref:t},d),{},{components:s})):a.createElement(m,u({ref:t},d))}));function m(e,t){var s=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var n=s.length,u=new Array(n);u[0]=h;var i={};for(var o in t)hasOwnProperty.call(t,o)&&(i[o]=t[o]);i.originalType=e,i[c]="string"==typeof e?e:r,u[1]=i;for(var l=2;l<n;l++)u[l]=s[l];return a.createElement.apply(null,u)}return a.createElement.apply(null,s)}h.displayName="MDXCreateElement"},75017:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>o,contentTitle:()=>u,default:()=>p,frontMatter:()=>n,metadata:()=>i,toc:()=>l});var a=s(83117),r=(s(67294),s(3905));const n={title:"Issue Codes",sidebar_position:3,version:1},u="Issue Code Reference",i={unversionedId:"miscellaneous/issue-codes",id:"miscellaneous/issue-codes",title:"Issue Codes",description:"This page lists issue codes that may be displayed in",source:"@site/docs/miscellaneous/issue-codes.mdx",sourceDirName:"miscellaneous",slug:"/miscellaneous/issue-codes",permalink:"/docs/miscellaneous/issue-codes",draft:!1,editUrl:"https://github.com/apache/superset/tree/master/docs/docs/miscellaneous/issue-codes.mdx",tags:[],version:"current",sidebarPosition:3,frontMatter:{title:"Issue Codes",sidebar_position:3,version:1},sidebar:"tutorialSidebar",previous:{title:"Importing and Exporting Datasources",permalink:"/docs/miscellaneous/importing-exporting-datasources"},next:{title:"Chart Parameters Reference",permalink:"/docs/miscellaneous/chart-params"}},o={},l=[{value:"Issue 1000",id:"issue-1000",level:2},{value:"Issue 1001",id:"issue-1001",level:2},{value:"Issue 1002",id:"issue-1002",level:2},{value:"Issue 1003",id:"issue-1003",level:2},{value:"Issue 1004",id:"issue-1004",level:2},{value:"Issue 1005",id:"issue-1005",level:2},{value:"Issue 1006",id:"issue-1006",level:2},{value:"Issue 1007",id:"issue-1007",level:2},{value:"Issue 1008",id:"issue-1008",level:2},{value:"Issue 1009",id:"issue-1009",level:2},{value:"Issue 1010",id:"issue-1010",level:2},{value:"Issue 1011",id:"issue-1011",level:2},{value:"Issue 1012",id:"issue-1012",level:2},{value:"Issue 1013",id:"issue-1013",level:2},{value:"Issue 1014",id:"issue-1014",level:2},{value:"Issue 1015",id:"issue-1015",level:2},{value:"Issue 1016",id:"issue-1016",level:2},{value:"Issue 1017",id:"issue-1017",level:2},{value:"Issue 1018",id:"issue-1018",level:2},{value:"Issue 1019",id:"issue-1019",level:2},{value:"Issue 1020",id:"issue-1020",level:2},{value:"Issue 1021",id:"issue-1021",level:2},{value:"Issue 1022",id:"issue-1022",level:2},{value:"Issue 1023",id:"issue-1023",level:2},{value:"Issue 1024",id:"issue-1024",level:2},{value:"Issue 1025",id:"issue-1025",level:2},{value:"Issue 1026",id:"issue-1026",level:2},{value:"Issue 1027",id:"issue-1027",level:2},{value:"Issue 1028",id:"issue-1028",level:2},{value:"Issue 1029",id:"issue-1029",level:2},{value:"Issue 1030",id:"issue-1030",level:2},{value:"Issue 1031",id:"issue-1031",level:2},{value:"Issue 1032",id:"issue-1032",level:2},{value:"Issue 1033",id:"issue-1033",level:2},{value:"Issue 1034",id:"issue-1034",level:2},{value:"Issue 1035",id:"issue-1035",level:2},{value:"Issue 1036",id:"issue-1036",level:2}],d={toc:l},c="wrapper";function p(e){let{components:t,...s}=e;return(0,r.kt)(c,(0,a.Z)({},d,s,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"issue-code-reference"},"Issue Code Reference"),(0,r.kt)("p",null,"This page lists issue codes that may be displayed in\nSuperset and provides additional context."),(0,r.kt)("h2",{id:"issue-1000"},"Issue 1000"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"The datasource is too large to query.\n")),(0,r.kt)("p",null,"It's likely your datasource has grown too large to run the current\nquery, and is timing out. You can resolve this by reducing the\nsize of your datasource or by modifying your query to only process a\nsubset of your data."),(0,r.kt)("h2",{id:"issue-1001"},"Issue 1001"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"The database is under an unusual load.\n")),(0,r.kt)("p",null,"Your query may have timed out because of unusually high load on the\ndatabase engine. You can make your query simpler, or wait until the\ndatabase is under less load and try again."),(0,r.kt)("h2",{id:"issue-1002"},"Issue 1002"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"The database returned an unexpected error.\n")),(0,r.kt)("p",null,"Your query failed because of an error that occurred on the database.\nThis may be due to a syntax error, a bug in your query, or some other\ninternal failure within the database. This is usually not an\nissue within Superset, but instead a problem with the underlying\ndatabase that serves your query."),(0,r.kt)("h2",{id:"issue-1003"},"Issue 1003"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"There is a syntax error in the SQL query. Perhaps there was a misspelling or a typo.\n")),(0,r.kt)("p",null,"Your query failed because of a syntax error within the underlying query. Please\nvalidate that all columns or tables referenced within the query exist and are spelled\ncorrectly."),(0,r.kt)("h2",{id:"issue-1004"},"Issue 1004"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"The column was deleted or renamed in the database.\n")),(0,r.kt)("p",null,"Your query failed because it is referencing a column that no longer exists in\nthe underlying datasource. You should modify the query to reference the\nreplacement column, or remove this column from your query."),(0,r.kt)("h2",{id:"issue-1005"},"Issue 1005"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"The table was deleted or renamed in the database.\n")),(0,r.kt)("p",null,"Your query failed because it is referencing a table that no longer exists in\nthe underlying database. You should modify your query to reference the correct\ntable."),(0,r.kt)("h2",{id:"issue-1006"},"Issue 1006"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"One or more parameters specified in the query are missing.\n")),(0,r.kt)("p",null,"Your query was not submitted to the database because it's missing one or more\nparameters. You should define all the parameters referenced in the query in a\nvalid JSON document. Check that the parameters are spelled correctly and that\nthe document has a valid syntax."),(0,r.kt)("h2",{id:"issue-1007"},"Issue 1007"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"The hostname provided can't be resolved.\n")),(0,r.kt)("p",null,"The hostname provided when adding a new database is invalid and cannot be\nresolved. Please check that there are no typos in the hostname."),(0,r.kt)("h2",{id:"issue-1008"},"Issue 1008"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"The port is closed.\n")),(0,r.kt)("p",null,"The port provided when adding a new database is not open. Please check that\nthe port number is correct, and that the database is running and listening on\nthat port."),(0,r.kt)("h2",{id:"issue-1009"},"Issue 1009"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"The host might be down, and cannot be reached on the provided port.\n")),(0,r.kt)("p",null,"The host provided when adding a new database doesn't seem to be up.\nAdditionally, it cannot be reached on the provided port. Please check that\nthere are no firewall rules preventing access to the host."),(0,r.kt)("h2",{id:"issue-1010"},"Issue 1010"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"Superset encountered an error while running a command.\n")),(0,r.kt)("p",null,"Something unexpected happened, and Superset encountered an error while\nrunning a command. Please reach out to your administrator."),(0,r.kt)("h2",{id:"issue-1011"},"Issue 1011"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"Superset encountered an unexpected error.\n")),(0,r.kt)("p",null,"Something unexpected happened in the Superset backend. Please reach out\nto your administrator."),(0,r.kt)("h2",{id:"issue-1012"},"Issue 1012"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"The username provided when connecting to a database is not valid.\n")),(0,r.kt)("p",null,"The user provided a username that doesn't exist in the database. Please check\nthat the username is typed correctly and exists in the database."),(0,r.kt)("h2",{id:"issue-1013"},"Issue 1013"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"The password provided when connecting to a database is not valid.\n")),(0,r.kt)("p",null,"The user provided a password that is incorrect. Please check that the\npassword is typed correctly."),(0,r.kt)("h2",{id:"issue-1014"},"Issue 1014"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"Either the username or the password used are incorrect.\n")),(0,r.kt)("p",null,"Either the username provided does not exist or the password was written incorrectly. Please\ncheck that the username and password were typed correctly."),(0,r.kt)("h2",{id:"issue-1015"},"Issue 1015"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"Either the database is spelled incorrectly or does not exist.\n")),(0,r.kt)("p",null,"Either the database was written incorrectly or it does not exist. Check that it was typed correctly."),(0,r.kt)("h2",{id:"issue-1016"},"Issue 1016"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"The schema was deleted or renamed in the database.\n")),(0,r.kt)("p",null,"The schema was either removed or renamed. Check that the schema is typed correctly and exists."),(0,r.kt)("h2",{id:"issue-1017"},"Issue 1017"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"The user doesn't have the proper permissions to connect to the database\n")),(0,r.kt)("p",null,"We were unable to connect to your database. Please confirm that your service account has the Viewer and Job User roles on the project."),(0,r.kt)("h2",{id:"issue-1018"},"Issue 1018"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"One or more parameters needed to configure a database are missing.\n")),(0,r.kt)("p",null,"Not all parameters required to test, create, or edit a database were present. Please double check which parameters are needed, and that they are present."),(0,r.kt)("h2",{id:"issue-1019"},"Issue 1019"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"The submitted payload has the incorrect format.\n")),(0,r.kt)("p",null,"Please check that the request payload has the correct format (eg, JSON)."),(0,r.kt)("h2",{id:"issue-1020"},"Issue 1020"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"The submitted payload has the incorrect schema.\n")),(0,r.kt)("p",null,"Please check that the request payload has the expected schema."),(0,r.kt)("h2",{id:"issue-1021"},"Issue 1021"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"Results backend needed for asynchronous queries is not configured.\n")),(0,r.kt)("p",null,"Your instance of Superset doesn't have a results backend configured, which is needed for asynchronous queries. Please contact an administrator for further assistance."),(0,r.kt)("h2",{id:"issue-1022"},"Issue 1022"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"Database does not allow data manipulation.\n")),(0,r.kt)("p",null,"Only ",(0,r.kt)("inlineCode",{parentName:"p"},"SELECT")," statements are allowed against this database. Please contact an administrator if you need to run DML (data manipulation language) on this database."),(0,r.kt)("h2",{id:"issue-1023"},"Issue 1023"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"CTAS (create table as select) doesn't have a SELECT statement at the end.\n")),(0,r.kt)("p",null,"The last statement in a query run as CTAS (create table as select) MUST be a SELECT statement. Please make sure the last statement in the query is a SELECT."),(0,r.kt)("h2",{id:"issue-1024"},"Issue 1024"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"CVAS (create view as select) query has more than one statement.\n")),(0,r.kt)("p",null,"When running a CVAS (create view as select) the query should have a single statement. Please make sure the query has a single statement, and no extra semi-colons other than the last one."),(0,r.kt)("h2",{id:"issue-1025"},"Issue 1025"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"CVAS (create view as select) query is not a SELECT statement.\n")),(0,r.kt)("p",null,"When running a CVAS (create view as select) the query should be a SELECT statement. Please make sure the query has a single statement and it's a SELECT statement."),(0,r.kt)("h2",{id:"issue-1026"},"Issue 1026"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"Query is too complex and takes too long to run.\n")),(0,r.kt)("p",null,"The submitted query might be too complex to run under the time limit defined by your Superset administrator. Please double check your query and verify if it can be optimized. Alternatively, contact your administrator to increase the timeout period."),(0,r.kt)("h2",{id:"issue-1027"},"Issue 1027"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"The database is currently running too many queries.\n")),(0,r.kt)("p",null,"The database might be under heavy load, running too many queries. Please try again later, or contact an administrator for further assistance."),(0,r.kt)("h2",{id:"issue-1028"},"Issue 1028"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"One or more parameters specified in the query are malformed.\n")),(0,r.kt)("p",null,'The query contains one or more malformed template parameters. Please check your query and confirm that all template parameters are surround by double braces, for example, "{{ ds }}". Then, try running your query again.'),(0,r.kt)("h2",{id:"issue-1029"},"Issue 1029"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"The object does not exist in this database.\n")),(0,r.kt)("p",null,"Either the schema, column, or table do not exist in the database."),(0,r.kt)("h2",{id:"issue-1030"},"Issue 1030"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"The query potentially has a syntax error.\n")),(0,r.kt)("p",null,"The query might have a syntax error. Please check and run again."),(0,r.kt)("h2",{id:"issue-1031"},"Issue 1031"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"The results backend no longer has the data from the query.\n")),(0,r.kt)("p",null,"The results from the query might have been deleted from the results backend after some period. Please re-run your query."),(0,r.kt)("h2",{id:"issue-1032"},"Issue 1032"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"The query associated with the results was deleted.\n")),(0,r.kt)("p",null,"The query associated with the stored results no longer exists. Please re-run your query."),(0,r.kt)("h2",{id:"issue-1033"},"Issue 1033"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"The results stored in the backend were stored in a different format, and no longer can be deserialized.\n")),(0,r.kt)("p",null,"The query results were stored in a format that is no longer supported. Please re-run your query."),(0,r.kt)("h2",{id:"issue-1034"},"Issue 1034"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"The database port provided is invalid.\n")),(0,r.kt)("p",null,"Please check that the provided database port is an integer between 0 and 65535 (inclusive)."),(0,r.kt)("h2",{id:"issue-1035"},"Issue 1035"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"Failed to start remote query on a worker.\n")),(0,r.kt)("p",null,"The query was not started by an asynchronous worker. Please reach out to your administrator for further assistance."),(0,r.kt)("h2",{id:"issue-1036"},"Issue 1036"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"The database was deleted.\n")),(0,r.kt)("p",null,"The operation failed because the database referenced no longer exists. Please reach out to your administrator for further assistance."))}p.isMDXComponent=!0}}]);