Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Intermittent Exception while downloading dependencies #84

Closed
ruzkant opened this issue May 27, 2020 · 5 comments
Closed

Intermittent Exception while downloading dependencies #84

ruzkant opened this issue May 27, 2020 · 5 comments
Labels
bug Bugs & errors found in Reposilite

Comments

@ruzkant
Copy link

ruzkant commented May 27, 2020

I only specified one dependency in my gradle build which has a few transitive dependencies:

task wrapper(type: Wrapper) {
    gradleVersion = '4.4'
}
apply plugin: 'java'

sourceCompatibility = 8
targetCompatibility = 8

repositories {
        maven {
            name 'nano'
            url "http://localhost:4567/"
            credentials {
                username 'nano'
                password '4rpwLNgxCcFS05_JAiLmoOfzcL3Wx1aUrIPsulQkI2S3NBN45y8dkROmn6KTzcNt'
            }
        }
}

dependencies {
    compile 'com.graphql-java:graphql-java:11.0' 
}

I almost always get an exception (sometimes more than one), but it is not consistently on the same dependencies.

By looking at the timestamps you can see that it resumes after the exception, but only after a timeout period. But the dependency listed before the exception was not downloaded.

03:51:37.893 INFO | /com/graphql-java/graphql-java/11.0/graphql-java-11.0.pom HEAD
03:51:38.063 INFO | /com/graphql-java/graphql-java/11.0/graphql-java-11.0.pom.sha1 GET
03:51:38.326 INFO | /org/reactivestreams/reactive-streams/1.0.2/reactive-streams-1.0.2.pom HEAD
03:51:38.510 INFO | /com/graphql-java/java-dataloader/2.1.1/java-dataloader-2.1.1.pom HEAD
03:51:38.712 INFO | /org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.pom HEAD
03:51:38.712 INFO | /org/antlr/antlr4-runtime/4.7.1/antlr4-runtime-4.7.1.pom HEAD
03:51:38.713 INFO | /org/reactivestreams/reactive-streams/1.0.2/reactive-streams-1.0.2.pom.sha1 GET
03:51:38.919 INFO | /com/graphql-java/java-dataloader/2.1.1/java-dataloader-2.1.1.pom.sha1 GET
03:51:39.227 INFO | /org/antlr/antlr4-runtime/4.7.1/antlr4-runtime-4.7.1.pom.sha1 GET
03:51:39.228 INFO | /org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.pom.sha1 GET
03:51:39.641 INFO | /org/antlr/antlr4-master/4.7.1/antlr4-master-4.7.1.pom HEAD
03:51:39.641 INFO | /org/slf4j/slf4j-parent/1.7.25/slf4j-parent-1.7.25.pom HEAD
03:51:39.843 INFO | /org/antlr/antlr4-master/4.7.1/antlr4-master-4.7.1.pom.sha1 GET
03:51:40.045 INFO | /org/slf4j/slf4j-parent/1.7.25/slf4j-parent-1.7.25.pom.sha1 GET
03:51:40.200 INFO | /org/sonatype/oss/oss-parent/9/oss-parent-9.pom HEAD
03:51:40.762 INFO | /org/sonatype/oss/oss-parent/9/oss-parent-9.pom.sha1 GET
03:51:40.996 INFO | /com/graphql-java/graphql-java/11.0/graphql-java-11.0.jar HEAD
03:51:40.996 INFO | /org/antlr/antlr4-runtime/4.7.1/antlr4-runtime-4.7.1.jar HEAD
03:51:40.997 INFO | /org/reactivestreams/reactive-streams/1.0.2/reactive-streams-1.0.2.jar HEAD
03:51:40.997 INFO | /com/graphql-java/java-dataloader/2.1.1/java-dataloader-2.1.1.jar HEAD
03:51:41.172 INFO | /org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar HEAD
03:51:41.177 ERROR | Exception occurred while servicing http-request: java.lang.IllegalStateException: s=OPEN,api=BLOCKED,sc=false,e=null
	at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:767)
	at java.util.zip.DeflaterOutputStream.deflate(DeflaterOutputStream.java:253)
	at java.util.zip.DeflaterOutputStream.write(DeflaterOutputStream.java:211)
	at java.util.zip.GZIPOutputStream.write(GZIPOutputStream.java:145)
	at io.javalin.http.OutputStreamWrapper.write(JavalinResponseWrapper.kt:92)
	at kotlin.io.ByteStreamsKt.copyTo(IOStreams.kt:108)
	at kotlin.io.ByteStreamsKt.copyTo$default(IOStreams.kt:103)
	at io.javalin.http.JavalinResponseWrapper.write(JavalinResponseWrapper.kt:46)
	at io.javalin.http.JavalinServlet.service(JavalinServlet.kt:82)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	at io.javalin.websocket.JavalinWsServlet.service(JavalinWsServlet.kt:50)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:755)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:547)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1607)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
	at io.javalin.core.JavalinServer$start$wsAndHttpHandler$1.doHandle(JavalinServer.kt:49)
	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.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)
	at java.lang.Thread.run(Thread.java:748)
03:51:41.330 INFO | /com/graphql-java/graphql-java/11.0/graphql-java-11.0.jar.sha1 GET
03:51:41.330 INFO | /org/reactivestreams/reactive-streams/1.0.2/reactive-streams-1.0.2.jar.sha1 GET
03:51:41.330 INFO | /com/graphql-java/java-dataloader/2.1.1/java-dataloader-2.1.1.jar.sha1 GET
03:51:41.330 INFO | /org/antlr/antlr4-runtime/4.7.1/antlr4-runtime-4.7.1.jar.sha1 GET

Local gradle log shows:

Could not resolve all files for configuration ':compileClasspath'.
> Could not download slf4j-api.jar (org.slf4j:slf4j-api:1.7.25)
   > Failed to download SHA1 for resource 'http://localhost:4567/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar'.
      > Could not GET 'http://localhost:4567/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar.sha1'.
         > Read timed out

@dzikoysk dzikoysk added the bug Bugs & errors found in Reposilite label May 27, 2020
@dzikoysk
Copy link
Owner

dzikoysk commented May 27, 2020

Looks like a Jetty's bug GH-4461 🤔

Reposilite 2.4.3 serves non blocking proxied requests. I've also replaced Jetty version used by Javalin with a newer version.

https://repo.panda-lang.org/org/panda-lang/reposilite/2.4.3/reposilite-2.4.3.jar

Maybe that's enough to work around this problem.

@dzikoysk dzikoysk added the in progress Issue is currently being processed label May 27, 2020
@ruzkant
Copy link
Author

ruzkant commented May 27, 2020

I have run some tests, and that seems to have resolved it for me. Downloaded quite a few dependencies over a period

@ruzkant
Copy link
Author

ruzkant commented May 27, 2020

I did see this warning which is probably not a problem for me since I am running java8 and I see no functional effects...

May 27, 2020 5:04:46 PM com.fasterxml.jackson.databind.ext.Java7Handlers
WARNING: Unable to load JDK7 types (java.nio.file.Path): no Java7 type support added

@dzikoysk
Copy link
Owner

dzikoysk commented May 27, 2020

It is a standard message from Jackson library (xml serialization). Jackson supports Java 7, so when you are launching it on Java 8+, it's prompting this message during the first call to its API :)

~ FasterXML/jackson-databind#2446

@ruzkant
Copy link
Author

ruzkant commented May 27, 2020

Thanks a lot for your work on this project...

dzikoysk added a commit that referenced this issue May 27, 2020
@dzikoysk dzikoysk removed the in progress Issue is currently being processed label May 27, 2020
dzikoysk added a commit that referenced this issue Jul 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Bugs & errors found in Reposilite
Projects
None yet
Development

No branches or pull requests

2 participants