reposilite icon indicating copy to clipboard operation
reposilite copied to clipboard

Can't upload files more than 100mb

Open FunixG opened this issue 1 year ago • 4 comments

What happened?

Hello !

When I try to upload my project, I got an issue that tells me I have no more space in memory. I have a docker instance with 20gb of data and my nginx proxy is limited to 500MB so it's less than what I am sending.

Reposilite version

3.x

Relevant log output

13:35:56.163 ERROR | /private/fr/pacifista/api/service/pacifista-api-service/1.0.0/pacifista-api-service-1.0.0-javadoc.jar.asc
13:35:56.163 ERROR | java.io.IOException: No space left on device
13:35:56.163 ERROR |    at java.base/java.io.FileOutputStream.writeBytes(Native Method)
13:35:56.163 ERROR |    at java.base/java.io.FileOutputStream.write(FileOutputStream.java:349)
13:35:56.163 ERROR |    at kotlin.io.ByteStreamsKt.copyTo(IOStreams.kt:108)
13:35:56.163 ERROR |    at kotlin.io.ByteStreamsKt.copyTo$default(IOStreams.kt:103)
13:35:56.163 ERROR |    at com.reposilite.storage.filesystem.FileSystemStorageProvider.putFile$lambda-4$lambda-3(FileSystemStorageProvider.kt:78)
13:35:56.163 ERROR |    at panda.std.Result.map(Result.java:152)
13:35:56.163 ERROR |    at com.reposilite.storage.filesystem.FileSystemStorageProvider.putFile(FileSystemStorageProvider.kt:65)
13:35:56.163 ERROR |    at com.reposilite.maven.Repository.putFile(Repository.kt:57)
13:35:56.163 ERROR |    at com.reposilite.maven.MavenService.deployFile(MavenService.kt:70)
13:35:56.163 ERROR |    at com.reposilite.maven.MavenFacade.deployFile(MavenFacade.kt:58)
13:35:56.163 ERROR |    at com.reposilite.maven.infrastructure.MavenEndpoints$deployFile$1$1$1$1.invoke(MavenEndpoints.kt:94)
13:35:56.163 ERROR |    at com.reposilite.maven.infrastructure.MavenEndpoints$deployFile$1$1$1$1.invoke(MavenEndpoints.kt:92)
13:35:56.163 ERROR |    at com.reposilite.maven.infrastructure.MavenRoutes$requireRepository$1.invoke(MavenRoutes.kt:26)
13:35:56.163 ERROR |    at com.reposilite.maven.infrastructure.MavenRoutes$requireRepository$1.invoke(MavenRoutes.kt:23)
13:35:56.163 ERROR |    at com.reposilite.maven.infrastructure.MavenRoutes.repository(MavenRoutes.kt:19)
13:35:56.164 ERROR |    at com.reposilite.maven.infrastructure.MavenRoutes.requireRepository(MavenRoutes.kt:23)
13:35:56.164 ERROR |    at com.reposilite.maven.infrastructure.MavenEndpoints$deployFile$1$1$1.invoke(MavenEndpoints.kt:92)
13:35:56.164 ERROR |    at com.reposilite.maven.infrastructure.MavenEndpoints$deployFile$1$1$1.invoke(MavenEndpoints.kt:91)
13:35:56.164 ERROR |    at com.reposilite.maven.infrastructure.MavenRoutes.requireGav(MavenRoutes.kt:32)
13:35:56.164 ERROR |    at com.reposilite.maven.infrastructure.MavenEndpoints$deployFile$1$1.invoke(MavenEndpoints.kt:91)
13:35:56.164 ERROR |    at com.reposilite.maven.infrastructure.MavenEndpoints$deployFile$1$1.invoke(MavenEndpoints.kt:90)
13:35:56.164 ERROR |    at com.reposilite.shared.ContextDsl$authorized$1.invoke$lambda-0(ContextDsl.kt:78)
13:35:56.164 ERROR |    at panda.std.Result.peek(Result.java:252)
13:35:56.164 ERROR |    at com.reposilite.shared.ContextDsl$authorized$1.invoke(ContextDsl.kt:78)
13:35:56.164 ERROR |    at com.reposilite.shared.ContextDsl$authorized$1.invoke(ContextDsl.kt:76)
13:35:56.164 ERROR |    at com.reposilite.shared.ContextDsl$authenticated$1.accept(ContextDsl.kt:68)
13:35:56.164 ERROR |    at com.reposilite.shared.ContextDsl$authenticated$1.accept(ContextDsl.kt:68)
13:35:56.164 ERROR |    at panda.std.Result.peek(Result.java:252)
13:35:56.164 ERROR |    at com.reposilite.shared.ContextDsl.authenticated(ContextDsl.kt:68)
13:35:56.164 ERROR |    at com.reposilite.shared.ContextDsl.authorized(ContextDsl.kt:76)
13:35:56.164 ERROR |    at com.reposilite.shared.ContextDsl.authorized$default(ContextDsl.kt:75)
13:35:56.164 ERROR |    at com.reposilite.maven.infrastructure.MavenEndpoints$deployFile$1.invoke(MavenEndpoints.kt:90)
13:35:56.164 ERROR |    at com.reposilite.maven.infrastructure.MavenEndpoints$deployFile$1.invoke(MavenEndpoints.kt:89)
13:35:56.164 ERROR |    at com.reposilite.web.application.JavalinConfiguration$configureReactiveRoutingPlugin$plugin$1.invoke(JavalinConfiguration.kt:117)
13:35:56.164 ERROR |    at com.reposilite.web.application.JavalinConfiguration$configureReactiveRoutingPlugin$plugin$1.invoke(JavalinConfiguration.kt:104)
13:35:56.164 ERROR |    at com.reposilite.web.routing.RoutingPlugin.createHandler$lambda-3(RoutingPlugin.kt:38)
13:35:56.164 ERROR |    at io.javalin.routing.HandlerEntry.handle(HandlerEntry.kt:19)
13:35:56.164 ERROR |    at io.javalin.http.servlet.DefaultTasks.HTTP$lambda-8$lambda-6$lambda-5(DefaultTasks.kt:34)
13:35:56.164 ERROR |    at io.javalin.http.servlet.JavalinServlet.handleTask(JavalinServlet.kt:79)
13:35:56.164 ERROR |    at io.javalin.http.servlet.JavalinServlet.handleSync(JavalinServlet.kt:46)
13:35:56.164 ERROR |    at io.javalin.http.servlet.JavalinServlet.service(JavalinServlet.kt:34)
13:35:56.164 ERROR |    at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:587)
13:35:56.164 ERROR |    at io.javalin.jetty.JavalinJettyServlet.service(JavalinJettyServlet.kt:58)
13:35:56.164 ERROR |    at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:587)
13:35:56.164 ERROR |    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:764)
13:35:56.164 ERROR |    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:529)
13:35:56.164 ERROR |    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221)
13:35:56.164 ERROR |    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1571)
13:35:56.164 ERROR |    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221)
13:35:56.164 ERROR |    at io.javalin.jetty.JettyServer$start$wsAndHttpHandler$1.doHandle(JettyServer.kt:56)
13:35:56.164 ERROR |    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)
13:35:56.164 ERROR |    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484)
13:35:56.164 ERROR |    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1544)
13:35:56.164 ERROR |    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)
13:35:56.165 ERROR |    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1297)
13:35:56.165 ERROR |    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
13:35:56.165 ERROR |    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
13:35:56.165 ERROR |    at org.eclipse.jetty.server.Server.handle(Server.java:562)
13:35:56.165 ERROR |    at org.eclipse.jetty.server.HttpChannel.lambda$handle$0(HttpChannel.java:505)
13:35:56.165 ERROR |    at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:762)
13:35:56.165 ERROR |    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:497)
13:35:56.165 ERROR |    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282)
13:35:56.165 ERROR |    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:319)
13:35:56.165 ERROR |    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
13:35:56.165 ERROR |    at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
13:35:56.165 ERROR |    at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:412)
13:35:56.165 ERROR |    at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:381)
13:35:56.165 ERROR |    at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:268)
13:35:56.165 ERROR |    at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.lambda$new$0(AdaptiveExecutionStrategy.java:138)
13:35:56.165 ERROR |    at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:407)
13:35:56.165 ERROR |    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:894)
13:35:56.165 ERROR |    at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1038)
13:35:56.165 ERROR |    at java.base/java.lang.Thread.run(Thread.java:833)
13:35:56.165 ERROR |

FunixG avatar Sep 22 '22 11:09 FunixG

This exception occurs when there's not enough space in your volume, so Reposilite simply can't write to fs, so this issue is slightly beyond its possibilities. Could you try to check if there's enough space to store such artifact? Keep in mind, that e.g. logs ({workdir}/.logs) can use quite a lot of disk space, even if you don't have that much artifacts in your repos.

dzikoysk avatar Sep 22 '22 11:09 dzikoysk

The docker system df -v command should let you see how much space is taken by the volume used for Reposilite. I would recommend checking that against the maximum size of the volume to see how much space is left.

joshuasing avatar Sep 22 '22 11:09 joshuasing

Thanks for the replies, actually I have this in memory : image

My docker instance have 20GB of storage

FunixG avatar Sep 22 '22 12:09 FunixG

Reposilite stores files in mounted volume, not in the container itself, I wonder if it could be related to this issue. I'm not sure what your UI means by just Disk , try to run command that @joshuasing mentioned above, it should list Images/Containers/Local volumes separately.

dzikoysk avatar Sep 22 '22 12:09 dzikoysk

I haven't found now my isse, this is a local error I think, thanks for the help. (I am using pterodactyl to manage my dockers)

FunixG avatar Sep 26 '22 10:09 FunixG

Sure, let us know if you'll find out sth. We've experienced a lot of people having hard times with pterodactyl, in the end they've mostly moved to other solutions/pure Docker.

dzikoysk avatar Sep 26 '22 10:09 dzikoysk

I see yeah ! I will keep you updated if I find something.

FunixG avatar Sep 26 '22 10:09 FunixG