#1 2016-05-12 20:45:54

gary.knapp
Member
Registered: 2016-05-12

BIRT .RPTDesign file limit

We have several BIRT report templates that are to large to import. How can I circumvent this issue? I know the data base stores the reports in a long text field  with a limit of 4GiB. My reports are no larger than 5.6 MB. In theory I should have  more than enough space.  However when importing the reports, It never returns the file name.

Offline

#2 2016-05-12 20:52:17

Arno Mittelbach
datenwerke
Registered: 2012-02-14

Re: BIRT .RPTDesign file limit

Hi Gary,

welcome to the ReportServer forums.

Could you try uploading the files in the internal fileserver to see whether there is a problem with the upload all together or whether it is solely the Birt upload? Have you checked the server logs if there is any indication as to what is going on? There shouldn't be any upload limit and 5MB should definitely not be a problem.

Cheers,
Arno

Offline

#3 2016-05-13 14:15:52

gary.knapp
Member
Registered: 2016-05-12

Re: BIRT .RPTDesign file limit

I tried uploading to FileServer Root/resources/rs as root.  I tried the largest file (5.6MB)  and one about 1.2MB. It  had the same result.

I checked tomcat  and it has an upload limit of 50MB.  The catalina log hasn't been started for today. The localhost access log is currently empty. Below is the last entry from the localhost.(date).log. I am checking with our Mysql DBA  on the PacketTooBigException.

For Background we  are transitioning out of OpenReports. The fact the project is currently dead and we have problems with its scheduler drove the decision.  I am told that Open reports had a similar issue. There the admin just copied the files to the repository folder on the server.

13-May-2016 08:57:21.837 SEVERE [http-nio-8080-exec-10] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [default] in context with path [] threw exception
javax.persistence.RollbackException: Error while committing the transaction
    at org.hibernate.jpa.internal.TransactionImpl.commit(TransactionImpl.java:86)
    at com.google.inject.persist.jpa.JpaLocalTxnInterceptor.invoke(JpaLocalTxnInterceptor.java:87)
    at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:109)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:109)
    at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
    at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
    at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
    at com.google.inject.persist.PersistFilter.doFilter(PersistFilter.java:89)
    at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
    at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
    at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
    at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
    at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1502)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1458)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)
Caused by: javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: could not execute statement
    at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1692)
    at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1602)
    at org.hibernate.jpa.internal.TransactionImpl.commit(TransactionImpl.java:67)
    ... 36 more
Caused by: org.hibernate.exception.GenericJDBCException: could not execute statement
    at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:47)
    at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:109)
    at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:95)
    at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:207)
    at org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:45)
    at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3069)
    at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2948)
    at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3328)
    at org.hibernate.action.internal.EntityUpdateAction.execute(EntityUpdateAction.java:145)
    at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:451)
    at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:336)
    at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:335)
    at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:39)
    at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1224)
    at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:464)
    at org.hibernate.internal.SessionImpl.flushBeforeTransactionCompletion(SessionImpl.java:2905)
    at org.hibernate.internal.SessionImpl.beforeTransactionCompletion(SessionImpl.java:2281)
    at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.beforeTransactionCompletion(JdbcCoordinatorImpl.java:485)
    at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.beforeCompletionCallback(JdbcResourceLocalTransactionCoordinatorImpl.java:146)
    at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.access$100(JdbcResourceLocalTransactionCoordinatorImpl.java:38)
    at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:230)
    at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:65)
    at org.hibernate.jpa.internal.TransactionImpl.commit(TransactionImpl.java:61)
    ... 36 more
Caused by: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1281662 > 1048576). You can change this value on the server by setting the max_allowed_packet' variable.
    at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3583)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2460)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2625)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2551)
    at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1861)
    at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2073)
    at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2009)
    at com.mysql.jdbc.PreparedStatement.executeLargeUpdate(PreparedStatement.java:5094)
    at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1994)
    at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:1449)
    at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:204)
    ... 55 more

Offline

#4 2016-05-13 15:04:17

Arno Mittelbach
datenwerke
Registered: 2012-02-14

Re: BIRT .RPTDesign file limit

Ok, so it seems that the database blocks the file upload. Have you used the installer or done a manual installation?

Offline

#5 2016-05-13 15:20:55

Arno Mittelbach
datenwerke
Registered: 2012-02-14

Re: BIRT .RPTDesign file limit

Hi Gary,

I just checked, and the ReportServer installer by default sets the maximum allowed size to 32MB. If you did a manual installation your DBA would need to look for the my.cnf config file and adjust the property

max_allowed_packet=32M

Cheers,
Arno

Offline

#6 2023-02-26 05:29:26

vmatti
Member
Registered: 2023-02-26

Re: BIRT .RPTDesign file limit

Hi Arno,

I am facing the same issue, I have BIRT report .rptdesign file size of 1.07 MB, and when I try to upload the file, I am facing with the error, "Error
The upload was unsuccessful.
Upload failed Request Entity Too Large"

We are using Community Edition of Rerport Server , below are the details of version:
RS4.2.0-6066
2022-06-29-18-43-47

It looks like, this issue looks very similar to mine, Can you please guide me on , where can I find this property ? will it reside in any of the tables or the codebase of ReportServer's Community edition

Thank you,
Chandu

Offline

#7 2023-02-27 09:23:52

eduardo
Administrator
Registered: 2016-11-01
Website

Re: BIRT .RPTDesign file limit

Hi Chandu,

pls post the complete error stack you are getting.

Regards,
Eduardo

Offline

#8 2023-03-07 17:42:14

vmatti
Member
Registered: 2023-02-26

Re: BIRT .RPTDesign file limit

hi edurado,

this is the below error when i upload that 1.1MB file I am getting

04:14:06.464 ERROR o.h.e.jdbc.spi.SqlExceptionHelper - An I/O error occurred while sending to the backend.
04:14:06.465 WARN  n.d.s.s.s.s.j.JpaJobStore$$EnhancerByGuice$$8eee5149 - org.hibernate.exception.JDBCConnectionException: could not extract ResultSet
        at net.datenwerke.scheduler.service.scheduler.SchedulerDaemon.run(SchedulerDaemon.java:91)
        at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: org.hibernate.exception.JDBCConnectionException: could not extract ResultSet
        at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:112)
        at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:37)
        at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:113)
        at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:99)
        at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:67)
        at org.hibernate.loader.Loader.getResultSet(Loader.java:2322)
        at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2075)
        at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2037)
        at org.hibernate.loader.Loader.doQuery(Loader.java:956)
        at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:357)
        at org.hibernate.loader.Loader.doList(Loader.java:2868)
        at org.hibernate.loader.Loader.doList(Loader.java:2850)
        at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2682)
        at org.hibernate.loader.Loader.list(Loader.java:2677)
        at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:540)
        at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:400)
        at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:219)
        at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1459)
        at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1649)
        at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1617)
        ... 6 common frames omitted
Caused by: org.postgresql.util.PSQLException: An I/O error occurred while sending to the backend.
        at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:383)
        at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:490)
        at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:408)
        at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:181)
        at org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:133)
        at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:1471)
        at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:57)
        ... 21 common frames omitted
Caused by: java.net.SocketException: Connection reset by peer (Write failed)
        at java.base/java.net.SocketOutputStream.socketWrite0(Native Method)
        at java.base/java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:110)
        at java.base/java.net.SocketOutputStream.write(SocketOutputStream.java:150)
        at java.base/sun.security.ssl.SSLSocketOutputRecord.deliver(SSLSocketOutputRecord.java:345)
        at java.base/sun.security.ssl.SSLSocketImpl$AppOutputStream.write(SSLSocketImpl.java:1304)
        at java.base/java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:81)
        at java.base/java.io.BufferedOutputStream.flush(BufferedOutputStream.java:142)
        at org.postgresql.core.PGStream.flush(PGStream.java:709)
        at org.postgresql.core.v3.QueryExecutorImpl.sendSync(QueryExecutorImpl.java:1528)
        at org.postgresql.core.v3.QueryExecutorImpl.flushIfDeadlockRisk(QueryExecutorImpl.java:1455)
        at org.postgresql.core.v3.QueryExecutorImpl.sendQuery(QueryExecutorImpl.java:1481)
        at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:348)

Thank you,

Offline

#9 2023-03-08 09:11:55

eduardo
Administrator
Registered: 2016-11-01
Website

Re: BIRT .RPTDesign file limit

Hi vmatti,

in the error stack I don't see this ""Error
The upload was unsuccessful.
Upload failed Request Entity Too Large"

are you sure you are getting the same error ? This does not seem to be the case, pls check again.

If you try multiple times, are you getting always the same error or different errors?

Regards,
Eduardo

Offline

#10 2023-03-19 22:11:44

vmatti
Member
Registered: 2023-02-26

Re: BIRT .RPTDesign file limit

hi Edurado,

I tried multiple times replicating the error, but logs or console output is blank, may be the application we hosted has log configuration issue
but "Error
The upload was unsuccessful.
Upload failed Request Entity Too Large" is the one which is getting generated in UI side, (Visible in apopup ) not sure if i'm unable to attach the images

below is the CURL API Call that is returning Status : "413 Request Entity Too Large"

curl 'https://dashboard.estreamlyqa.com/repor … fileupload' \
  -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7' \
  -H 'Accept-Language: en-US,en;q=0.9,te-IN;q=0.8,te;q=0.7' \
  -H 'Cache-Control: max-age=0' \
  -H 'Connection: keep-alive' \
  -H 'Content-Type: multipart/form-data; boundary=----WebKitFormBoundarycWtQ76ZsNWByHp3A' \
  -H 'Cookie: locale=en; JSESSIONID=1915C9E7A9449F8F7787F1001D8BCEF9' \
  -H 'Origin: https://dashboard.estreamlyqa.com' \
  -H 'Referer: https://dashboard.estreamlyqa.com/' \
  -H 'Sec-Fetch-Dest: iframe' \
  -H 'Sec-Fetch-Mode: navigate' \
  -H 'Sec-Fetch-Site: same-origin' \
  -H 'Sec-Fetch-User: ?1' \
  -H 'Upgrade-Insecure-Requests: 1' \
  -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36' \
  -H 'sec-ch-ua: "Google Chrome";v="111", "Not(A:Brand";v="8", "Chromium";v="111"' \
  -H 'sec-ch-ua-mobile: ?0' \
  -H 'sec-ch-ua-platform: "Windows"' \
  --data-raw $'------WebKitFormBoundarycWtQ76ZsNWByHp3A\r\nContent-Disposition: form-data; name="__internal_datasource_4"\r\n\r\n\r\n------WebKitFormBoundarycWtQ76ZsNWByHp3A\r\nContent-Disposition: form-data; name="rs_file_up__xhr_birtreport"\r\n\r\n\r\n------WebKitFormBoundarycWtQ76ZsNWByHp3A\r\nContent-Disposition: form-data; name="rs_file_up__xhrlength_birtreport"\r\n\r\n\r\n------WebKitFormBoundarycWtQ76ZsNWByHp3A\r\nContent-Disposition: form-data; name="rs_file_up__xhrname_birtreport"\r\n\r\n\r\n------WebKitFormBoundarycWtQ76ZsNWByHp3A\r\nContent-Disposition: form-data; name="rs_file_up__id_birtreport"\r\n\r\n1\r\n------WebKitFormBoundarycWtQ76ZsNWByHp3A\r\nContent-Disposition: form-data; name="rs_file_up__handler_birtreport"\r\n\r\nbirtreport_upload_handler\r\n------WebKitFormBoundarycWtQ76ZsNWByHp3A\r\nContent-Disposition: form-data; name="rs_file_up__meta_birtreport_reportID"\r\n\r\n47853\r\n------WebKitFormBoundarycWtQ76ZsNWByHp3A\r\nContent-Disposition: form-data; name="rs_file_up__file_birtreport"; filename="metricsReport_v1.1.rptdesign"\r\nContent-Type: application/octet-stream\r\n\r\n\r\n------WebKitFormBoundarycWtQ76ZsNWByHp3A--\r\n' \
  --compressed

is this call helpful? also can you let me know the configuration file where I can config these logs in community edition source code ?

Thank you,
Chandu

Offline

#11 2023-03-20 16:31:19

eduardo
Administrator
Registered: 2016-11-01
Website

Re: BIRT .RPTDesign file limit

Hi Chandu,

vmatti wrote:

but logs or console output is blank


where exactly are you looking at?

Regarding screenshots: you can use http://imgbb.com for posting screenshots.

Regards,
Eduardo

Offline

#12 2023-03-28 05:13:46

vmatti
Member
Registered: 2023-02-26

Re: BIRT .RPTDesign file limit

Hi Edurado,

for logs, we are looking at those lines where ReportServer logo is loaded (like when you run an application in IDE, the statements that gets published in console ) , we are unsure of log configuration in theinternally hosted community edition, (Do you recommend any documentation for configuring these logs correctly ? )

this is the Screenshot of File upload error that we are facing
https://ibb.co/37gL1bB

thank you

Offline

#13 2023-03-28 15:03:32

eduardo
Administrator
Registered: 2016-11-01
Website

Re: BIRT .RPTDesign file limit

Hi vmatti,

are you using a Bitnami/ReportServer .exe or a docker version, or a manual installation?

Anyway, you can check here: https://www.accusoft.com/faqs/why-am-i- … 20response.

For Apache users:
The directive is LimitRequestBody which can be defined in your http.conf file or in an .htaccess file.

you can google "413 request entity too large" and check the Apache documentation for specific examples / settings, as this is Apache / Web Server issue.

In case of Tomcat: https://stackoverflow.com/questions/513 … che-tomcat

Regards,
Eduardo

Offline

Board footer

Powered by FluxBB