Estamos solucionando un fallo de WebGISDR en un despliegue de ArcGIS Enterprise 11.5 en Linux y hemos aislado el problema al ArcGIS Notebook Server federado en la operación exportSite.
WebGISDR recibe HTTP 500 al exportar Notebook Server. Reproducimos el problema independientemente de WebGISDR haciendo una solicitud autenticada directamente a la API Admin de Notebook Server exportSite:
POST /notebooks/admin/exportSite
La operación devuelve consistentemente:
HTTP 500 - Operación de exportación fallida. null
Con el registro DEBUG temporal habilitado, Notebook Server realiza con éxito:
- inicia la operación de exportación;
- crea
/opt/arcgis/notebookserver/temp/tmp-carbon-export-*; - crea el almacén de configuración temporal;
- actualiza las propiedades del sistema de la API Admin; y
- copia la configuración del sitio en el almacén de configuración temporal.
Inmediatamente después, la exportación falla con:
java.lang.NullPointerException
en java.util.Objects.requireNonNull(...)
en sun.nio.fs.UnixFileSystem.getPath(...)
en java.nio.file.Path.of(...)
en java.nio.file.Paths.get(...)
en com.esri.arcgis.carbon.common.FileUtil.copyFile(FileUtil.java:652)
en com.esri.arcgis.carbon.admin.SiteManager.exportSite(SiteManager.java:2027)
en com.esri.arcgis.carbon.admin.rest.site.SiteResource.exportSite(SiteResource.java:329)
Capturamos el directorio temporal tmp-carbon-export-* antes de que Notebook Server lo eliminara. Contiene backupRestoreInfo.json y el almacén de configuración sustantivo de Notebook Server, incluyendo configuración de máquina, directorios del servidor, definiciones/manifiestos de tiempo de ejecución del notebook, configuración de seguridad, configuración del Web Adaptor, almacén de certificados y metadatos del contenedor.
Comparar el almacén de configuración activo con el capturado mostró solo archivos esperados omitidos con extensión .lock; no faltaban archivos sustantivos de configuración.
También probamos si el problema estaba relacionado con que este fuera un Notebook Server recién desplegado/no usado previamente. Un notebook estándar fue creado, guardado y ejecutado exitosamente. Esto inicializó un contenedor Notebook en ejecución, artefactos del espacio de trabajo y pobló registros del sistema de trabajos del Notebook Server.
Como prueba funcional adicional, el notebook ejecutó exitosamente código ArcGIS API for Python usando:
from arcgis.gis import GIS
gis = GIS("home")
print("Conectado a:", gis.properties.name)
print("URL del Portal:", gis.url)
print("Conectado como:", gis.users.me.username)
print("Versión del Portal:", gis.properties.currentVersion)
El notebook se autenticó exitosamente al Portal federado y devolvió:
Conectado a: ArcGIS Enterprise
URL del Portal: https://gis.xyz.com/portal
Conectado como: siteadmin
Versión del Portal: 2025.1
Esto confirma que la ejecución normal del contenedor Notebook Server, ejecución de ArcGIS API for Python, autenticación al Portal y comunicación con el Portal federado están funcionando correctamente.
Después de crear, guardar y ejecutar el notebook, probamos nuevamente la operación directa exportSite del Notebook Server. Todavía falla idénticamente con:
HTTP 500 - Operación de exportación fallida. null
Por lo tanto, la falla no parece ser causada por ausencia de notebooks de usuario, falta de inicialización en primer uso, incapacidad para iniciar contenedores Notebook o incapacidad de los notebooks para comunicarse con el Portal.
También hemos validado:
- Federación/configuración Portal Notebook Server
- Conectividad URL configurada del Notebook Server hacia Portal
- Conectividad TLS
- Inicio y ejecución exitosa del contenedor Notebook
- Ejecución exitosa de ArcGIS API for Python y autenticación al Portal
- Directorios y rutas registrados del Notebook Server
- Permisos del sistema de archivos y espacio disponible en disco
- Artefactos certificado/almacén de claves del Notebook Server
- Creación y uso del directorio temporal de exportación
- Creación exitosa de
backupRestoreInfo.json - Copia exitosa del almacén sustantivo de configuración del Notebook Server
Por lo tanto, la falla parece ocurrir después que la configuración del sitio ha sido copiada, cuando SiteManager.exportSite() llama a FileUtil.copyFile() con lo que parece ser una ruta nula.
Preguntas:
- ¿Es este un problema conocido de ArcGIS Notebook Server 11.5 en
exportSite?