Jira のユーザー管理画面でユーザーを絞り込んだときにエラーが返される

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。

Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Fisheye および Crucible は除く

症状

/secure/admin/user/UserBrowser.jspa (⚙ > [ユーザー管理] > [ユーザー]) ページでユーザーを絞り込んだときに、UI で null pointer exception が返される。

診断

  • 問題が Jira Data Center インスタンス (シングル ノードの Jira インスタンスを除く) で発生する

  • Jira アプリケーション ログで次のスタック トレースが見つかる 

    2020-09-15 20:17:34,004+0300 http-nio-8080-exec-12 ERROR username 1217x192x1 7wvs5d x.x.x.x /secure/admin/user/UserBrowser.jspa [c.a.j.w.a.admin.user.UserBrowser] Exception getting users: java.lang.NullPointerException
    java.lang.NullPointerException
    	at com.atlassian.jira.web.bean.UserBrowserFilter.lambda$getUserNamesFilteredByCriteria$0(UserBrowserFilter.java:173)
    	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:174)
    	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
    	at java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1359)
    	at java.util.stream.StreamSpliterators$WrappingSpliterator.lambda$initPartialTraversalState$0(StreamSpliterators.java:294)
    	at java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.fillBuffer(StreamSpliterators.java:206)
    	at java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.doAdvance(StreamSpliterators.java:169)
    	at java.util.stream.StreamSpliterators$WrappingSpliterator.tryAdvance(StreamSpliterators.java:300)
    	at java.util.Spliterators$1Adapter.hasNext(Spliterators.java:681)
    	at com.google.common.collect.TransformedIterator.hasNext(TransformedIterator.java:42)
    	at com.google.common.collect.Iterators.addAll(Iterators.java:357)
    	at com.google.common.collect.Lists.newArrayList(Lists.java:147)
    	at com.google.common.collect.Lists.newArrayList(Lists.java:133)
    	at com.atlassian.jira.web.bean.UserBrowserFilter.getFilteredUsers(UserBrowserFilter.java:137)
    	at com.atlassian.jira.web.action.admin.user.UserBrowser.getBrowsableItems(UserBrowser.java:170)
    	at com.atlassian.jira.web.action.admin.user.UserBrowser.doExecute(UserBrowser.java:122)
    	... 1 filtered
    	at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:63)
    	... 7 filtered
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    	... 4 filtered
    	at com.enhancera.auditor.common.filter.WebEventsFilter.doFilter(WebEventsFilter.java:105)
    	... 27 filtered
    	at com.atlassian.greenhopper.jira.filters.ClassicBoardRouter.doFilter(ClassicBoardRouter.java:62)
    	... 7 filtered
    	at com.atlassian.jira.plugin.mobile.web.filter.MobileAppRequestFilter.doFilter(MobileAppRequestFilter.java:37)
    	... 4 filtered
    	at com.atlassian.jira.plugin.mobile.login.MobileLoginSuccessFilter.doFilter(MobileLoginSuccessFilter.java:54)
    	... 3 filtered
    	at com.atlassian.diagnostics.internal.platform.monitor.http.HttpRequestMonitoringFilter.doFilter(HttpRequestMonitoringFilter.java:55)
    	... 8 filtered

原因

このエラーは、ユーザー キャッシュのデータの破損によって返されます。ユーザー キャッシュに、Jira データベースに存在しないユーザーへの参照が含まれています。

このようなユーザー キャッシュ破損は、本番環境の Jira Data Center で作成された XML バックアップがテスト用の Jira Data Center にインポートされたときなどに発生します。このような場合、テスト用の Jira Data Center に本番環境の Jira クラスタのノード情報が含まれ、本番環境のユーザー キャッシュを誤って上書きするような可能性があります。

ソリューション

  • 運用への影響を防ぐため、業務時間外にダウンタイム期間を設けます
  • Data Center クラスタのすべての Jira ノードをまとめてシャットダウンします
  • Jira ノードを 1 つずつ開始します
  • すべての Jira ノードを再起動すると、ユーザー データのキャッシュがクリアされ、この問題が解決されます




最終更新日 2022 年 5 月 12 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.