Error trying to get pull requests

Issue #49 resolved
Eduardo Laguna created an issue

When rigth clicing a commit and going to "Find related Pull Requests" the is an error, this is the log.

2018-04-20 18:07:34,322 [26491625]   INFO - atlassian.bitbucket.cloud.rest - --> GET https://api.bitbucket.io/addons/org.bitbucket.prlinks/movix/1.0/repositories/movix/config-repo/commits/ebac563bccb6e602a457e5db596d95303d2f544d/pullrequests?fields=author.links.avatar.href,author.display_name,author.username,links.html.href,id,title,state,description,created_on,updated_on,destination.branch.name,destination.commit.hash,destination.repository.name,destination.repository.full_name,source.branch.name,source.commit.hash,source.repository.name,source.repository.full_name,reviewers.username,reviewers.display_name,reviewers.links.avatar.href 
2018-04-20 18:07:34,324 [26491627]   INFO - atlassian.bitbucket.cloud.rest - --> GET https://api.bitbucket.io/addons/org.bitbucket.prlinks/elPana/1.0/repositories/movix/config-repo/commits/ebac563bccb6e602a457e5db596d95303d2f544d/pullrequests?fields=author.links.avatar.href,author.display_name,author.username,links.html.href,id,title,state,description,created_on,updated_on,destination.branch.name,destination.commit.hash,destination.repository.name,destination.repository.full_name,source.branch.name,source.commit.hash,source.repository.name,source.repository.full_name,reviewers.username,reviewers.display_name,reviewers.links.avatar.href 
2018-04-20 18:07:39,354 [26496657]   INFO - atlassian.bitbucket.cloud.rest - <-- 202 Accepted https://api.bitbucket.io/addons/org.bitbucket.prlinks/elPana/1.0/repositories/movix/config-repo/commits/ebac563bccb6e602a457e5db596d95303d2f544d/pullrequests?fields=author.links.avatar.href,author.display_name,author.username,links.html.href,id,title,state,description,created_on,updated_on,destination.branch.name,destination.commit.hash,destination.repository.name,destination.repository.full_name,source.branch.name,source.commit.hash,source.repository.name,source.repository.full_name,reviewers.username,reviewers.display_name,reviewers.links.avatar.href (5030ms, unknown-length body) 
2018-04-20 18:07:39,445 [26496748]   INFO - atlassian.bitbucket.cloud.rest - <-- 202 Accepted https://api.bitbucket.io/addons/org.bitbucket.prlinks/movix/1.0/repositories/movix/config-repo/commits/ebac563bccb6e602a457e5db596d95303d2f544d/pullrequests?fields=author.links.avatar.href,author.display_name,author.username,links.html.href,id,title,state,description,created_on,updated_on,destination.branch.name,destination.commit.hash,destination.repository.name,destination.repository.full_name,source.branch.name,source.commit.hash,source.repository.name,source.repository.full_name,reviewers.username,reviewers.display_name,reviewers.links.avatar.href (5122ms, unknown-length body) 
2018-04-20 18:07:39,459 [26496762]  ERROR -            BitbucketReferences - Failed to fetch related Pull Requests from com.atlassian.bitbucket.cloud.rest.Production@70914d73 
java.lang.Throwable: Failed to fetch related Pull Requests from com.atlassian.bitbucket.cloud.rest.Production@70914d73
    at com.intellij.openapi.diagnostic.Logger.error(Logger.java:123)
    at com.atlassian.bitbucket.linky.actions.prlinks.FindCommitRelatedPullRequestsAction.showError(commit-pull-requests.kt:161)
    at com.atlassian.bitbucket.linky.actions.prlinks.FindCommitRelatedPullRequestsAction.access$showError(commit-pull-requests.kt:42)
    at com.atlassian.bitbucket.linky.actions.prlinks.FindCommitRelatedPullRequestsAction$showPullRequestsForCommit$1$2$1$1$1.doResume(commit-pull-requests.kt:99)
    at kotlin.coroutines.experimental.jvm.internal.CoroutineImpl.resume(CoroutineImpl.kt:54)
    at kotlin.coroutines.experimental.jvm.internal.CoroutineImpl.resume(CoroutineImpl.kt:53)
    at kotlin.coroutines.experimental.jvm.internal.CoroutineImpl.resume(CoroutineImpl.kt:53)
    at kotlin.coroutines.experimental.jvm.internal.CoroutineImpl.resumeWithException(CoroutineImpl.kt:59)
    at kotlinx.coroutines.experimental.DispatchTask.run(CoroutineDispatcher.kt:122)
    at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1402)
    at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
    at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
    at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
    at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
2018-04-20 18:07:39,460 [26496763]  ERROR -            BitbucketReferences - IntelliJ IDEA 2018.1.1  Build #IU-181.4445.78 
2018-04-20 18:07:39,460 [26496763]  ERROR -            BitbucketReferences - JDK: 1.8.0_152-release 
2018-04-20 18:07:39,461 [26496764]  ERROR -            BitbucketReferences - VM: OpenJDK 64-Bit Server VM 
2018-04-20 18:07:39,461 [26496764]  ERROR -            BitbucketReferences - Vendor: JetBrains s.r.o 
2018-04-20 18:07:39,461 [26496764]  ERROR -            BitbucketReferences - OS: Linux 
2018-04-20 18:07:39,461 [26496764]  ERROR -            BitbucketReferences - Last Action: Bitbucket.CommitRelatedPullRequests 
2018-04-20 18:07:39,461 [26496764]   WARN -            BitbucketReferences - Attempt #0 to fetch Pull Requests failed 
com.atlassian.bitbucket.cloud.rest.UnrecognizedResponse: Unrecognized response for 'commit pull requests' API endpoint
    at com.atlassian.bitbucket.cloud.rest.Rest_errorsKt$mapToError$1.call(rest-errors.kt:27)
    at com.atlassian.bitbucket.cloud.rest.Rest_errorsKt$mapToError$1.call(rest-errors.kt)
    at rx.internal.operators.OperatorOnErrorResumeNextViaFunction$4.onError(OperatorOnErrorResumeNextViaFunction.java:140)
    at rx.internal.operators.OnSubscribeMap$MapSubscriber.onError(OnSubscribeMap.java:88)
    at rx.internal.operators.OperatorMerge$MergeSubscriber.reportError(OperatorMerge.java:266)
    at rx.internal.operators.OperatorMerge$MergeSubscriber.checkTerminate(OperatorMerge.java:818)
    at rx.internal.operators.OperatorMerge$MergeSubscriber.emitLoop(OperatorMerge.java:579)
    at rx.internal.operators.OperatorMerge$MergeSubscriber.emit(OperatorMerge.java:568)
    at rx.internal.operators.OperatorMerge$MergeSubscriber.onError(OperatorMerge.java:276)
    at rx.internal.operators.SingleLiftObservableOperator$WrapSubscriberIntoSingle.onError(SingleLiftObservableOperator.java:81)
    at rx.internal.operators.SingleOnSubscribeMap$MapSubscriber.onError(SingleOnSubscribeMap.java:85)
    at rx.internal.operators.OnSubscribeSingle$1.onError(OnSubscribeSingle.java:64)
    at retrofit2.adapter.rxjava.CallArbiter.emitError(CallArbiter.java:159)
    at retrofit2.adapter.rxjava.CallExecuteOnSubscribe.call(CallExecuteOnSubscribe.java:43)
    at retrofit2.adapter.rxjava.CallExecuteOnSubscribe.call(CallExecuteOnSubscribe.java:24)
    at rx.Observable.unsafeSubscribe(Observable.java:10256)
    at rx.internal.operators.OnSubscribeSingle.call(OnSubscribeSingle.java:81)
    at rx.internal.operators.OnSubscribeSingle.call(OnSubscribeSingle.java:27)
    at rx.Single.subscribe(Single.java:1979)
    at rx.internal.operators.SingleOnSubscribeMap.call(SingleOnSubscribeMap.java:45)
    at rx.internal.operators.SingleOnSubscribeMap.call(SingleOnSubscribeMap.java:30)
    at rx.internal.operators.SingleToObservable.call(SingleToObservable.java:39)
    at rx.internal.operators.SingleToObservable.call(SingleToObservable.java:27)
    at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
    at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
    at rx.Observable.unsafeSubscribe(Observable.java:10256)
    at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:48)
    at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:33)
    at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
    at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
    at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
    at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
    at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
    at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
    at rx.Observable.subscribe(Observable.java:10352)
    at rx.Observable.subscribe(Observable.java:10319)
    at kotlinx.coroutines.experimental.rx1.RxAwaitKt.awaitOne(RxAwait.kt:111)
    at kotlinx.coroutines.experimental.rx1.RxAwaitKt.awaitSingle(RxAwait.kt:106)
    at com.atlassian.bitbucket.linky.actions.prlinks.FindCommitRelatedPullRequestsAction$showPullRequestsForCommit$1$1$1.doResume(commit-pull-requests.kt:85)
    at kotlin.coroutines.experimental.jvm.internal.CoroutineImpl.resume(CoroutineImpl.kt:54)
    at kotlinx.coroutines.experimental.DispatchTask.run(CoroutineDispatcher.kt:123)
    at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1402)
    at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
    at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
    at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
    at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: No content to map due to end-of-input
 at [Source: (okhttp3.ResponseBody$BomAwareReader); line: 1, column: 0]
    at com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)
    at com.fasterxml.jackson.databind.DeserializationContext.reportInputMismatch(DeserializationContext.java:1342)
    at com.fasterxml.jackson.databind.ObjectReader._initForReading(ObjectReader.java:358)
    at com.fasterxml.jackson.databind.ObjectReader._bindAndClose(ObjectReader.java:1593)
    at com.fasterxml.jackson.databind.ObjectReader.readValue(ObjectReader.java:1200)
    at retrofit2.converter.jackson.JacksonResponseBodyConverter.convert(JacksonResponseBodyConverter.java:32)
    at retrofit2.converter.jackson.JacksonResponseBodyConverter.convert(JacksonResponseBodyConverter.java:23)
    at retrofit2.ServiceMethod.toResponse(ServiceMethod.java:119)
    at retrofit2.OkHttpCall.parseResponse(OkHttpCall.java:218)
    at retrofit2.OkHttpCall.execute(OkHttpCall.java:180)
    at retrofit2.adapter.rxjava.CallExecuteOnSubscribe.call(CallExecuteOnSubscribe.java:40)
    ... 32 more
2018-04-20 18:07:39,463 [26496766]   WARN -            BitbucketReferences - Attempt #1 to fetch Pull Requests failed 
com.atlassian.bitbucket.cloud.rest.UnrecognizedResponse: Unrecognized response for 'commit pull requests' API endpoint
    at com.atlassian.bitbucket.cloud.rest.Rest_errorsKt$mapToError$1.call(rest-errors.kt:27)
    at com.atlassian.bitbucket.cloud.rest.Rest_errorsKt$mapToError$1.call(rest-errors.kt)
    at rx.internal.operators.OperatorOnErrorResumeNextViaFunction$4.onError(OperatorOnErrorResumeNextViaFunction.java:140)
    at rx.internal.operators.OnSubscribeMap$MapSubscriber.onError(OnSubscribeMap.java:88)
    at rx.internal.operators.OperatorMerge$MergeSubscriber.reportError(OperatorMerge.java:266)
    at rx.internal.operators.OperatorMerge$MergeSubscriber.checkTerminate(OperatorMerge.java:818)
    at rx.internal.operators.OperatorMerge$MergeSubscriber.emitLoop(OperatorMerge.java:579)
    at rx.internal.operators.OperatorMerge$MergeSubscriber.emit(OperatorMerge.java:568)
    at rx.internal.operators.OperatorMerge$MergeSubscriber.onError(OperatorMerge.java:276)
    at rx.internal.operators.SingleLiftObservableOperator$WrapSubscriberIntoSingle.onError(SingleLiftObservableOperator.java:81)
    at rx.internal.operators.SingleOnSubscribeMap$MapSubscriber.onError(SingleOnSubscribeMap.java:85)
    at rx.internal.operators.OnSubscribeSingle$1.onError(OnSubscribeSingle.java:64)
    at retrofit2.adapter.rxjava.CallArbiter.emitError(CallArbiter.java:159)
    at retrofit2.adapter.rxjava.CallExecuteOnSubscribe.call(CallExecuteOnSubscribe.java:43)
    at retrofit2.adapter.rxjava.CallExecuteOnSubscribe.call(CallExecuteOnSubscribe.java:24)
    at rx.Observable.unsafeSubscribe(Observable.java:10256)
    at rx.internal.operators.OnSubscribeSingle.call(OnSubscribeSingle.java:81)
    at rx.internal.operators.OnSubscribeSingle.call(OnSubscribeSingle.java:27)
    at rx.Single.subscribe(Single.java:1979)
    at rx.internal.operators.SingleOnSubscribeMap.call(SingleOnSubscribeMap.java:45)
    at rx.internal.operators.SingleOnSubscribeMap.call(SingleOnSubscribeMap.java:30)
    at rx.internal.operators.SingleToObservable.call(SingleToObservable.java:39)
    at rx.internal.operators.SingleToObservable.call(SingleToObservable.java:27)
    at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
    at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
    at rx.Observable.unsafeSubscribe(Observable.java:10256)
    at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:48)
    at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:33)
    at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
    at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
    at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
    at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
    at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
    at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
    at rx.Observable.subscribe(Observable.java:10352)
    at rx.Observable.subscribe(Observable.java:10319)
    at kotlinx.coroutines.experimental.rx1.RxAwaitKt.awaitOne(RxAwait.kt:111)
    at kotlinx.coroutines.experimental.rx1.RxAwaitKt.awaitSingle(RxAwait.kt:106)
    at com.atlassian.bitbucket.linky.actions.prlinks.FindCommitRelatedPullRequestsAction$showPullRequestsForCommit$1$1$1.doResume(commit-pull-requests.kt:85)
    at kotlin.coroutines.experimental.jvm.internal.CoroutineImpl.resume(CoroutineImpl.kt:54)
    at kotlinx.coroutines.experimental.DispatchTask.run(CoroutineDispatcher.kt:123)
    at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1402)
    at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
    at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
    at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
    at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: No content to map due to end-of-input
 at [Source: (okhttp3.ResponseBody$BomAwareReader); line: 1, column: 0]
    at com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)
    at com.fasterxml.jackson.databind.DeserializationContext.reportInputMismatch(DeserializationContext.java:1342)
    at com.fasterxml.jackson.databind.ObjectReader._initForReading(ObjectReader.java:358)
    at com.fasterxml.jackson.databind.ObjectReader._bindAndClose(ObjectReader.java:1593)
    at com.fasterxml.jackson.databind.ObjectReader.readValue(ObjectReader.java:1200)
    at retrofit2.converter.jackson.JacksonResponseBodyConverter.convert(JacksonResponseBodyConverter.java:32)
    at retrofit2.converter.jackson.JacksonResponseBodyConverter.convert(JacksonResponseBodyConverter.java:23)
    at retrofit2.ServiceMethod.toResponse(ServiceMethod.java:119)
    at retrofit2.OkHttpCall.parseResponse(OkHttpCall.java:218)
    at retrofit2.OkHttpCall.execute(OkHttpCall.java:180)
    at retrofit2.adapter.rxjava.CallExecuteOnSubscribe.call(CallExecuteOnSubscribe.java:40)
    ... 32 more
2018-04-20 18:07:45,992 [26503295]   WARN - ConfigurableExtensionPointUtil - ignore configurable with duplicated id: preferences.externalDependencies 
2018-04-20 18:08:02,857 [26520160]   WARN - ConfigurableExtensionPointUtil - ignore configurable with duplicated id: preferences.externalDependencies 
2018-04-20 18:08:02,864 [26520167]   WARN - ConfigurableExtensionPointUtil - use other group instead of unexpected one: preferences.editor 
2018-04-20 18:08:41,168 [26558471]   WARN - ConfigurableExtensionPointUtil - ignore configurable with duplicated id: preferences.externalDependencies 

Comments (14)

  1. Daniil Penkin staff

    Hello @elPana,

    I believe that what you've faced here was that you tried to find related PRs for the first time, and that kicked off repository indexing: PR links require the repo to be indexed first to build commit->PRs relation.

    So this definitely has to be shown better in the UI, and I'll fix that, however could you please confirm that it now works as expected, i.e. you're able to find related PRs from the IDE?

    If it still doesn't work, can you open the commit in question in Bitbucket and see if the Pull requests link works for you or not? Monosnap 2018-04-26 12-01-33.png

    Cheers, Daniil

  2. Eduardo Laguna reporter

    Hi @dpenkin thanks for your reply, I'll let you know (takes a lot of time indexing)

  3. Daniil Penkin staff

    Hm, I believe indexing actually shouldn't take that long. What does it show in the UI when you click that link?

    Maybe something is broken in that plugin – it's a third party plugin, not mine but I can contact the author to check what's going on.

  4. Eduardo Laguna reporter

    It was a pop indicating that it was indexing the repo, but now it's done, and now the plugin works showing the related PRs.

  5. Daniil Penkin staff

    Ah cool, thanks for confirming that.

    So the only problem with Linky is that it doesn't show "Repo is indexing" state properly. I'll leave this task to address that issue.

    Thanks for reporting!

  6. Eduardo Laguna reporter

    I believe this issue has to be reopened ☹ I'm having this error.

    Failed to fetch related Pull Requests from com.atlassian.bitbucket.cloud.rest.Production@5e3fdf4f

    Failed to fetch related Pull Requests from com.atlassian.bitbucket.cloud.rest.Production@5e3fdf4f
    java.lang.Throwable: Failed to fetch related Pull Requests from com.atlassian.bitbucket.cloud.rest.Production@5e3fdf4f
        at com.intellij.openapi.diagnostic.Logger.error(Logger.java:123)
        at com.atlassian.bitbucket.linky.actions.prlinks.FindCommitRelatedPullRequestsAction.showError(commit-pull-requests.kt:161)
        at com.atlassian.bitbucket.linky.actions.prlinks.FindCommitRelatedPullRequestsAction.access$showError(commit-pull-requests.kt:42)
        at com.atlassian.bitbucket.linky.actions.prlinks.FindCommitRelatedPullRequestsAction$showPullRequestsForCommit$1$2$1$1$1.doResume(commit-pull-requests.kt:99)
        at kotlin.coroutines.experimental.jvm.internal.CoroutineImpl.resume(CoroutineImpl.kt:54)
        at kotlin.coroutines.experimental.jvm.internal.CoroutineImpl.resume(CoroutineImpl.kt:53)
        at kotlin.coroutines.experimental.jvm.internal.CoroutineImpl.resume(CoroutineImpl.kt:53)
        at kotlin.coroutines.experimental.jvm.internal.CoroutineImpl.resumeWithException(CoroutineImpl.kt:59)
        at kotlinx.coroutines.experimental.DispatchedTask$DefaultImpls.run(Dispatched.kt:159)
        at kotlinx.coroutines.experimental.DispatchedContinuation.run(Dispatched.kt:25)
        at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1402)
        at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
        at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
        at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
        at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
    

    In fact the repo is already indexed... weird.

  7. Brendan Dugan Account Deactivated

    I get the same error - on my end, I believe it is a problem w/ the bitbucket Pull Requests plugin mentioned by @dpenkin above.

    I asked a question in the pull requests plugin community page as I was looking specifically at the plugin, and it seems to be unsupported at the moment.

  8. Daniil Penkin staff

    Hi @elPana and @brendan_dugan,

    Yeah PR links add-on was indeed created by Labs and is unsupported ATM. However I can tell you that its author is currently looking into making things better. I don't yet know any specifics or ETA though. Once I get more information on this, I'll post a comment here or will create a new issue if any updates are required in Linky.

    Thanks for reporting!

    Cheers, Daniil

  9. Daniil Penkin staff

    Hey @elPana, @brendan_dugan,

    Somewhat good news: the old PR links service has been apparently undeployed today to make some room for the new solution. There's still no ETA but I expect it to be sorted out within the following week.

    Unfortunately there will be no migration process, i.e. all your repos will need to be indexed once again by the replacement service as soon as it becomes available. This is due to the fact that it was largely a side project maintained on the best-effort basis.

    On my side, I'm going to release a version of Linky which will use the new API to lookup related Pull Requests in the following week, hopefully very soon after (or even together with) the new service comes up. I will comment here when this happens.

    Cheers, Daniil

  10. Brendan Dugan Account Deactivated

    Exciting! Thanks for following up, and appreciate the effort @dpenkin & the folks on the prlinks repo 🙌

  11. Daniil Penkin staff

    Hello @elPana @brendan_dugan,

    I've released version 6.0 few hours ago which integrates with the new related PR lookup service which was deployed and rolled out to everyone yesterday. It is now much more reliable and performant in terms of indexing speed (however you still need to kick it off once for a repo).

    Cheers, Daniil

  12. Brendan Dugan Account Deactivated

    Excellent! thanks @dpenkin - just installed the update and it works great on my end 😄 I plan to use the feature quite a bit!

  13. Log in to comment