FusionAuth
    • Home
    • Categories
    • Recent
    • Popular
    • Pricing
    • Contact us
    • Docs
    • Login

    API Keys page 500

    Scheduled Pinned Locked Moved
    Comments & Feedback
    2
    3
    3.9k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Z
      zaalbarxx
      last edited by

      Hello, for some reason the API keys page throws 500 error with this stack trace

      2024-05-07 12:25:32.747 PM ERROR io.fusionauth.app.primeframework.error.ExceptionExceptionHandler - An unhandled exception was thrown
      org.apache.ibatis.exceptions.PersistenceException: 
      ### Error querying database.  Cause: org.postgresql.util.PSQLException: ERROR: column "key" does not exist
        Position: 804
      ### The error may exist in io/fusionauth/api/domain/APIKeyMapper.xml
      ### The error may involve defaultParameterMap
      ### The error occurred while setting parameters
      ### SQL: SELECT k.id                         AS k_id,            k.insert_instant             AS k_insert_instant,            k.ip_access_control_lists_id AS k_ip_access_control_lists_id,            k.last_update_instant        AS k_last_update_instant,            k.key_manager                AS k_key_manager,            k.key_value                  AS k_key_value,            k.tenants_id                 AS k_tenants_id,            k.permissions                AS k_permissions,            k.meta_data                  AS k_meta_data       FROM authentication_keys AS k          WHERE  (         k.meta_data IS NULL         OR NOT (k.meta_data::JSONB ?? 'attributes'            AND k.meta_data::JSONB -> 'attributes' ??| array['internalCacheReloader', 'internalLogDownloader'])         )              ORDER BY key desc                   LIMIT ?                   OFFSET ?
      ### Cause: org.postgresql.util.PSQLException: ERROR: column "key" does not exist
        Position: 804
      	at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
      	at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156)
      	at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)
      	at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142)
      	at jdk.internal.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
      	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
      	at org.apache.ibatis.session.SqlSessionManager$SqlSessionInterceptor.invoke(SqlSessionManager.java:355)
      	at jdk.proxy2/jdk.proxy2.$Proxy54.selectList(Unknown Source)
      	at org.apache.ibatis.session.SqlSessionManager.selectList(SqlSessionManager.java:204)
      	at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147)
      	at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80)
      	at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141)
      	at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86)
      	at jdk.proxy2/jdk.proxy2.$Proxy59.retrieveByCriteria(Unknown Source)
      	at io.fusionauth.api.service.system.DefaultAPIKeyReaderService.search(DefaultAPIKeyReaderService.java:66)
      	at io.fusionauth.app.action.admin.apiKey.IndexAction.search(IndexAction.java:51)
      	at io.fusionauth.app.action.admin.BaseSearchAction.execute(BaseSearchAction.java:77)
      	at jdk.internal.reflect.GeneratedMethodAccessor129.invoke(Unknown Source)
      	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
      	at org.primeframework.mvc.util.ReflectionUtils.invoke(ReflectionUtils.java:443)
      	at org.primeframework.mvc.action.DefaultActionInvocationWorkflow.execute(DefaultActionInvocationWorkflow.java:77)
      	at org.primeframework.mvc.action.DefaultActionInvocationWorkflow.perform(DefaultActionInvocationWorkflow.java:60)
      	at org.primeframework.mvc.workflow.SubWorkflowChain.continueWorkflow(SubWorkflowChain.java:50)
      	at org.primeframework.mvc.message.DefaultMessageWorkflow.perform(DefaultMessageWorkflow.java:50)
      	at org.primeframework.mvc.workflow.SubWorkflowChain.continueWorkflow(SubWorkflowChain.java:50)
      	at org.primeframework.mvc.validation.DefaultValidationWorkflow.perform(DefaultValidationWorkflow.java:45)
      	at org.primeframework.mvc.workflow.SubWorkflowChain.continueWorkflow(SubWorkflowChain.java:50)
      	at org.primeframework.mvc.security.DefaultSecurityWorkflow.perform(DefaultSecurityWorkflow.java:79)
      	at org.primeframework.mvc.workflow.SubWorkflowChain.continueWorkflow(SubWorkflowChain.java:50)
      	at org.primeframework.mvc.parameter.DefaultPostParameterWorkflow.perform(DefaultPostParameterWorkflow.java:49)
      	at org.primeframework.mvc.workflow.SubWorkflowChain.continueWorkflow(SubWorkflowChain.java:50)
      	at org.primeframework.mvc.content.DefaultContentWorkflow.perform(DefaultContentWorkflow.java:74)
      	at org.primeframework.mvc.workflow.SubWorkflowChain.continueWorkflow(SubWorkflowChain.java:50)
      	at org.primeframework.mvc.parameter.DefaultParameterWorkflow.perform(DefaultParameterWorkflow.java:58)
      	at org.primeframework.mvc.workflow.SubWorkflowChain.continueWorkflow(SubWorkflowChain.java:50)
      	at org.primeframework.mvc.parameter.DefaultURIParameterWorkflow.perform(DefaultURIParameterWorkflow.java:92)
      	at org.primeframework.mvc.workflow.SubWorkflowChain.continueWorkflow(SubWorkflowChain.java:50)
      	at org.primeframework.mvc.scope.DefaultScopeRetrievalWorkflow.perform(DefaultScopeRetrievalWorkflow.java:50)
      	at org.primeframework.mvc.workflow.SubWorkflowChain.continueWorkflow(SubWorkflowChain.java:50)
      	at org.primeframework.mvc.action.DefaultActionMappingWorkflow.perform(DefaultActionMappingWorkflow.java:119)
      	at org.primeframework.mvc.workflow.SubWorkflowChain.continueWorkflow(SubWorkflowChain.java:50)
      	at org.primeframework.mvc.security.DefaultSavedRequestWorkflow.perform(DefaultSavedRequestWorkflow.java:65)
      	at org.primeframework.mvc.workflow.SubWorkflowChain.continueWorkflow(SubWorkflowChain.java:50)
      	at org.primeframework.mvc.cors.CORSRequestWorkflow.perform(CORSRequestWorkflow.java:65)
      	at org.primeframework.mvc.workflow.SubWorkflowChain.continueWorkflow(SubWorkflowChain.java:50)
      	at org.primeframework.mvc.workflow.DefaultMVCWorkflow.perform(DefaultMVCWorkflow.java:108)
      	at org.primeframework.mvc.PrimeMVCRequestHandler.handle(PrimeMVCRequestHandler.java:73)
      	at io.fusionauth.http.server.HTTPWorker.run(HTTPWorker.java:50)
      	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
      	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
      	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
      	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
      	at java.base/java.lang.Thread.run(Thread.java:833)
      Caused by: org.postgresql.util.PSQLException: ERROR: column "key" does not exist
        Position: 804
      	at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2725)
      	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2412)
      	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:371)
      	at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:502)
      	at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:419)
      	at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:194)
      	at org.postgresql.jdbc.PgPreparedStatement.execute(PgPreparedStatement.java:180)
      	at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44)
      	at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java)
      	at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65)
      	at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80)
      	at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65)
      	at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336)
      	at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158)
      	at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110)
      	at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90)
      	at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154)
      	... 53 common frames omitted
      

      I don't think we've change anything and we are using cloud instance. Any idea how to fix this ?

      danD 1 Reply Last reply Reply Quote 0
      • danD
        dan @zaalbarxx
        last edited by

        @cierzniak I think you found a bug! @spencer filed an issue that looks related.

        https://github.com/FusionAuth/fusionauth-issues/issues/2738

        There's a workaround in the issue, which involves deleting a cookie.

        Can you please try that and let us know if that resolves it?

        --
        FusionAuth - Auth for devs, built by devs.
        https://fusionauth.io

        Z 1 Reply Last reply Reply Quote 1
        • Z
          zaalbarxx @dan
          last edited by

          @dan Yes, it works as temporary solution. Thanks!

          1 Reply Last reply Reply Quote 0
          • First post
            Last post