quarkiverse / quarkiverse/quarkus-github-api
Problem with substituted `GithHubConnector`
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 8
- Forks
- 11
- Avg merge
- 1m
- Merged PRs (30d)
- 2
Description
Hi, It's very possible, it's a (github-api)[https://github.com/hub4j/github-api] issue, yet as this extension does this exact (substitution)[https://github.com/quarkiverse/quarkus-github-api/blob/main/runtime/src/main/java/io/quarkiverse/githubapi/runtime/graal/Substitute_DefaultGitHubConnector.java] I wanted to ask here first.
There is the following error observed.
I see somewhat of a similar issue (here)[https://github.com/OpenLiberty/open-liberty/issues/25279], but this one is for POST requests, so I am not sure how applicable it is here.
Please let me know, whether to open an issue in (github-api)[https://github.com/hub4j/github-api] repository.
The complete stacktrace:
Caused by: org.kohsuke.github.HttpException: Server returned HTTP response code: -1, message: 'null' for URL: https://api.github.com/repos/wildfly/wildfly/pulls/13687/files
at org.kohsuke.github.GitHubClient.interpretApiError(GitHubClient.java:628)
at org.kohsuke.github.GitHubClient.sendRequest(GitHubClient.java:449)
at org.kohsuke.github.GitHubPageIterator.fetch(GitHubPageIterator.java:146)
... 21 more
Caused by: java.io.IOException: /10.129.2.26:38158: GOAWAY received
at java.net.http@21.0.2/jdk.internal.net.http.HttpClientImpl.send(HttpClientImpl.java:964)
at java.net.http@21.0.2/jdk.internal.net.http.HttpClientFacade.send(HttpClientFacade.java:133)
at org.kohsuke.github.extras.HttpClientGitHubConnector.send(HttpClientGitHubConnector.java:72)
at org.kohsuke.github.GitHubClient.sendRequest(GitHubClient.java:431)
... 22 more
Caused by: java.io.IOException: /10.129.2.26:38158: GOAWAY received
at java.net.http@21.0.2/jdk.internal.net.http.Http2Connection.handleGoAway(Http2Connection.java:1204)
at java.net.http@21.0.2/jdk.internal.net.http.Http2Connection.handleConnectionFrame(Http2Connection.java:1018)
at java.net.http@21.0.2/jdk.internal.net.http.Http2Connection.processFrame(Http2Connection.java:851)
at java.net.http@21.0.2/jdk.internal.net.http.frame.FramesDecoder.decode(FramesDecoder.java:155)
at java.net.http@21.0.2/jdk.internal.net.http.Http2Connection$FramesController.processReceivedData(Http2Connection.java:307)
at java.net.http@21.0.2/jdk.internal.net.http.Http2Connection.asyncReceive(Http2Connection.java:778)
at java.net.http@21.0.2/jdk.internal.net.http.Http2Connection$Http2TubeSubscriber.processQueue(Http2Connection.java:1594)
at java.net.http@21.0.2/jdk.internal.net.http.common.SequentialScheduler$LockingRestartableTask.run(SequentialScheduler.java:182)
at java.net.http@21.0.2/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(SequentialScheduler.java:149)
at java.net.http@21.0.2/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(SequentialScheduler.java:207)
at java.net.http@21.0.2/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:280)
at java.net.http@21.0.2/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:233)
at java.net.http@21.0.2/jdk.internal.net.http.Http2Connection$Http2TubeSubscriber.runOrSchedule(Http2Connection.java:1612)
at java.net.http@21.0.2/jdk.internal.net.http.Http2Connection$Http2TubeSubscriber.onNext(Http2Connection.java:1638)
at java.net.http@21.0.2/jdk.internal.net.http.Http2Connection$Http2TubeSubscriber.onNext(Http2Connection.java:1572)
at java.net.http@21.0.2/jdk.internal.net.http.common.SSLTube$DelegateWrapper.onNext(SSLTube.java:210)
at java.net.http@21.0.2/jdk.internal.net.http.common.SSLTube$SSLSubscriberWrapper.onNext(SSLTube.java:492)
at java.net.http@21.0.2/jdk.internal.net.http.common.SSLTube$SSLSubscriberWrapper.onNext(SSLTube.java:295)
at java.net.http@21.0.2/jdk.internal.net.http.common.SubscriberWrapper$DownstreamPusher.run1(SubscriberWrapper.java:316)
at java.net.http@21.0.2/jdk.internal.net.http.common.SubscriberWrapper$DownstreamPusher.run(SubscriberWrapper.java:259)
at java.net.http@21.0.2/jdk.internal.net.http.common.SequentialScheduler$LockingRestartableTask.run(SequentialScheduler.java:182)
at java.net.http@21.0.2/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(SequentialScheduler.java:149)
at java.net.http@21.0.2/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(SequentialScheduler.java:207)
at java.net.http@21.0.2/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:280)
at java.net.http@21.0.2/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:233)
at java.net.http@21.0.2/jdk.internal.net.http.common.SubscriberWrapper.outgoing(SubscriberWrapper.java:232)
at java.net.http@21.0.2/jdk.internal.net.http.common.SubscriberWrapper.outgoing(SubscriberWrapper.java:198)
at java.net.http@21.0.2/jdk.internal.net.http.common.SSLFlowDelegate$Reader.processData(SSLFlowDelegate.java:451)
at java.net.http@21.0.2/jdk.internal.net.http.common.SSLFlowDelegate$Reader$ReaderDownstreamPusher.run(SSLFlowDelegate.java:269)
at java.net.http@21.0.2/jdk.internal.net.http.common.SequentialScheduler$LockingRestartableTask.run(SequentialScheduler.java:182)
at java.net.http@21.0.2/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(SequentialScheduler.java:149)
at java.net.http@21.0.2/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(SequentialScheduler.java:207)
at java.base@21.0.2/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base@21.0.2/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
... 4 more
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with runtime/src/main/java/io/quarkiverse/githubapi/runtime/graal/Substitute_DefaultGitHubConnector.java and the stacktrace entry points GitHubClient.sendRequest and HttpClientGitHubConnector.send. Reproduce the request to the pull-request files endpoint and determine whether the substituted connector or github-api owns the HTTP/2 GOAWAY failure. Done means the cause and owning repository are established with a reproducible case.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github, java
- Domain
- backend, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 28/100