[Perspective] Project Import Failing

I’m having issues importing a project on different Gateways.
Each time I start the import procedure, it fails and from the Gateway Logs I’m shown this stack trace, relative to the Error handling route warning.

at com.inductiveautomation.ignition.gateway.web.pages.config.routes.ProjectRoutes.importProject(ProjectRoutes.java:368)
at com.inductiveautomation.ignition.gateway.web.pages.config.routes.ProjectRoutes.lambda$mount$4(ProjectRoutes.java:187)
at com.inductiveautomation.ignition.gateway.dataroutes.Route.service(Route.java:252)
at com.inductiveautomation.ignition.gateway.dataroutes.RouteGroupImpl.service(RouteGroupImpl.java:61)
at com.inductiveautomation.ignition.gateway.dataroutes.RouteGroupCollectionServlet.serviceInternal(RouteGroupCollectionServlet.java:59)

This error doesn’t happen if I import the project through the Designer, but in this way I’m not able to overwrite the existing one: I must import the project with a different name, delete the old one and then rename the new one to its proper name.

This is the full stack trace.

org.eclipse.jetty.io.EofException: Early EOF
at org.eclipse.jetty.server.HttpInput$3.getError(HttpInput.java:1134)
at org.eclipse.jetty.server.HttpInput$3.noContent(HttpInput.java:1122)
at org.eclipse.jetty.server.HttpInput.read(HttpInput.java:321)
at java.base/java.io.BufferedInputStream.fill(Unknown Source)
at java.base/java.io.BufferedInputStream.read(Unknown Source)
at org.eclipse.jetty.util.ReadLineInputStream.read(ReadLineInputStream.java:134)
at org.eclipse.jetty.util.MultiPartInputStreamParser.parse(MultiPartInputStreamParser.java:754)
at org.eclipse.jetty.util.MultiPartInputStreamParser.getParts(MultiPartInputStreamParser.java:482)
at org.eclipse.jetty.server.MultiParts$MultiPartsUtilParser.getParts(MultiParts.java:112)
at org.eclipse.jetty.server.Request.getParts(Request.java:2326)
at org.eclipse.jetty.server.Request.getParts(Request.java:2310)
at org.eclipse.jetty.server.Request.getPart(Request.java:2300)
**at com.inductiveautomation.ignition.gateway.web.pages.config.routes.ProjectRoutes.importProject(ProjectRoutes.java:368)**
**at com.inductiveautomation.ignition.gateway.web.pages.config.routes.ProjectRoutes.lambda$mount$4(ProjectRoutes.java:187)**
**at com.inductiveautomation.ignition.gateway.dataroutes.Route.service(Route.java:252)**
**at com.inductiveautomation.ignition.gateway.dataroutes.RouteGroupImpl.service(RouteGroupImpl.java:61)**
**at com.inductiveautomation.ignition.gateway.dataroutes.RouteGroupCollectionServlet.serviceInternal(RouteGroupCollectionServlet.java:59)**
**at com.inductiveautomation.ignition.gateway.dataroutes.AbstractRouteGroupServlet.service(AbstractRouteGroupServlet.java:38)**
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder$NotAsyncServlet.service(ServletHolder.java:1391)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:760)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:547)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:590)
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:1607)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1297)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:485)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1577)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1212)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:322)
at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:59)
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:500)
at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:547)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:270)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:388)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)

How large is this project .zip?

A little less than 27 MB.

I think the default max upload size is ~21mb…

You’ll have to modify the web.xml file and restart the gateway to increase it. In $IGNITION/webserver/webapps/main/WEB-INF/web.xml there’s a section like this:

  <servlet>
    <servlet-name>DataRoutes</servlet-name>
    <servlet-class>com.inductiveautomation.ignition.gateway.dataroutes.DataServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    <multipart-config>
      <max-file-size>20848820</max-file-size>
      <max-request-size>418018841</max-request-size>
      <file-size-threshold>1048576</file-size-threshold>
    </multipart-config>
  </servlet>

You can change the max-file-size entry to something higher.

Thank you. Tomorrow I’ll give it a try and I’ll let you know.
Have a nice evening!

I’ve doubled the max-file-size entry, but the issues is still there. The stack trace is still the same as well.

Did you restart the Ignition gateway after making the change?

Hello Kevin.
Yes, I’ve restarted the Ignition Gateway service.

Hmm, you might want to go through support then. They can take your project and test it here as a sanity check. If it works here then it could be something about your client environment causing problems. If not then maybe there is some other setting I’m missing.

May I ask for the proper way to contact support? Thank you.

https://support.inductiveautomation.com/

Calling is a much faster response time than sending an email or opening a web ticket.

1 Like

Just to update you, I’ve managed to successfully import the project via browser, but only if I upload it from the same server running the gateway; it doesn’t work from a browser running on another system, but on the same network.
Support is helping me sorting out our issue.