ECS: Nelze migrovat klipy z Centera do ECS – ERROR_RETENTION_INCORRECT
Summary: Nelze migrovat klipy z Centera do ECS – "ERROR_RETENTION_INCORRECT".
Symptoms
Klipy se nedaří migrovat do ECS z Centera pomocí příkazu "ERROR_RETENTION_INCORRECT".
Příklad trasování zásobníku:
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
Scénář 1:
Pokud je doba uchování objektu mimo hranice zadané v kbelíku, pokus o zápis objektu se nezdaří.
Při použití zásad uchovávání informací výběr možnosti Nekonečné pro minimální pevnou dobu uchovávání znamená, že všechny hodnoty uchovávání informací na všech objektech musí být nekonečné.
Vyberete-li v části Maximální pevná doba uchování možnost nekonečno, znamená to, že neexistuje žádný maximální limit.
Omezení minimálního/maximálního retence se aplikují na všechny svorky C zapsané do kbelíku. Pokud je klip migrován libovolným nástrojem třetí strany založeným na sadě SDK, uchovávání by mělo být v mezích, jinak dojde k chybě.
Scénář 2:
V Centera jsou definované zásady třídy uchovávání. Můžete to ověřit tak, že požádáte zákazníka, aby vám poskytl následující příkaz od společnosti Centera:
Config# show retention all
Resolution
Scénář 1:
Pokud jste tedy například měli klipy CAS s nastaveným uchováváním 7 let, museli byste vytvořit kbelík s následujícími hodnotami uchovávání:
Bucket Retention Period: 0 seconds
Minimum Fixed Retention Period: 0 seconds
Maximum Fixed Retention Period: 8 years
Minimum Variable Retention Period: 0 seconds
Maximum Variable Retention Period: 0 seconds
Tímto způsobem je uchovávání v rámci minimálních/maximálních omezení.
Scénář 2:Požádejte zákazníka,
aby vám poskytl níže uvedené zásady tříd uchovávání informací.
-
Spusťte rozhraní příkazového řádku pro Centera.
-
Připojte se jako uživatel s rolí dodržování předpisů nebo monitorování.
-
Zadejte příkaz:
show retention allVýstup je podobný:
Retention class name Period ------------------------------------------ class 1 5 years class 2 3 months class 3 10 years
Poté je nutné přidat všechny tyto zásady tříd uchovávání do zásad uchovávání informací oboru názvů na straně ECS. Požádejte zákazníka/PS, aby zkusili migraci znovu po přidání zásad uchovávání jmenného prostoru na straně ECS.