Map upload issue

Hi,

Whilst attempting to upload a valid mbtiles file to replace the initial map dataset of Rotterdam, it fails but there’s an exception in the manager logs.

I have:

  • created an MBTiles file with my UK area. (43Mb)
  • Extended the custom tile file upload size: OR_CUSTOM_MAP_SIZE_LIMIT: 1000000000 # 1GB

image

But when I upload the file I see this in the manager logs…

manager-1  | INFO    [WebService task-8             ] g.openremote.manager.map.MapResourceImpl : Failed to save custom map tiles
manager-1  | java.net.SocketException: Connection reset
manager-1  | 	at java.base/sun.nio.ch.SocketChannelImpl.throwConnectionReset(SocketChannelImpl.java:401)
manager-1  | 	at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:434)
manager-1  | 	at org.xnio.nio.NioSocketConduit.read(NioSocketConduit.java:289)
manager-1  | 	at org.xnio.conduits.AbstractStreamSourceConduit.read(AbstractStreamSourceConduit.java:51)
manager-1  | 	at io.undertow.conduits.ReadDataStreamSourceConduit.read(ReadDataStreamSourceConduit.java:67)
manager-1  | 	at io.undertow.conduits.FixedLengthStreamSourceConduit.read(FixedLengthStreamSourceConduit.java:257)
manager-1  | 	at org.xnio.conduits.ConduitStreamSourceChannel.read(ConduitStreamSourceChannel.java:127)
manager-1  | 	at io.undertow.channels.DetachableStreamSourceChannel.read(DetachableStreamSourceChannel.java:206)
manager-1  | 	at io.undertow.server.HttpServerExchange$ReadDispatchChannel.read(HttpServerExchange.java:2444)
manager-1  | 	at org.xnio.channels.Channels.readBlocking(Channels.java:344)
manager-1  | 	at io.undertow.servlet.spec.ServletInputStreamImpl.readIntoBuffer(ServletInputStreamImpl.java:201)
manager-1  | 	at io.undertow.servlet.spec.ServletInputStreamImpl.read(ServletInputStreamImpl.java:176)
manager-1  | 	at io.undertow.servlet.spec.ServletInputStreamImpl.read(ServletInputStreamImpl.java:162)
manager-1  | 	at org.openremote.manager.map.MapService.saveUploadedFile(MapService.java:551)
manager-1  | 	at org.openremote.manager.map.MapResourceImpl.uploadMap(MapResourceImpl.java:86)

Confirmed with multiple browsers.

I’m wondering if the proxy also has a client upload size limit?

Another question:
The wiki mentions /deployment in the manager for working with map data.
But there is no /deployment volume mapped in the default docker-compose setup.
Is this a shared volume that can be mapped in? or standalone volume?

This issue is not apparent when using small mbtiles datasets
E.g. 5.5MB file size works.

I still can’t get tiles to load however.

Hi Rob,

Sorry to hear you’re having issues with the map upload, connection reset error usually indicates an issue with your network connection, the upload would need to be resumable to handle such issues.

@Koen any comment on resumable map uploads?

Hi @robshep,

Based on my experience with uploading mbtiles (in production) is that it can take a while, even with a 50 Mb/s upload speed, to upload the default Rotterdam map it can take about 10 seconds.

Could you verify if you can upload the default Rotterdam map? Like Rich mentioned this looks like a connection issue.

I’m wondering if the proxy also has a client upload size limit?

TMK the proxy doesn’t have such limit, though @Rich might know more on that front.

This issue is not apparent when using small mbtiles datasets
E.g. 5.5MB file size works. I still can’t get tiles to load however.

If small file uploads work but don’t load correctly, then please make sure to check OpenRemote Documentation | Working on maps | troubleshooting

Is this a shared volume that can be mapped in? or standalone volume?

For the manager service in the docker-compose file u can add a volume mapping to the local file/directory where you put your mbtiles.

  manager:
    restart: always
    image: openremote/manager:${MANAGER_VERSION:-latest}
    volumes:
      - manager-data:/storage
      - /tmp/mapdata.mbtiles:/deployment/map/mapdata.mbtiles

You can see in our profile/deploy.yml file more about how the deployment directory can be used.