-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Description
ISSUE TYPE
Bug Report
COMPONENT NAME
API
CLOUDSTACK VERSION
4.17.2
CONFIGURATION
OS / ENVIRONMENT
Centos 7
SUMMARY
I send an API request to the Cloudstack server 4.17.2 , but an empty response is returned, while the same request was working correctly on Cloudstack 4.13.1.
STEPS TO REPRODUCE
EXPECTED RESULTS
The expected output should be similar to below :
INSERT INTO cloudstack_users (service_id, username, password, api_key, secret_key) VALUES :
('3074','afra-246543-307554-mgmt',
'defaultpass',
'IVib7_WalyDw_z84p4M..........................................pYa4jWaNVi8Gw',
'f1JLPqXkwT7tqF........................neXRSg8TAV-kEjA')
ACTUAL RESULTS
API request on browser :
{
"listusersresponse": {
"uuidList": [],
"errorcode": 530,
"cserrorcode": 4250,
"errortext": "Caught: com.mysql.cj.jdbc.ClientPreparedStatement: SELECT user_view.id, user_view.uuid, user_view.username, user_view.password, user_view.firstname, user_view.lastname, user_view.email, user_view.state, user_view.api_key, user_view.secret_key, user_view.created, user_view.removed, user_view.timezone, user_view.registration_token, user_view.is_registered, user_view.incorrect_login_attempts, user_view.account_id, user_view.account_uuid, user_view.account_name, user_view.account_type, user_view.account_role_id, user_view.domain_id, user_view.domain_uuid, user_view.domain_name, user_view.domain_path, user_view.job_id, user_view.job_uuid, user_view.job_status, user_view.default, user_view.source FROM user_view WHERE user_view.domain_id = 7 AND user_view.account_type != 5 AND user_view.id != 1 AND user_view.domain_id = 7 AND user_view.domain_path LIKE x'2F57484D43532F25' AND (user_view.username LIKE x'256D676D7425' OR user_view.firstname LIKE x'256D676D7425' OR user_view.lastname LIKE x'256D676D7425' OR user_view.email LIKE x'256D676D7425' OR user_view.state LIKE x'256D676D7425' OR user_view.account_name LIKE x'256D676D7425' OR user_view.account_type LIKE ** NOT SPECIFIED ** ) AND user_view.removed IS NULL ORDER BY user_view.id ASC LIMIT 0, 100"
}
}
management server log :
2023-08-26 08:02:12,972 ERROR [c.c.a.ApiServer] (qtp1750498848-7703:ctx-083569e0 ctx-e5bf4365) (logid:31fbfd6e) unhandled exception executing api command: [Ljava.lang.String;@15e7acae
com.cloud.utils.exception.CloudRuntimeException: Caught: com.mysql.cj.jdbc.ClientPreparedStatement: SELECT user_view.id, user_view.uuid, user_view.username, user_view.password, user_view.firstname, user_view.lastname, user_view.email, user_view.state, user_view.api_key, user_view.secret_key, user_view.created, user_view.removed, user_view.timezone, user_view.registration_token, user_view.is_registered, user_view.incorrect_login_attempts, user_view.account_id, user_view.account_uuid, user_view.account_name, user_view.account_type, user_view.account_role_id, user_view.domain_id, user_view.domain_uuid, user_view.domain_name, user_view.domain_path, user_view.job_id, user_view.job_uuid, user_view.job_status, user_view.default, user_view.source FROM user_view WHERE user_view.domain_id = 7 AND user_view.account_type != 5 AND user_view.id != 1 AND user_view.domain_id = 7 AND user_view.domain_path LIKE x'2F57484D43532F25' AND (user_view.username LIKE x'256D676D7425' OR user_view.firstname LIKE x'256D676D7425' OR user_view.lastname LIKE x'256D676D7425' OR user_view.email LIKE x'256D676D7425' OR user_view.state LIKE x'256D676D7425' OR user_view.account_name LIKE x'256D676D7425' OR user_view.account_type LIKE ** NOT SPECIFIED ** ) AND user_view.removed IS NULL ORDER BY user_view.id ASC LIMIT 0, 100
at com.cloud.utils.db.GenericDaoBase.searchIncludingRemoved(GenericDaoBase.java:425)
at com.cloud.utils.db.GenericDaoBase.searchIncludingRemoved(GenericDaoBase.java:359)
at com.cloud.utils.db.GenericDaoBase.search(GenericDaoBase.java:348)
at com.cloud.utils.db.GenericDaoBase.searchAndCount(GenericDaoBase.java:1325)
at jdk.internal.reflect.GeneratedMethodAccessor99.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at com.cloud.utils.db.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:34)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215)
at com.sun.proxy.$Proxy331.searchAndCount(Unknown Source)
at com.cloud.api.query.QueryManagerImpl.getUserListInternal(QueryManagerImpl.java:654)
at com.cloud.api.query.QueryManagerImpl.searchForUsersInternal(QueryManagerImpl.java:572)
at com.cloud.api.query.QueryManagerImpl.searchForUsers(QueryManagerImpl.java:507)
at org.apache.cloudstack.api.command.admin.user.ListUsersCmd.execute(ListUsersCmd.java:98)
at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:163)
at com.cloud.api.ApiServer.queueCommand(ApiServer.java:776)
at com.cloud.api.ApiServer.handleRequest(ApiServer.java:600)
at com.cloud.api.ApiServlet.processRequestInContext(ApiServlet.java:327)
at com.cloud.api.ApiServlet$1.run(ApiServlet.java:145)
at org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:55)
at org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:102)
at org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:52)
at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:142)
at com.cloud.api.ApiServlet.doGet(ApiServlet.java:96)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:645)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
at org.eclipse.jetty.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1450)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:550)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:600)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1434)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1349)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:763)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.Server.handle(Server.java:516)
at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:400)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:645)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:392)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:555)
at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:410)
at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:164)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.ClassCastException