Openbravo Issue Tracking System - Retail Modules
View Issue Details
0034407Retail ModulesWeb POSpublic2016-11-07 10:302016-11-07 10:45
guillermogil 
Retail 
immediatecriticalalways
closedno change required 
5
 
 
marvintm
QA functional test
2016-07-26
RR16Q3
https://code.openbravo.com/retail/backports/3.0RR16Q3.3/org.openbravo.mobile.core/rev/701f8f37413c72c9d87ef4b004524df7b1ab4c25 [^]
No
0034407: [RR16Q3] It is not possible to load on WebPOS if you have more than 35000 products
It is not possible to load on WebPOS if you have more than 35000 products.
You get the following error on the load:

95b61838 9878538 [http-8080-5] ERROR org.openbravo.mobile.core.process.JSONRowConverter - Error in JSON process: could not execute query using scroll
org.hibernate.exception.GenericJDBCException: could not execute query using scroll
    at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:140)
    at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:128)
    at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
    at org.hibernate.loader.Loader.scroll(Loader.java:2641)
    at org.hibernate.loader.hql.QueryLoader.scroll(QueryLoader.java:514)
    at org.hibernate.hql.ast.QueryTranslatorImpl.scroll(QueryTranslatorImpl.java:415)
    at org.hibernate.engine.query.HQLQueryPlan.performScroll(HQLQueryPlan.java:269)
    at org.hibernate.impl.SessionImpl.scroll(SessionImpl.java:1353)
    at org.hibernate.impl.QueryImpl.scroll(QueryImpl.java:90)
    at org.openbravo.mobile.core.process.ProcessHQLQuery$1.buildResponse(ProcessHQLQuery.java:257)
    at org.openbravo.mobile.core.process.ProcessHQLQuery$1.buildResponse(ProcessHQLQuery.java:265)
    at org.openbravo.mobile.core.process.ProcessHQLQuery.exec(ProcessHQLQuery.java:210)
    at org.openbravo.mobile.core.process.SecuredJSONProcess.secureExec(SecuredJSONProcess.java:54)
    at org.openbravo.mobile.core.process.MobileServiceProcessor.execProcess(MobileServiceProcessor.java:117)
    at org.openbravo.mobile.core.process.MobileServiceProcessor.execServiceName(MobileServiceProcessor.java:79)
    at org.openbravo.mobile.core.process.MobileService.doGetOrPost(MobileService.java:89)
    at org.openbravo.mobile.core.process.MobileService.doGet(MobileService.java:53)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    at org.openbravo.base.HttpBaseServlet.serviceInitialized(HttpBaseServlet.java:228)
    at org.openbravo.base.secureApp.HttpSecureAppServlet.service(HttpSecureAppServlet.java:431)
    at org.openbravo.client.kernel.BaseKernelServlet.callServiceInSuper(BaseKernelServlet.java:87)
    at org.openbravo.mobile.core.process.WebServiceAuthenticatedServlet.service(WebServiceAuthenticatedServlet.java:60)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.openbravo.utils.SessionExpirationFilter.doFilter(SessionExpirationFilter.java:66)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.openbravo.utils.CharsetFilter.doFilter(CharsetFilter.java:35)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.openbravo.client.kernel.KernelFilter$1.doAction(KernelFilter.java:62)
    at org.openbravo.dal.core.ThreadHandler.run(ThreadHandler.java:46)
    at org.openbravo.client.kernel.KernelFilter.doFilter(KernelFilter.java:71)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.openbravo.dal.core.DalRequestFilter$1.doAction(DalRequestFilter.java:81)
    at org.openbravo.dal.core.ThreadHandler.run(ThreadHandler.java:46)
    at org.openbravo.dal.core.DalRequestFilter.doFilter(DalRequestFilter.java:103)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    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:103)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:745)
Caused by: org.postgresql.util.PSQLException: Operation requires a scrollable ResultSet, but this ResultSet is FORWARD_ONLY.
    at org.postgresql.jdbc.PgResultSet.checkScrollable(PgResultSet.java:278)
    at org.postgresql.jdbc.PgResultSet.absolute(PgResultSet.java:284)
    at org.hibernate.loader.Loader.advance(Loader.java:1625)
    at org.hibernate.loader.Loader.getResultSet(Loader.java:1958)
    at org.hibernate.loader.Loader.scroll(Loader.java:2606)
    ... 47 more

Also it does not stop the loading process and it should.
Change the limit and offset parameters in the standard sampledata.

Try to load WebPOS
It seems to be a wrong backport:
16Q3 - Wrong: https://code.openbravo.com/retail/backports/3.0RR16Q3.3/org.openbravo.mobile.core/rev/701f8f37413c72c9d87ef4b004524df7b1ab4c25 [^]
16Q2 - OK: https://code.openbravo.com/retail/backports/3.0RR16Q2.4/org.openbravo.mobile.core/rev/990ac1cac5e0b5bf33b4454ff68b709409aa94e5 [^]

It should be needed to remove the following line:
limit = limit - queryRows;
No tags attached.
depends on backport 0034408RR16Q3.3 closed ranjith_qualiantech_com [RR16Q3] It is not possible to load on WebPOS if you have more than 35000 products 
Issue History
2016-11-07 10:30guillermogilNew Issue
2016-11-07 10:30guillermogilAssigned To => Retail
2016-11-07 10:30guillermogilResolution time => 1479078000
2016-11-07 10:30guillermogilRegression level => QA functional test
2016-11-07 10:30guillermogilRegression date => 2016-07-26
2016-11-07 10:30guillermogilRegression introduced in release => RR16Q3
2016-11-07 10:30guillermogilTriggers an Emergency Pack => No
2016-11-07 10:32guillermogilRegression introduced by commit => https://code.openbravo.com/retail/backports/3.0RR16Q3.3/org.openbravo.mobile.core/rev/701f8f37413c72c9d87ef4b004524df7b1ab4c25 [^]
2016-11-07 10:37guillermogilProposed Solution updated
2016-11-07 10:43marvintmStatusnew => scheduled
2016-11-07 10:45marvintmReview Assigned To => marvintm
2016-11-07 10:45marvintmNote Added: 0091190
2016-11-07 10:45marvintmStatusscheduled => closed
2016-11-07 10:45marvintmResolutionopen => no change required

Notes
(0091190)
marvintm   
2016-11-07 10:45   
As mentioned in the issue, the problem doesn't happen in pi, in 16Q4, or in 16Q2, but it does happen in 16Q3 due to the fact that the backport for the original fix was not properly done. This issue will now be closed, and the backport for 16Q3 will be fixed.