Plugin incompatibility with Bitbucket Server 3.0

Still need help?

The Atlassian Community is here for you.

Ask the community

Symptoms

With the release of Bitbucket Server 3.0, all interfaces that were marked deprecated in Bitbucket Server 2.11 and earlier will be removed completely. As a result, existing plugins that use any deprecated interfaces will not be automatically compatible with Bitbucket Server 3.0.

Some plugins have already been identified as incompatible with Bitbucket Server 3.0:

The following appears in the atlassian-bitbucket.log:

Project Categories
2014-05-21 08:50:22,902 ERROR [http-bio-7990-exec-4] admin 530x37x4 184pe7j 192.168.0.121,127.0.0.1 "GET /rest/projectCategories/latest/project HTTP/1.1" c.a.p.r.c.e.j.ThrowableExceptionMapper Uncaught exception thrown by REST service: com.atlassian.bitbucket.project.ProjectService.findAllProjectKeys()Ljava/util/List;
java.lang.NoSuchMethodError: com.atlassian.bitbucket.project.ProjectService.findAllProjectKeys()Ljava/util/List;
	at de.communardo.plugin.bitbucket.projectcategories.CategoryPersistenceServiceImpl.getAllProductCategories(CategoryPersistenceServiceImpl.java:45) ~[plugin.923305388028750380.bitbucket-project-categories-0.4-09efb82_1397020225000.jar:na]
	at com.atlassian.activeobjects.tx.TransactionalProxy.invoke(TransactionalProxy.java:79) ~[activeobjects-plugin-0.25.2.jar:na]
	at com.atlassian.activeobjects.tx.TransactionalProxy.access$000(TransactionalProxy.java:18) ~[activeobjects-plugin-0.25.2.jar:na]
	at com.atlassian.activeobjects.tx.TransactionalProxy$1.doInTransaction(TransactionalProxy.java:63) ~[activeobjects-plugin-0.25.2.jar:na]
	at com.atlassian.sal.core.transaction.HostContextTransactionTemplate$1.doInTransaction(HostContextTransactionTemplate.java:25) ~[sal-core-2.11.0.jar:na]
	at com.atlassian.bitbucket.internal.sal.spi.HostContextAccessorImpl.doInTransaction(HostContextAccessorImpl.java:27) ~[bitbucket-platform-3.0.1.jar:na]
	at com.sun.proxy.$Proxy197.doInTransaction(Unknown Source) ~[na:na]
	at com.sun.proxy.$Proxy278.doInTransaction(Unknown Source) ~[na:na]
	at com.sun.proxy.$Proxy483.doInTransaction(Unknown Source) ~[na:na]
...
All Pull Requests
2014-05-21 08:50:33,811 ERROR [http-bio-7990-exec-8] 530x60x0 17qenxp 192.168.0.129,127.0.0.1 "GET /mvc/error500 HTTP/1.1" c.a.s.i.web.ErrorPageController There was an unhandled exception loading [/plugins/servlet/all-pull-requests/all]
javax.servlet.ServletException: Servlet execution threw an exception
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:326) ~[catalina.jar:7.0.52]
	at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:25) ~[na:na]
	at com.atlassian.bitbucket.internal.spring.security.Bitbucket ServerAuthenticationFilter.onSuccess(Bitbucket ServerAuthenticationFilter.java:238) ~[Bitbucket ServerAuthenticationFilter.class:na]
	at com.atlassian.bitbucket.internal.spring.security.Bitbucket ServerAuthenticationFilter.doFilter(Bitbucket ServerAuthenticationFilter.java:108) ~[Bitbucket ServerAuthenticationFilter.class:na]
	at com.atlassian.bitbucket.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doInsideSpringSecurityChain(BeforeLoginPluginAuthenticationFilter.java:111) ~[BeforeLoginPluginAuthenticationFilter.class:na]
	at com.atlassian.bitbucket.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doFilter(BeforeLoginPluginAuthenticationFilter.java:77) ~[BeforeLoginPluginAuthenticationFilter.class:na]
	at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:100) ~[atlassian-trusted-apps-core-3.0.5.jar:na]
	at com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:69) ~[na:na]
	at com.atlassian.bitbucket.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doBeforeBeforeLoginFilters(BeforeLoginPluginAuthenticationFilter.java:89) ~[BeforeLoginPluginAuthenticationFilter.class:na]
	at com.atlassian.bitbucket.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doFilter(BeforeLoginPluginAuthenticationFilter.java:75) ~[BeforeLoginPluginAuthenticationFilter.class:na]
	at com.atlassian.bitbucket.internal.request.DefaultRequestManager.doAsRequest(DefaultRequestManager.java:70) ~[bitbucket-service-impl-3.0.1.jar:na]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_51]
	at java.lang.Thread.run(Thread.java:744) [na:1.7.0_51]
	... 154 frames trimmed
Caused by: java.lang.NoSuchMethodError: com.atlassian.bitbucket.pull.PullRequestService.find(Lcom.atlassian.bitbucket/pull/PullRequestState;Lcom.atlassian.bitbucket/pull/PullRequestOrder;Lcom.atlassian.bitbucket/util/PageRequest;)Lcom.atlassian.bitbucket/util/Page;
	at sk.oxygene.bitbucket.allpullrequests.AllPullRequestsServlet.findPullRequests(AllPullRequestsServlet.java:111) ~[na:na]
	at sk.oxygene.bitbucket.allpullrequests.AllPullRequestsServlet.doGet(AllPullRequestsServlet.java:76) ~[na:na]
	... 13 common frames omitted
...
ReadMe Parser
SEVERE: Servlet.service() for servlet [plugins] in context with path [] threw exception [Servlet execution threw an exception]with root cause
java.lang.NoSuchMethodError: com.atlassian.bitbucket.repository.RepositoryService.findBySlug(Ljava/lang/String;Ljava/lang/String;)Lcom.atlassian.bitbucket/repository/Repository;
at com.pirateninjaunicorn.bitbucket.readmeparser.util.RepositoryHelper.getCurrentRepository(RepositoryHelper.java:51)
at com.pirateninjaunicorn.bitbucket.readmeparser.servlet.ReadmeParserServlet.doPost(ReadmeParserServlet.java:102)
at com.pirateninjaunicorn.bitbucket.readmeparser.servlet.ReadmeParserServlet.doGet(ReadmeParserServlet.java:86)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
...
...
Workzone
2014-05-26 14:34:15,992 ERROR [AtlassianEvent::pool-2-thread-1] a.pandey@maxxton.com 874x73405x0 1izvkvy 115.113.153.230 "POST /projects/NWS/repos/newyse/pull-requests HTTP/1.1" c.a.s.i.e.AsyncBatchingInvokersTransformer There was an exception thrown trying to dispatch event 'com.atlassian.bitbucket.event.pull.PullRequestOpenedEvent[source=com.atlassian.bitbucket.internal.pull.PullRequestServiceImpl@29990ea1]' for the invoker 'SingleParameterMethodListenerInvoker{method=public void com.izymes.workzone.listener.RepoEventListener.onPullRequestOpened(com.atlassian.bitbucket.event.pull.PullRequestOpenedEvent), listener=com.izymes.workzone.listener.RepoEventListener@2a7b0adb}'.
java.lang.RuntimeException: com.atlassian.bitbucket.pull.PullRequestService.update(IJILjava/lang/String;Ljava/lang/String;Ljava/util/Set;)Lcom.atlassian.bitbucket/pull/PullRequest;
	at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:54) ~[atlassian-event-2.3.5.jar:na]
	at com.atlassian.bitbucket.internal.event.AsyncBatchingInvokersTransformer$AsyncInvokerBatch.invoke(AsyncBatchingInvokersTransformer.java:100) ~[bitbucket-platform-3.0.1.jar:na]
	at com.atlassian.event.internal.AsynchronousAbleEventDispatcher$1$1.run(AsynchronousAbleEventDispatcher.java:48) [atlassian-event-2.3.5.jar:na]
	at com.atlassian.sal.core.executor.ThreadLocalDelegateRunnable.run(ThreadLocalDelegateRunnable.java:38) [sal-core-2.11.0.jar:na]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_51]
	at java.lang.Thread.run(Thread.java:744) [na:1.7.0_51]
	... 1 frame trimmed
Caused by: java.lang.NoSuchMethodError: com.atlassian.bitbucket.pull.PullRequestService.update(IJILjava/lang/String;Ljava/lang/String;Ljava/util/Set;)Lcom.atlassian.bitbucket/pull/PullRequest;
	at com.izymes.workzone.listener.RepoEventListener.onPullRequestOpened(RepoEventListener.java:163) ~[na:na]
	at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:36) ~[atlassian-event-2.3.5.jar:na]
	... 6 common frames omitted
Bitbucket Server Unapprove Reviewers
2014-08-04 11:53:43,916 ERROR [AtlassianEvent::thread-5] jenkins @U0IPQXx713x126579x0 4akq2x 134.64.83.126 SSH - git-receive-pack '/project/repo.git' c.a.s.i.e.AsyncBatchingInvokersTransformer There was an exception thrown trying to dispatch event 'com.atlassian.bitbucket.repository.sync.RefsSynchronizedEvent[source=com.atlassian.bitbucket.internal.repository.sync.DefaultRefSyncService@7dfce3ef]' for the invoker 'SingleParameterMethodListenerInvoker{method=public void com.atlassian.bitbucket.internal.hook.repository.AsyncPostReceiveRepositoryHookAdapter.onRefsChangedEvent(com.atlassian.bitbucket.event.RepositoryRefsChangedEvent), listener=com.atlassian.bitbucket.internal.hook.repository.AsyncPostReceiveRepositoryHookAdapter@79603ed8}'.
java.lang.RuntimeException: com.atlassian.bitbucket.pull.PullRequestService.findInDirection(Lcom.atlassian.bitbucket/pull/PullRequestDirection;ILjava/lang/String;Lcom.atlassian.bitbucket/pull/PullRequestState;Lcom.atlassian.bitbucket/pull/PullRequestOrder;Lcom.atlassian.bitbucket/util/PageRequest;)Lcom.atlassian.bitbucket/util/Page;
	at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:54) ~[atlassian-event-2.3.5.jar:na]
	at com.atlassian.bitbucket.internal.event.AsyncBatchingInvokersTransformer$AsyncInvokerBatch.invoke(AsyncBatchingInvokersTransformer.java:100) ~[bitbucket-platform-3.2.0.jar:na]
	at com.atlassian.event.internal.AsynchronousAbleEventDispatcher$1$1.run(AsynchronousAbleEventDispatcher.java:48) [atlassian-event-2.3.5.jar:na]
	at com.atlassian.sal.core.executor.ThreadLocalDelegateRunnable.run(ThreadLocalDelegateRunnable.java:38) [sal-core-2.12.1.jar:na]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_17]
	at java.lang.Thread.run(Thread.java:722) [na:1.7.0_17]
	... 1 frame trimmed
Caused by: java.lang.NoSuchMethodError: com.atlassian.bitbucket.pull.PullRequestService.findInDirection(Lcom.atlassian.bitbucket/pull/PullRequestDirection;ILjava/lang/String;Lcom.atlassian.bitbucket/pull/PullRequestState;Lcom.atlassian.bitbucket/pull/PullRequestOrder;Lcom.atlassian.bitbucket/util/PageRequest;)Lcom.atlassian.bitbucket/util/Page;
	at com.atlassian.bitbucket.unapprove.UnapproveReviewersHook$2.get(UnapproveReviewersHook.java:75) ~[na:na]
	at com.atlassian.bitbucket.util.PagedIterable.iterator(PagedIterable.java:23) ~[bitbucket-util-3.2.0.jar:na]
	at com.atlassian.bitbucket.unapprove.UnapproveReviewersHook.postReceive(UnapproveReviewersHook.java:44) ~[na:na]
	at com.atlassian.bitbucket.internal.hook.repository.AsyncPostReceiveRepositoryHookAdapter$1.visit(AsyncPostReceiveRepositoryHookAdapter.java:49) ~[bitbucket-service-impl-3.2.0.jar:na]
	at com.atlassian.bitbucket.internal.hook.repository.AsyncPostReceiveRepositoryHookAdapter$1.visit(AsyncPostReceiveRepositoryHookAdapter.java:45) ~[bitbucket-service-impl-3.2.0.jar:na]
	at com.atlassian.bitbucket.internal.hook.repository.DefaultRepositoryHookService$RepositoryHookPagedTransactionCallback.doInTransaction(DefaultRepositoryHookService.java:616) ~[bitbucket-service-impl-3.2.0.jar:na]
	at com.atlassian.bitbucket.internal.hook.repository.DefaultRepositoryHookService$RepositoryHookPagedTransactionCallback.doInTransaction(DefaultRepositoryHookService.java:592) ~[bitbucket-service-impl-3.2.0.jar:na]
	at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:133) ~[spring-tx-4.0.5.RELEASE.jar:4.0.5.RELEASE]
	at com.atlassian.bitbucket.internal.hook.repository.DefaultRepositoryHookService.visitEnabledHooks(DefaultRepositoryHookService.java:304) ~[bitbucket-service-impl-3.2.0.jar:na]
	at com.atlassian.bitbucket.internal.hook.repository.AsyncPostReceiveRepositoryHookAdapter.postReceive(AsyncPostReceiveRepositoryHookAdapter.java:45) ~[bitbucket-service-impl-3.2.0.jar:na]
	at com.atlassian.bitbucket.internal.hook.repository.AsyncPostReceiveRepositoryHookAdapter.onRefsChangedEvent(AsyncPostReceiveRepositoryHookAdapter.java:40) ~[bitbucket-service-impl-3.2.0.jar:na]
	at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:36) ~[atlassian-event-2.3.5.jar:na]
	... 6 common frames omitted

Diagnosis

Plugins that use any of these interfaces (which would have generated deprecation warnings when built against Bitbucket Server 2.12) generally won't compile with Bitbucket Server 3.0.

Precompiled plugins that used any of the deprecated interfaces will fail to install or run in Bitbucket Server 3.0, typically with java.lang.NoSuchMethodError.

Cause

Plugins are using interfaces that have been removed in Bitbucket Server 3.0.1 release.

Resolution

  • Check on the plugin website for a more recent release compatible with Bitbucket Server 3.0 and update the add-on. When the add-on is not available for Bitbucket Server 3.0 and/or was archived, please remove the plugin from your instance. 
  • In case the vendor is still active and this hasn't been reported, please report this issue to the plugin vendor. On the plugin page in Marketplace you'll be able to find a Support page for non-Atlassian plugins. You can also link them to the Bitbucket Server 3.0 - API Changelog

 

 

Last modified on Mar 30, 2016

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.