ECS: Kan clips niet migreren van Centera naar ECS - ERROR_RETENTION_INCORRECT
Résumé: ECS: Kan clips niet migreren van Centera naar ECS - ERROR_RETENTION_INCORRECT
Symptômes
Voorbeeld van stacktrace:
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
Scenario 1:
---------------
Als de bewaarperiode van een object buiten de grenzen valt die zijn opgegeven in de bucket, mislukt een poging om het object te schrijven.
Wanneer u bewaarbeleidsregels gebruikt, betekent Oneindig selecteren voor minimale vaste bewaarperiode dat alle bewaarwaarden voor alle objecten oneindig moeten zijn.
Als u 'Oneindig' selecteert voor Maximale vaste retentieperiode, betekent dit dat er geen maximumlimiet is.
Min/max-retentiebeperkingen worden toegepast op elke C-Clip die naar een bucket wordt geschreven. Als een clip wordt gemigreerd door een SDK-gebaseerde tool van derden, moet de retentie binnen de perken blijven, anders wordt er een fout gegenereerd.
Scenario 2:
--------------
Er zijn beleidsregels voor retentieklassen gedefinieerd op Centera. U kunt dit verifiëren door de klant te vragen u de onderstaande opdracht van Centera te geven:
Config# show retention all
Résolution
---------------
Als u bijvoorbeeld CAS-clips had met een retentieperiode van 7 jaar, moet u een bucket maken met de volgende retentiewaarden:
Bucket-retentieperiode: 0 seconds
Minimum Fixed Retention Period: 0 seconden
Maximale vaste retentieperiode: 8 jaar
Minimale variabele retentieperiode: 0 seconds
Maximum Variable Retention Period: 0 seconden
Op deze manier valt de retentie binnen de min/max beperkingen.
Scenario 2:
--------------
Vraag de klant om u het onderstaande beleid voor retentieklassen te verstrekken.
|
Vervolgens moet u al deze beleidsregels voor retentieklassen toevoegen aan het bewaarbeleid voor naamruimten aan de ECS-zijde. Vraag de klant/PS om de migratie opnieuw uit te voeren na het toevoegen van het bewaarbeleid voor de namespace aan de ECS-zijde.