[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8696?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14653369#comment-14653369
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8696:
--------------------------------------------

GitHub user karuturi opened a pull request:

    https://github.com/apache/cloudstack/pull/657

    CLOUDSTACK-8696: Create Region fails with exception

    'id' in the region table should not be an autoincrement unlike other
    tables. This is because, region ids must be in sync across installs and
    hence is accepted as input to the addRegions api.
    
    It is not a good practise to override id for this purpose. another
    column 'regionId' has to be created and used(CLOUDSTACK-8706). until it
    is fixed, id should never be autoincrement in regions table.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/karuturi/cloudstack CLOUDSTACK-8696

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/cloudstack/pull/657.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #657
    
----
commit b6a78044a0881e17d045f35850222c275a84642e
Author: Rajani Karuturi <[email protected]>
Date:   2015-08-04T09:19:30Z

    CLOUDSTACK-8696: Create Region fails with exception
    
    'id' in the region table should not be an autoincrement unlike other
    tables. This is because, region ids must be in sync across installs and
    hence is accepted as input to the addRegions api.
    
    It is not a good practise to override id for this purpose. another
    column 'regionId' has to be created and used(CLOUDSTACK-8706). until it
    is fixed, id should never be autoincrement in regions table.

----


> Create Region fails with endpoint parameter validation exception
> ----------------------------------------------------------------
>
>                 Key: CLOUDSTACK-8696
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8696
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>          Components: API
>    Affects Versions: 4.6.0
>            Reporter: Pavan Kumar Bandarupally
>            Assignee: Rajani Karuturi
>            Priority: Critical
>
> Trying to add a new region fails with unhandled exception. The endpoint 
> parameter validation seems to be failing. "Problem with getting the ec 
> attribute"
> Exception:
> ===================
> 2015-07-31 19:48:32,669 DEBUG [c.c.a.ApiServlet] 
> (catalina-exec-24:ctx-1106054b) ===START===  10.252.193.9 -- GET  
> command=addRegion&response=json&id=3&name=te&endpoint=http%3A%2F%2Flocalhost%3A8080%2Fclient&_=1438333561026
> 2015-07-31 19:48:32,691 DEBUG [c.c.u.d.T.Transaction] 
> (catalina-exec-24:ctx-1106054b ctx-9e3359a9) Rolling back the transaction: 
> Time = 3 Name =  catalina-exec-24; called by 
> -TransactionLegacy.rollback:879-TransactionLegacy.removeUpTo:822-TransactionLegacy.close:646-TransactionContextInterceptor.invoke:36-ReflectiveMethodInvocation.proceed:161-ExposeInvocationInterceptor.invoke:91-ReflectiveMethodInvocation.proceed:172-JdkDynamicAopProxy.invoke:204-$Proxy133.persist:-1-RegionManagerImpl.addRegion:113-RegionServiceImpl.addRegion:87-AddRegionCmd.execute:89
> 2015-07-31 19:48:32,699 ERROR [c.c.a.ApiServer] 
> (catalina-exec-24:ctx-1106054b ctx-9e3359a9) unhandled exception executing 
> api command: [Ljava.lang.String;@750f6a7c
> com.cloud.utils.exception.CloudRuntimeException: Problem with getting the ec 
> attribute
>         at com.cloud.utils.db.GenericDaoBase.persist(GenericDaoBase.java:1403)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:601)
>         at 
> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
>         at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
>         at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
>         at 
> com.cloud.utils.db.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:34)
>         at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
>         at 
> org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:91)
>         at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>         at 
> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
>         at $Proxy133.persist(Unknown Source)
>         at 
> org.apache.cloudstack.region.RegionManagerImpl.addRegion(RegionManagerImpl.java:113)
>         at 
> org.apache.cloudstack.region.RegionServiceImpl.addRegion(RegionServiceImpl.java:87)
>         at 
> org.apache.cloudstack.api.command.admin.region.AddRegionCmd.execute(AddRegionCmd.java:89)
>         at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:141)
>         at com.cloud.api.ApiServer.queueCommand(ApiServer.java:704)
>         at com.cloud.api.ApiServer.handleRequest(ApiServer.java:529)
>         at 
> com.cloud.api.ApiServlet.processRequestInContext(ApiServlet.java:302)
>         at com.cloud.api.ApiServlet$1.run(ApiServlet.java:127)
>         at 
> org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:56)
>         at 
> org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:103)
>         at 
> org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:53)
>         at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:124)
>         at com.cloud.api.ApiServlet.doGet(ApiServlet.java:86)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>         at 
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555)
>         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
>         at 
> org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:889)
>         at 
> org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:721)
>         at 
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2268)
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>         at java.lang.Thread.run(Thread.java:722)
> Caused by: java.lang.IllegalArgumentException: Can not set int field 
> org.apache.cloudstack.region.RegionVO.id to java.lang.Long
>         at 
> sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:164)
>         at 
> sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:168)
>         at 
> sun.reflect.UnsafeIntegerFieldAccessorImpl.set(UnsafeIntegerFieldAccessorImpl.java:98)
>         at java.lang.reflect.Field.set(Field.java:680)
>         at com.cloud.utils.db.GenericDaoBase.persist(GenericDaoBase.java:1373)
>         ... 43 more
> 2015-07-31 19:48:32,709 DEBUG [c.c.a.ApiServlet] 
> (catalina-exec-24:ctx-1106054b ctx-9e3359a9) ===END===  10.252.193.9 -- GET  
> command=addRegion&response=json&id=3&name=te&endpoint=http%3A%2F%2Flocalhost%3A8080%2Fclient&_=1438333561026



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to