Falla de fase de copia de montaje de AppSync con error de operación de VMAX causado por GenericJDBCException
Resumen: La fase de montaje falla debido a un problema de memoria insuficiente para Postgres con el error en los registros del servidor "ERROR: memoria insuficiente Detalles: Falló en la solicitud de tamaño" ...
Síntomas
El plan de servicio falla en la fase de montaje mientras se ejecuta una consulta interna para obtener los detalles del dispositivo VMAX y copiar los detalles para la vinculación. Para el problema específico que se aborda en este artículo, la siguiente consulta se ve en los registros del servidor justo antes del problema:
Query string is:SELECT n FROM VMAXDeviceEntity n left JOIN FETCH n.snapVxCopyDevice WHERE n.storageArrayId = :storageArrayId AND n.inUseForReplication = 'false' AND n.enabledForReplication = 'true' AND n.capacity = :capacity
Se muestra un error en el registro de eventos de AppSync:
<DATE>, Mount copy, VMAX_000002,<appsync-server>,VMAX operation failed. Error: Exception thrown while linking the copy org.hibernate.exception.GenericJDBCException: could not extract ResultSet.
El error del registro del servidor de AppSync muestra lo siguiente:
<DATE>INFO [EJB default - 10] [com.emc.archway.commands.storage.vmax.GetStorageForSnapVXCommandBean] [appsync-server] [] b8c58a7f-f1c4-493a-8ca2-e0354b9b44b3->>> Unlinking the previous relationship of device(if any) :000E5 <DATE> INFO [EJB default - 10] [com.emc.archway.service.vmax.VmaxServiceBean] [appsync-server] [] b8c58a7f-f1c4-493a-8ca2-e0354b9b44b3->>> The device 000E5 is not used as target in the array <Array S/N> <DATE> ERROR [EJB default - 10] [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] [appsync-server] [] ERROR: out of memory Detail: Failed on request of size 17. <DATE> INFO [EJB default - 10] [org.hibernate.event.internal.DefaultLoadEventListener] [appsync-server] [] HHH000327: Error performing load command : org.hibernate.exception.GenericJDBCException: could not extract ResultSet
Causa
Se produce un error cuando PostgreSQL no puede asignar la memoria necesaria para que se ejecute una consulta o para que se complete cualquier otra operación interna.
Resolución
-
Cree un respaldo de la base de datos de postgres de AppSync abriendo una ventana de DOS como administrador, vaya a C:\EMC\AppSync\backup-assistant y ejecute appsync-backup.bat
-
Asegúrese de que se realice una copia de C:\EMC\AppSync\jboss\datastore\data\postgresql.conf y que se almacene en una ubicación segura.
-
Edite C:\EMC\AppSync\jboss\datastore\data\postgresql.conf y establezca work_mem en 128 MB (quite los comentarios si es necesario).
-
Reinicie los tres servicios de AppSync. El mejor orden para iniciarlos es:
EMC AppSync Datastore ServiceAppSync Security ServiceAppSync Server Service
Información adicional
Muchas otras funciones de AppSync pueden incurrir en errores similares para los cuales se puede utilizar la misma resolución:
Los errores similares son los siguientes:
Errores de eventos que contienen:
could not extract ResultSet
Junto con lo siguiente en el registro del servidor de AppSync: c:\EMC\AppSync\jboss\logs\server.log
ERROR: out of memory Detail: Failed on request of size