You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@servicecomb.apache.org by "chanzhu (JIRA)" <ji...@apache.org> on 2019/05/30 03:29:00 UTC

[jira] [Assigned] (SCB-998) [SCB-998] do not support hibernate lazy loading

     [ https://issues.apache.org/jira/browse/SCB-998?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

chanzhu reassigned SCB-998:
---------------------------

    Assignee:     (was: chanzhu)

> [SCB-998] do not support hibernate lazy loading
> -----------------------------------------------
>
>                 Key: SCB-998
>                 URL: https://issues.apache.org/jira/browse/SCB-998
>             Project: Apache ServiceComb
>          Issue Type: Bug
>          Components: Java-Chassis
>            Reporter: 何一乐
>            Priority: Blocker
>
> when use spring boot, there is a config *jpa.open-in-view=true* ,
> prevent session closed ahead of time we expect. but cse(java chassis ) makes the config invalid.
> ```
> org.hibernate.LazyInitializationException: could not initialize proxy - no Session
> 	at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:155)
> 	at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:268)
> 	at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:73)
> 	at com.huawei.ioc.app.basemgmt.entity.BasEquipmentInfoEntity_$$_jvst5bc_12.getEquipCn(BasEquipmentInfoEntity_$$_jvst5bc_12.java)
> 	at com.huawei.ioc.app.basemgmt.controller.AppEquipmentController.get(AppEquipmentController.java:121)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:498)
> 	at org.apache.servicecomb.swagger.engine.SwaggerProducerOperation.doInvoke(SwaggerProducerOperation.java:180)
> 	at org.apache.servicecomb.swagger.engine.SwaggerProducerOperation.syncInvoke(SwaggerProducerOperation.java:165)
> 	at org.apache.servicecomb.swagger.engine.SwaggerProducerOperation.invoke(SwaggerProducerOperation.java:119)
> 	at org.apache.servicecomb.core.handler.impl.ProducerOperationHandler.handle(ProducerOperationHandler.java:40)
> 	at org.apache.servicecomb.core.Invocation.next(Invocation.java:189)
> 	at org.apache.servicecomb.bizkeeper.BizkeeperCommand.lambda$construct$2(BizkeeperCommand.java:79)
> 	at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
> 	at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
> 	at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
> 	at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
> 	at rx.Observable.unsafeSubscribe(Observable.java:10151)
> 	at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:51)
> 	at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:35)
> 	at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
> 	at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
> 	at rx.Observable.unsafeSubscribe(Observable.java:10151)
> 	at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)
> 	at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)
> 	at rx.Observable.unsafeSubscribe(Observable.java:10151)
> 	at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)
> 	at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)
> 	at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
> 	at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
> 	at rx.Observable.unsafeSubscribe(Observable.java:10151)
> 	at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)
> 	at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)
> 	at rx.Observable.unsafeSubscribe(Observable.java:10151)
> 	at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)
> 	at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)
> 	at rx.Observable.unsafeSubscribe(Observable.java:10151)
> 	at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)
> 	at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)
> 	at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
> 	at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
> 	at rx.Observable.unsafeSubscribe(Observable.java:10151)
> 	at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:51)
> 	at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:35)
> 	at rx.Observable.unsafeSubscribe(Observable.java:10151)
> 	at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:48)
> 	at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:33)
> 	at rx.Observable.unsafeSubscribe(Observable.java:10151)
> 	at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)
> 	at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)
> 	at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
> 	at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
> 	at rx.Observable.unsafeSubscribe(Observable.java:10151)
> 	at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)
> 	at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)
> 	at rx.Observable.unsafeSubscribe(Observable.java:10151)
> 	at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:51)
> 	at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:35)
> 	at rx.Observable.subscribe(Observable.java:10247)
> 	at rx.Observable.subscribe(Observable.java:10214)
> 	at rx.Observable.subscribe(Observable.java:10095)
> 	at org.apache.servicecomb.bizkeeper.BizkeeperHandler.handle(BizkeeperHandler.java:78)
> 	at org.apache.servicecomb.core.Invocation.next(Invocation.java:189)
> 	at org.apache.servicecomb.qps.ProviderQpsFlowControlHandler.handle(ProviderQpsFlowControlHandler.java:49)
> 	at org.apache.servicecomb.core.Invocation.next(Invocation.java:189)
> 	at org.apache.servicecomb.common.rest.AbstractRestInvocation.doInvoke(AbstractRestInvocation.java:205)
> 	at org.apache.servicecomb.common.rest.AbstractRestInvocation.invoke(AbstractRestInvocation.java:178)
> 	at org.apache.servicecomb.common.rest.AbstractRestInvocation.runOnExecutor(AbstractRestInvocation.java:162)
> 	at org.apache.servicecomb.common.rest.AbstractRestInvocation.lambda$scheduleInvocation$0(AbstractRestInvocation.java:145)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> 	at java.lang.Thread.run(Thread.java:748)
> 11:03:48.798 [pool-2-thread-1] WARN  o.a.s.bizkeeper.BizkeeperCommand - bizkeeper command PRODUCER rest huawei-ioc-app-basemgmt.AppEquipmentController.get failed due to {} 
> org.apache.servicecomb.swagger.invocation.exception.InvocationException: InvocationException: code=590;msg=CommonExceptionData [message=Cse Internal Server Error]
> 	at org.apache.servicecomb.swagger.invocation.exception.ExceptionFactory.doCreate(ExceptionFactory.java:79)
> 	at org.apache.servicecomb.swagger.invocation.exception.ExceptionFactory.convertException(ExceptionFactory.java:124)
> 	at org.apache.servicecomb.swagger.invocation.exception.ExceptionFactory.convertProducerException(ExceptionFactory.java:97)
> 	at org.apache.servicecomb.swagger.invocation.Response.createProducerFail(Response.java:134)
> 	at org.apache.servicecomb.swagger.invocation.Response.producerFailResp(Response.java:145)
> 	at org.apache.servicecomb.swagger.invocation.exception.DefaultExceptionToResponseConverter.convert(DefaultExceptionToResponseConverter.java:36)
> 	at org.apache.servicecomb.swagger.invocation.exception.ExceptionToResponseConverters.convertExceptionToResponse(ExceptionToResponseConverters.java:59)
> 	at org.apache.servicecomb.swagger.invocation.exception.ExceptionFactory.convertExceptionToResponse(ExceptionFactory.java:128)
> 	at org.apache.servicecomb.swagger.engine.SwaggerProducerOperation.processException(SwaggerProducerOperation.java:205)
> 	at org.apache.servicecomb.swagger.engine.SwaggerProducerOperation.doInvoke(SwaggerProducerOperation.java:195)
> 	at org.apache.servicecomb.swagger.engine.SwaggerProducerOperation.syncInvoke(SwaggerProducerOperation.java:165)
> 	at org.apache.servicecomb.swagger.engine.SwaggerProducerOperation.invoke(SwaggerProducerOperation.java:119)
> 	at org.apache.servicecomb.core.handler.impl.ProducerOperationHandler.handle(ProducerOperationHandler.java:40)
> 	at org.apache.servicecomb.core.Invocation.next(Invocation.java:189)
> 	at org.apache.servicecomb.bizkeeper.BizkeeperCommand.lambda$construct$2(BizkeeperCommand.java:79)
> 	at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
> 	at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
> 	at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
> 	at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
> 	at rx.Observable.unsafeSubscribe(Observable.java:10151)
> 	at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:51)
> 	at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:35)
> 	at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
> 	at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
> 	at rx.Observable.unsafeSubscribe(Observable.java:10151)
> 	at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)
> 	at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)
> 	at rx.Observable.unsafeSubscribe(Observable.java:10151)
> 	at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)
> 	at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)
> 	at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
> 	at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
> 	at rx.Observable.unsafeSubscribe(Observable.java:10151)
> 	at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)
> 	at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)
> 	at rx.Observable.unsafeSubscribe(Observable.java:10151)
> 	at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)
> 	at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)
> 	at rx.Observable.unsafeSubscribe(Observable.java:10151)
> 	at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)
> 	at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)
> 	at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
> 	at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
> 	at rx.Observable.unsafeSubscribe(Observable.java:10151)
> 	at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:51)
> 	at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:35)
> 	at rx.Observable.unsafeSubscribe(Observable.java:10151)
> 	at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:48)
> 	at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:33)
> 	at rx.Observable.unsafeSubscribe(Observable.java:10151)
> 	at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)
> 	at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)
> 	at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
> 	at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
> 	at rx.Observable.unsafeSubscribe(Observable.java:10151)
> 	at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)
> 	at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)
> 	at rx.Observable.unsafeSubscribe(Observable.java:10151)
> 	at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:51)
> 	at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:35)
> 	at rx.Observable.subscribe(Observable.java:10247)
> 	at rx.Observable.subscribe(Observable.java:10214)
> 	at rx.Observable.subscribe(Observable.java:10095)
> 	at org.apache.servicecomb.bizkeeper.BizkeeperHandler.handle(BizkeeperHandler.java:78)
> 	at org.apache.servicecomb.core.Invocation.next(Invocation.java:189)
> 	at org.apache.servicecomb.qps.ProviderQpsFlowControlHandler.handle(ProviderQpsFlowControlHandler.java:49)
> 	at org.apache.servicecomb.core.Invocation.next(Invocation.java:189)
> 	at org.apache.servicecomb.common.rest.AbstractRestInvocation.doInvoke(AbstractRestInvocation.java:205)
> 	at org.apache.servicecomb.common.rest.AbstractRestInvocation.invoke(AbstractRestInvocation.java:178)
> 	at org.apache.servicecomb.common.rest.AbstractRestInvocation.runOnExecutor(AbstractRestInvocation.java:162)
> 	at org.apache.servicecomb.common.rest.AbstractRestInvocation.lambda$scheduleInvocation$0(AbstractRestInvocation.java:145)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> 	at java.lang.Thread.run(Thread.java:748)
> Caused by: org.hibernate.LazyInitializationException: could not initialize proxy - no Session
> 	at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:155)
> 	at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:268)
> 	at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:73)
> 	at com.huawei.ioc.app.basemgmt.entity.BasEquipmentInfoEntity_$$_jvst5bc_12.getEquipCn(BasEquipmentInfoEntity_$$_jvst5bc_12.java)
> 	at com.huawei.ioc.app.basemgmt.controller.AppEquipmentController.get(AppEquipmentController.java:121)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:498)
> 	at org.apache.servicecomb.swagger.engine.SwaggerProducerOperation.doInvoke(SwaggerProducerOperation.java:180)
>  
> ```



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)