-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Low
-
Affects Version/s: 8.20.2
-
Component/s: DVCS Connector
-
8.2
-
7
-
Severity 3 - Minor
-
1
Issue Summary
$user_name displayed in Activity Stream for gitlab commits
Steps to Reproduce
- Configure DVCS in Jira
- Have users from Gitlab commit changesets into Jira issues
Expected Results
User names are properly displayed, linked to their commits on the Activity Stream
Actual Results
$user_name is displayed for commits from gitlab in the activity stream, link on it correctly sends to user gitlab profile:
The following is logged in atlassian-jira.log, actual user account name switched to <userAccountName> for privacy purposes:
2021-12-08 10:44:18,686-0600 DVCSConnector.EventService:thread-1 WARN anonymous [c.a.j.p.d.spi.github.GithubClientWithTimeout] Failed to execute request [GET /users/<userAccountName>] errors:
connect timed out
java.net.SocketTimeoutException: connect timed out
at java.base/java.net.PlainSocketImpl.socketConnect(Native Method)
at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399)
at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242)
at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224)
at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:403)
at java.base/java.net.Socket.connect(Socket.java:609)
at java.base/sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:289)
at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:177)
at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:474)
at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:569)
at java.base/sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:265)
at java.base/sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:372)
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191)
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1187)
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1081)
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1592)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1520)
at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:527)
at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:334)
at org.eclipse.egit.github.core.client.GitHubClient.get(GitHubClient.java:733)
at com.atlassian.jira.plugins.dvcs.spi.github.GithubClientWithTimeout.lambda$get$0(GithubClientWithTimeout.java:67)
at com.atlassian.jira.plugins.dvcs.spi.github.GithubClientWithTimeout.executeRequest(GithubClientWithTimeout.java:103)
at com.atlassian.jira.plugins.dvcs.spi.github.GithubClientWithTimeout.get(GithubClientWithTimeout.java:67)
at org.eclipse.egit.github.core.service.UserService.getUser(UserService.java:82)
at com.atlassian.jira.plugins.dvcs.spi.github.GithubCommunicator.getUser(GithubCommunicator.java:511)
at com.atlassian.jira.plugins.dvcs.service.remote.CachingCommunicator$UserLoader.load(CachingCommunicator.java:275)
at com.atlassian.jira.plugins.dvcs.service.remote.CachingCommunicator$UserLoader.load(CachingCommunicator.java:271)
at com.atlassian.cache.ehcache.wrapper.ValueProcessorAtlassianCacheLoaderDecorator.load(ValueProcessorAtlassianCacheLoaderDecorator.java:26)
at com.atlassian.cache.ehcache.LoadingCache.getFromLoader(LoadingCache.java:174)
at com.atlassian.cache.ehcache.SynchronizedLoadingCacheDecorator.synchronizedLoad(SynchronizedLoadingCacheDecorator.java:29)
at com.atlassian.cache.ehcache.LoadingCache.loadValueAndReleaseLock(LoadingCache.java:142)
at com.atlassian.cache.ehcache.LoadingCache.get(LoadingCache.java:121)
at com.atlassian.cache.ehcache.DelegatingCache.get(DelegatingCache.java:108)
at com.atlassian.jira.plugins.dvcs.service.remote.CachingCommunicator.getUser(CachingCommunicator.java:58)
at com.atlassian.jira.plugins.dvcs.service.RepositoryServiceImpl.getUser(RepositoryServiceImpl.java:589)
at com.atlassian.jira.plugins.dvcs.service.api.DvcsRepositoryServiceImpl.getDvcsUser(DvcsRepositoryServiceImpl.java:45)
at jdk.internal.reflect.GeneratedMethodAccessor13233.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56)
at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:136)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:124)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70)
at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:136)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:124)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
at com.sun.proxy.$Proxy16622.getDvcsUser(Unknown Source)
at com.atlassian.jira.plugin.devstatus.provider.source.dvcs.DvcsPullRequestDetailHelper.convertToFusionPullRequest(DvcsPullRequestDetailHelper.java:147)
at com.atlassian.jira.plugin.devstatus.provider.source.dvcs.DvcsPullRequestDetailHelper.lambda$toFusionPullRequestDetail$2(DvcsPullRequestDetailHelper.java:176)
at com.atlassian.jira.plugin.devstatus.provider.source.dvcs.DvcsPullRequestDetailHelper.toFusionPullRequest(DvcsPullRequestDetailHelper.java:89)
at com.atlassian.jira.plugin.devstatus.triggers.DvcsWorkflowEventBridge.toFusionPullRequest(DvcsWorkflowEventBridge.java:296)
at com.atlassian.jira.plugin.devstatus.triggers.DvcsWorkflowEventBridge.access$000(DvcsWorkflowEventBridge.java:66)
at com.atlassian.jira.plugin.devstatus.triggers.DvcsWorkflowEventBridge$PullRequestEventBuilder.<init>(DvcsWorkflowEventBridge.java:372)
at com.atlassian.jira.plugin.devstatus.triggers.DvcsWorkflowEventBridge.onPullRequestUpdated(DvcsWorkflowEventBridge.java:222)
at jdk.internal.reflect.GeneratedMethodAccessor14077.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:42)
at com.atlassian.event.internal.AsynchronousAbleEventDispatcher.lambda$null$0(AsynchronousAbleEventDispatcher.java:37)
at com.atlassian.event.internal.AsynchronousAbleEventDispatcher.dispatch(AsynchronousAbleEventDispatcher.java:85)
at com.atlassian.event.internal.LockFreeEventPublisher$Publisher.dispatch(LockFreeEventPublisher.java:220)
at com.atlassian.event.internal.LockFreeEventPublisher.publish(LockFreeEventPublisher.java:96)
at jdk.internal.reflect.GeneratedMethodAccessor466.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26)
at com.sun.proxy.$Proxy219.publish(Unknown Source)
at jdk.internal.reflect.GeneratedMethodAccessor11606.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56)
at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:136)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:124)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70)
at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:136)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:124)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
at com.sun.proxy.$Proxy16019.publish(Unknown Source)
at com.atlassian.jira.plugins.dvcs.event.EventServiceImpl.lambda$doDispatchEvents$1(EventServiceImpl.java:121)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
at com.atlassian.jira.plugins.dvcs.dao.impl.querydsl.util.PseudoStream.consumeAllInTable(PseudoStream.java:50)
at com.atlassian.jira.plugins.dvcs.dao.impl.querydsl.SyncEventDaoQueryDsl.foreachByRepoId(SyncEventDaoQueryDsl.java:98)
at com.atlassian.jira.plugins.dvcs.event.EventServiceImpl.doDispatchEvents(EventServiceImpl.java:108)
at com.atlassian.jira.plugins.dvcs.event.EventServiceImpl.lambda$dispatch$0(EventServiceImpl.java:80)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Another entry that's also present on the atlassian-jira.logs and could be related is:
2021-12-03 07:24:20,125-0600 Caesium-1-2 WARN ServiceRunner [c.a.j.p.d.spi.github.GithubClientWithTimeout] Failed to execute request [GET /users/ Content-Analysis] errors:
Parse exception converting JSON to object
java.io.IOException: Parse exception converting JSON to object
at org.eclipse.egit.github.core.client.GitHubClient.parseJson(GitHubClient.java:424)
at org.eclipse.egit.github.core.client.GitHubClient.parseJson(GitHubClient.java:403)
at org.eclipse.egit.github.core.client.GitHubClient.parseError(GitHubClient.java:514)
at org.eclipse.egit.github.core.client.GitHubClient.createException(GitHubClient.java:547)
at org.eclipse.egit.github.core.client.GitHubClient.get(GitHubClient.java:740)
at com.atlassian.jira.plugins.dvcs.spi.github.GithubClientWithTimeout.lambda$get$0(GithubClientWithTimeout.java:67)
at com.atlassian.jira.plugins.dvcs.spi.github.GithubClientWithTimeout.executeRequest(GithubClientWithTimeout.java:103)
at com.atlassian.jira.plugins.dvcs.spi.github.GithubClientWithTimeout.get(GithubClientWithTimeout.java:67)
at org.eclipse.egit.github.core.service.UserService.getUser(UserService.java:82)
at com.atlassian.jira.plugins.dvcs.spi.github.GithubCommunicator.getUserType(GithubCommunicator.java:223)
at com.atlassian.jira.plugins.dvcs.spi.github.GithubCommunicator.getRepositoriesWithUpdates(GithubCommunicator.java:201)
at com.atlassian.jira.plugins.dvcs.service.remote.CachingCommunicator.getRepositoriesWithUpdates(CachingCommunicator.java:145)
at com.atlassian.jira.plugins.dvcs.service.RepositorySyncServiceImpl.getRemoteRepositoriesWithUpdates(RepositorySyncServiceImpl.java:299)
at com.atlassian.jira.plugins.dvcs.service.RepositorySyncServiceImpl.syncReposWithUpdates(RepositorySyncServiceImpl.java:162)
at com.atlassian.jira.plugins.dvcs.scheduler.DvcsSchedulerJobRunner.lambda$syncOrganizations$1(DvcsSchedulerJobRunner.java:85)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
at com.atlassian.jira.plugins.dvcs.scheduler.DvcsSchedulerJobRunner.syncOrganizations(DvcsSchedulerJobRunner.java:82)
at com.atlassian.jira.plugins.dvcs.scheduler.DvcsSchedulerJobRunner.runJob(DvcsSchedulerJobRunner.java:63)
at com.atlassian.scheduler.core.JobLauncher.runJob(JobLauncher.java:134)
at com.atlassian.scheduler.core.JobLauncher.launchAndBuildResponse(JobLauncher.java:106)
at com.atlassian.scheduler.core.JobLauncher.launch(JobLauncher.java:90)
at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.launchJob(CaesiumSchedulerService.java:435)
at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.executeClusteredJob(CaesiumSchedulerService.java:430)
at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.executeClusteredJobWithRecoveryGuard(CaesiumSchedulerService.java:454)
at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.executeQueuedJob(CaesiumSchedulerService.java:382)
at com.atlassian.scheduler.caesium.impl.SchedulerQueueWorker.executeJob(SchedulerQueueWorker.java:66)
at com.atlassian.scheduler.caesium.impl.SchedulerQueueWorker.executeNextJob(SchedulerQueueWorker.java:60)
at com.atlassian.scheduler.caesium.impl.SchedulerQueueWorker.run(SchedulerQueueWorker.java:35)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:176)
at com.google.gson.Gson.fromJson(Gson.java:790)
at com.google.gson.Gson.fromJson(Gson.java:756)
at org.eclipse.egit.github.core.client.GitHubClient.parseJson(GitHubClient.java:422)
... 28 more
at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:364)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:165)
... 31 more
2021-12-03 07:24:20,344-0600 Caesium-1-2 WARN ServiceRunner [c.a.j.p.d.spi.github.GithubClientWithTimeout] Failed to execute request [GET /orgs/ Content-Analysis/repos] errors:
Parse exception converting JSON to object
java.io.IOException: Parse exception converting JSON to object
at org.eclipse.egit.github.core.client.GitHubClient.parseJson(GitHubClient.java:424)
at org.eclipse.egit.github.core.client.GitHubClient.parseJson(GitHubClient.java:403)
at org.eclipse.egit.github.core.client.GitHubClient.parseError(GitHubClient.java:514)
at org.eclipse.egit.github.core.client.GitHubClient.createException(GitHubClient.java:547)
at org.eclipse.egit.github.core.client.GitHubClient.get(GitHubClient.java:740)
at com.atlassian.jira.plugins.dvcs.spi.github.GithubClientWithTimeout.lambda$get$0(GithubClientWithTimeout.java:67)
at com.atlassian.jira.plugins.dvcs.spi.github.GithubClientWithTimeout.executeRequest(GithubClientWithTimeout.java:103)
at com.atlassian.jira.plugins.dvcs.spi.github.GithubClientWithTimeout.get(GithubClientWithTimeout.java:67)
at org.eclipse.egit.github.core.client.PageIterator.next(PageIterator.java:173)
at com.atlassian.jira.plugins.dvcs.spi.github.GithubCommunicator.filterRepositoriesWithUpdates(GithubCommunicator.java:237)
at com.atlassian.jira.plugins.dvcs.spi.github.GithubCommunicator.getRepositoriesWithUpdates(GithubCommunicator.java:209)
at com.atlassian.jira.plugins.dvcs.service.remote.CachingCommunicator.getRepositoriesWithUpdates(CachingCommunicator.java:145)
at com.atlassian.jira.plugins.dvcs.service.RepositorySyncServiceImpl.getRemoteRepositoriesWithUpdates(RepositorySyncServiceImpl.java:299)
at com.atlassian.jira.plugins.dvcs.service.RepositorySyncServiceImpl.syncReposWithUpdates(RepositorySyncServiceImpl.java:162)
at com.atlassian.jira.plugins.dvcs.scheduler.DvcsSchedulerJobRunner.lambda$syncOrganizations$1(DvcsSchedulerJobRunner.java:85)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
at com.atlassian.jira.plugins.dvcs.scheduler.DvcsSchedulerJobRunner.syncOrganizations(DvcsSchedulerJobRunner.java:82)
at com.atlassian.jira.plugins.dvcs.scheduler.DvcsSchedulerJobRunner.runJob(DvcsSchedulerJobRunner.java:63)
at com.atlassian.scheduler.core.JobLauncher.runJob(JobLauncher.java:134)
at com.atlassian.scheduler.core.JobLauncher.launchAndBuildResponse(JobLauncher.java:106)
at com.atlassian.scheduler.core.JobLauncher.launch(JobLauncher.java:90)
at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.launchJob(CaesiumSchedulerService.java:435)
at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.executeClusteredJob(CaesiumSchedulerService.java:430)
at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.executeClusteredJobWithRecoveryGuard(CaesiumSchedulerService.java:454)
at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.executeQueuedJob(CaesiumSchedulerService.java:382)
at com.atlassian.scheduler.caesium.impl.SchedulerQueueWorker.executeJob(SchedulerQueueWorker.java:66)
at com.atlassian.scheduler.caesium.impl.SchedulerQueueWorker.executeNextJob(SchedulerQueueWorker.java:60)
at com.atlassian.scheduler.caesium.impl.SchedulerQueueWorker.run(SchedulerQueueWorker.java:35)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:176)
at com.google.gson.Gson.fromJson(Gson.java:790)
at com.google.gson.Gson.fromJson(Gson.java:756)
at org.eclipse.egit.github.core.client.GitHubClient.parseJson(GitHubClient.java:422)
... 28 more
at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:364)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:165)
... 31 more
Workaround
Currently there is no known workaround for this behavior. A workaround will be added here when available
- links to