ECS: No se pueden migrar clips de Centera a ECS: ERROR_RETENTION_INCORRECT
Résumé: ECS: No se pueden migrar clips de Centera a ECS: ERROR_RETENTION_INCORRECT
Symptômes
Ejemplo de seguimiento de pila:
169.254.1.8 2019-11-21T19:30:53,212 [1215100270,sdk,ECSSYNCKDC01/3594002/WRITE_CLIP,-531c636:16e89995c11:-7a82,1] ERROR AbstractTransaction.java (line 136) Failed to execute the transaction, aborting.
TransactionFailureException: com.emc.vipr.cashead.api.ObjectRetentionIncorrect: Failed to execute operation, error is ERROR_RETENTION_INCORRECT, object name is null
at com.emc.vipr.cashead.storageserver.access.transaction.write.ObjectWriterImpl.finish(ObjectWriterImpl.java:80)
at com.emc.vipr.cashead.storageserver.access.transaction.write.AwaitEOF.finish(AwaitEOF.java:173)
at com.emc.vipr.cashead.storageserver.access.transaction.write.AwaitEOF.put(AwaitEOF.java:111)
at com.emc.vipr.cashead.storageserver.access.msg.RichLastSegmentMessage.execute(RichLastSegmentMessage.java:61)
at com.emc.vipr.cashead.storageserver.access.encoding.hpp.HPPResponder$EnqueableTransactionObject.execute(HPPResponder.java:311)
at com.emc.vipr.cashead.storageserver.access.transaction.AccessTransaction.executeMessage(AccessTransaction.java:57)
at com.emc.vipr.cashead.storageserver.access.transaction.AbstractTransaction.schedule(AbstractTransaction.java:131)
at com.emc.vipr.cashead.storageserver.access.transaction.NullScheduler.registerSchedulable(NullScheduler.java:48)
at com.emc.vipr.cashead.storageserver.access.transaction.AbstractTransaction.putGeneralMessage(AbstractTransaction.java:92)
at com.emc.vipr.cashead.storageserver.access.transaction.AccessTransaction.put(AccessTransaction.java:61)
at com.emc.vipr.cashead.storageserver.access.encoding.hpp.HPPResponder.processTransactionObject(HPPResponder.java:276)
at com.emc.vipr.cashead.storageserver.access.encoding.hpp.HPPResponder.processPacket(HPPResponder.java:290)
at com.emc.vipr.cashead.storageserver.access.encoding.hpp.HPPResponder.process(HPPResponder.java:181)
at com.emc.vipr.cashead.storageserver.access.AccessNetworkServer.HandleConnection(AccessNetworkServer.java:51)
at com.emc.vipr.cashead.hppserver.HPPServer.HandleConnection(HPPServer.java:84)
at com.emc.vipr.cashead.net.NetworkServerWorker.Work(NetworkServerWorker.java:61)
at com.emc.vipr.cashead.worker.Worker.call(Worker.java:227)
at com.emc.vipr.cashead.worker.WorkerSchedulerThread.run(WorkerSchedulerThread.java:137)
Caused by: java.io.IOException: com.emc.vipr.cashead.api.ObjectRetentionIncorrect: Failed to execute operation, error is ERROR_RETENTION_INCORRECT, object name is null
at com.emc.vipr.cashead.impl.vipr.ViPRObjectWriteHandler.checkResult(ViPRObjectWriteHandler.java:73)
at com.emc.vipr.cashead.storageserver.access.transaction.write.ObjectWriterImpl.finish(ObjectWriterImpl.java:77)
... 17 more
Caused by: com.emc.vipr.cashead.api.ObjectRetentionIncorrect: Failed to execute operation, error is ERROR_RETENTION_INCORRECT, object name is null
at com.emc.vipr.cashead.impl.vipr.ExceptionTranslator.translateError(ExceptionTranslator.java:38)
at com.emc.vipr.cashead.impl.vipr.ExceptionTranslator.checkError(ExceptionTranslator.java:21)
at com.emc.vipr.cashead.impl.vipr.ViPRObjectWriteHandler.checkResult(ViPRObjectWriteHandler.java:71)
... 18 more
Cause
Escenario 1:
---------------
Si el período de retención de un objeto está fuera de los límites especificados en el depósito, fallará un intento de escribir el objeto.
Cuando se utilizan políticas de retención, seleccionar Infinito para Período de retención fijo mínimo significa que todos los valores de retención en todos los objetos deben ser infinitos.
Si selecciona infinito para Periodo de retención fijo máximo, no hay un límite máximo.
Las restricciones de retención mín./máx. se aplican a cualquier C-Clip escrito en un depósito. Si cualquier herramienta de terceros basada en SDK migra un clip, la retención debe estar dentro de los límites, de lo contrario, se produce un error.
Escenario 2:
--------------
Hay políticas de clase de retención definidas en Centera. Para verificar esto, pida al cliente que le proporcione el siguiente comando de Centera:
Config# show retention all
Résolution
---------------
Por ejemplo, si tiene clips de CAS configurados con una retención de 7 años, deberá crear un depósito con los siguientes valores de retención:
Bucket Retention Period: Período de retención fijo mínimo de 0 segundos
: Período de retención fijo máximo de 0 segundos
: Período de retención variable mínimo de 8 años
: Período de retención variable máximo de 0 segundos
: 0 segundos
De esta manera, la retención se encuentra dentro de las restricciones mínimas y máximas.
Situación 2:
--------------
Solicite al cliente que le proporcione las siguientes políticas de clase de retención.
|
A continuación, debe agregar todas estas políticas de clase de retención a las políticas de retención del espacio de nombres en el lado de ECS. Solicite al cliente/PS que vuelva a intentar la migración después de agregar las políticas de retención de espacio de nombres en el lado de ECS.