Estamos solucionando uma falha do WebGISDR em uma implantação do ArcGIS Enterprise 11.5 no Linux e isolamos o problema para o ArcGIS Notebook Server federado exportSite operação.
WebGISDR recebe HTTP 500 ao exportar o Notebook Server. Reproduzimos o problema independentemente do WebGISDR fazendo uma solicitação autenticada diretamente para a API Admin do Notebook Server exportSite:
POST /notebooks/admin/exportSite
A operação retorna consistentemente:
HTTP 500 - Falha na operação de exportação. null
Com o registro DEBUG temporário ativado, o Notebook Server executa com sucesso:
- inicia a operação de exportação;
- cria
/opt/arcgis/notebookserver/temp/tmp-carbon-export-*; - cria o armazenamento temporário de configuração;
- atualiza as propriedades do sistema da API Admin; e
- copia a configuração do site para o armazenamento temporário de configuração.
Imediatamente depois, a exportação falha com:
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)
Capturamos o diretório temporário tmp-carbon-export-* antes que o Notebook Server o excluísse. Ele contém backupRestoreInfo.json e o armazenamento substantivo de configuração do Notebook Server, incluindo configuração da máquina, diretórios do servidor, definições/manifests de runtime de notebook, configuração de segurança, configuração do Web Adaptor, keystore de certificado e metadados do container.
Comparar o armazenamento de configuração ativo com o armazenamento capturado da exportação mostrou apenas arquivos esperados .lock omitidos; nenhum arquivo substantivo de configuração estava faltando.
Também testamos se o problema estava relacionado a este ser um Notebook Server recém-implantado/nunca usado anteriormente. Um Notebook padrão foi criado, salvo e executado com sucesso. Isso inicializou um container Notebook em execução, artefatos do workspace e populou registros de trabalho do sistema do Notebook Server.
Como teste funcional adicional, o notebook executou com sucesso código da ArcGIS API for Python usando:
from arcgis.gis import GIS
gis = GIS("home")
print("Conectado a:", gis.properties.name)
print("URL do Portal:", gis.url)
print("Logado como:", gis.users.me.username)
print("Versão do Portal:", gis.properties.currentVersion)
O notebook autenticou-se com sucesso no Portal federado e retornou:
Conectado a: ArcGIS Enterprise
URL do Portal: https://gis.xyz.com/portal
Logado como: siteadmin
Versão do Portal: 2025.1
Isso confirma que a execução normal do container do Notebook Server, execução da ArcGIS API for Python, autenticação no Portal e comunicação com o Portal federado estão funcionando.
Após criar, salvar e executar o notebook, testamos novamente a operação direta exportSite do Notebook Server. Ela ainda falha da mesma forma com:
HTTP 500 - Falha na operação de exportação. null
Portanto, a falha não parece ser causada pela ausência de notebooks de usuário, falta de inicialização no primeiro uso, incapacidade de iniciar containers Notebook ou incapacidade dos notebooks se comunicarem com o Portal.
Também validamos:
- Federação/configuração Portal 91F Notebook Server
- Conectividade URL configurada do Portal 91F Notebook Server
- Conectividade TLS
- Inicialização e execução bem-sucedida do container Notebook
- Execução bem-sucedida da ArcGIS API for Python e autenticação no Portal
- Diretórios e caminhos registrados do Notebook Server
- Permissões no sistema de arquivos e espaço disponível em disco
- Artefatos de certificado/keystore do Notebook Server
- Criação e uso do diretório temporário de exportação
- Criação bem-sucedida de
backupRestoreInfo.json - Cópia bem-sucedida do armazenamento substantivo de configuração do Notebook Server
Portanto, a falha parece ocorrer após a configuração do site ter sido copiada, quando SiteManager.exportSite()' chama 'FileUtil.copyFile()' com um caminho aparentemente nulo.
Perguntas:
- 'Este é um problema conhecido no ArcGIS Notebook Server 11.5
'exportSite'? - 'Qual arquivo ou artefato adicional ',
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.