私たちは WebGISDR の障害をトラブルシューティングしています Linux 上の ArcGIS Enterprise 11.5 展開で 問題を連携された ArcGIS Notebook Server の exportSite 操作に特定しました。
WebGISDR は Notebook Server をエクスポートするときに HTTP 500 を受け取ります。WebGISDR とは独立して、認証済みリクエストを直接 Notebook Server の exportSite 管理 API に送信して問題を再現しました:
POST /notebooks/admin/exportSite
操作は一貫して次を返します:
HTTP 500 - エクスポート操作に失敗しました。null
一時的な DEBUG ロギングを有効にすると、Notebook Server は正常に:
- エクスポート操作を開始します;
- 作成します
/opt/arcgis/notebookserver/temp/tmp-carbon-export-*; - 一時的な構成ストアを作成します;
- 管理 API システムプロパティを更新します; そして
- サイト構成を一時的な構成ストアにコピーします。
直後に、エクスポートは次のエラーで失敗します:
java.lang.NullPointerException
at java.util.Objects.requireNonNull(...)
at sun.nio.fs.UnixFileSystem.getPath(...)
at java.nio.file.Path.of(...)
at java.nio.file.Paths.get(...)
at com.esri.arcgis.carbon.common.FileUtil.copyFile(FileUtil.java:652)
at com.esri.arcgis.carbon.admin.SiteManager.exportSite(SiteManager.java:2027)
at com.esri.arcgis.carbon.admin.rest.site.SiteResource.exportSite(SiteResource.java:329)
Notebook Server が削除する前に、一時的な tmp-carbon-export-* ディレクトリをキャプチャしました。それには backupRestoreInfo.json とマシン構成、サーバーディレクトリ、ノートブック実行時定義/マニフェスト、セキュリティ構成、Web Adaptor 構成、証明書キーストア、およびコンテナメタデータを含む実質的な Notebook Server 構成ストアが含まれています。
ライブの構成ストアとキャプチャしたエクスポート構成ストアを比較したところ、予期される .lock ファイルが省略されているだけで、実質的な構成ファイルの欠落はありませんでした。
また、この問題が新規展開/未使用の Notebook Server に関連しているかどうかもテストしました。 標準ノートブックが作成され、保存され、正常に実行されました。これにより、実行中の Notebook コンテナ、ワークスペースアーティファクトが初期化され、Notebook Server システムジョブレコードが生成されました。
追加の機能テストとして、ノートブックは次のコードを使って ArcGIS API for Python を正常に実行しました:
from arcgis.gis import GIS
gis = GIS("home")
print("Connected to:", gis.properties.name)
print("Portal URL:", gis.url)
print("Logged in as:", gis.users.me.username)
print("Portal version:", gis.properties.currentVersion)
ノートブックは連携された Portal に正常に認証し、次を返しました:
Connected to: ArcGIS Enterprise
Portal URL: https://gis.xyz.com/portal
Logged in as: siteadmin
Portal version: 2025.1
これは 通常の Notebook Server コンテナ実行、ArcGIS API for Python 実行、Portal 認証、および連携された Portal との通信が機能していることを確認しています。.
ノートブックの作成、保存、および実行後に、直接 Notebook Server の exportSite 操作を再度テストしました。それでも同様に失敗し続けます:
HTTP 500 - エクスポート操作に失敗しました。null
したがって、この失敗はユーザーノートブックの不在、初回使用時の初期化不足、Notebook コンテナ起動不能、またはノートブックが Portal と通信できないことによるものではないようです。
また以下も検証済みです:
- Portal ↔ Notebook Server の連携/構成
- Notebook Server → 設定された Portal URL 接続性
- TLS 接続性
- Notebook コンテナの正常な起動と実行
- ArcGIS API for Python の正常な実行と Portal 認証
- 登録された Notebook Server ディレクトリとパス
- ファイルシステムの権限と利用可能なディスク容量
- Notebook Server 証明書/キーストアアーティファクト
- 一時的なエクスポートディレクトリの作成と使用
backupRestoreInfo.json- successful copy of the substantive Notebook Server configuration store
The failure therefore appears to occur after the site configuration has been copied, when SiteManager.exportSite() calls FileUtil.copyFile() with what appears to be a null path.
Questions:
- Is this a known ArcGIS Notebook Server 11.5
exportSite issue? - What additional file or artifact does
SiteManager.exportSite() attempt to copy at this stage of the export? - Is there a supported way to determine which source path passed to
FileUtil.copyFile() is null? - Is there a patch or supported workaround for this issue?
Environment: ArcGIS Enterprise 11.5, ArcGIS Notebook Server 11.5, Linux, federated Notebook Server.