AppSync-Fehler in der Mount-Kopierphase mit VMAX-Fehler "fehlgeschlagen", verursacht durch GenericJDBCException
Zusammenfassung: Die Mount-Phase schlägt aufgrund eines Problems mit unzureichendem Arbeitsspeicher für Postgres mit dem Fehler in den Serverprotokollen fehl: "ERROR: out of memory Detail: Fehlgeschlagen auf Größenanfrage" ...
Symptome
Der Serviceplan schlägt in der Mount-Phase fehl, während eine interne Abfrage ausgeführt wird, um die Details des VMAX-Geräts und die Details der Kopie für die Verknüpfung abzurufen. Für das spezifische Problem, das in diesem Artikel behandelt wird, wird die folgende Abfrage in den Serverprotokollen direkt vor dem Problem angezeigt:
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
Ein Fehler im AppSync-Ereignisprotokoll zeigt Folgendes an:
<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.
Der AppSync-Serverprotokollfehler wird angezeigt:
<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
Ursache
Ein Fehler tritt auf, wenn PostgreSQL nicht in der Lage ist, den Arbeitsspeicher zuzuweisen, der für die Ausführung einer Abfrage oder die Durchführung eines anderen internen Vorgangs erforderlich ist.
Lösung
-
Erstellen Sie ein Backup der AppSync Postgres-Datenbank, indem Sie ein DOS-Fenster als Administrator öffnen, mit C:\EMC\AppSync\backup-assistant wechseln und appsync-backup.bat ausführen
-
Stellen Sie sicher, dass eine Kopie von C:\EMC\AppSync\jboss\datastore\data\postgresql.conf erstellt und an einem sicheren Ort gespeichert wird.
-
Bearbeiten Sie C:\EMC\AppSync\jboss\datastore\data\postgresql.conf und legen Sie work_mem auf 128 MB fest (bei Bedarf auskommentieren).
-
Starten Sie die drei AppSync-Services neu. Die beste Reihenfolge, um sie zu starten, ist:
EMC AppSync Datastore ServiceAppSync Security ServiceAppSync Server Service
Weitere Informationen
Bei vielen anderen AppSync-Funktionen können ähnliche Fehler auftreten, für die die gleiche Auflösung verwendet werden kann:
Die ähnlichen Fehler sind:
Ereignisfehler, die Folgendes enthalten:
could not extract ResultSet
Zusammen mit den folgenden Angaben im AppSync-Serverprotokoll: c:\EMC\AppSync\jboss\logs\server.log
ERROR: out of memory Detail: Failed on request of size