ECS: Nie można przenieść klipów z serwera Centera do systemu ECS — ERROR_RETENTION_INCORRECT
Résumé: ECS: Nie można przenieść klipów z serwera Centera do systemu ECS — ERROR_RETENTION_INCORRECT
Symptômes
Przykładowy ślad stosu:
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
Scenariusz 1:
---------------
Jeśli okres przechowywania obiektu wykracza poza granice określone w zasobniku, próba zapisania obiektu kończy się niepowodzeniem.
W przypadku korzystania z zasad przechowywania wybranie opcji Nieskończony dla minimalnego stałego okresu przechowywania oznacza, że wszystkie wartości przechowywania na wszystkich obiektach muszą być nieskończone.
Wybranie opcji nieskończony dla maksymalnego stałego okresu retencji oznacza, że nie ma maksymalnego limitu.
Ograniczenia minimalnej/maksymalnej retencji są stosowane do każdego klipu C zapisanego w zasobniku. Jeśli klip zostanie przeniesiony przez narzędzie innej firmy oparte na SDK, przechowywanie powinno mieścić się w granicach, w przeciwnym razie zostanie zgłoszony błąd.
Scenariusz 2:
--------------
W Centera zdefiniowane są zasady klasy przechowywania. Możesz to zweryfikować, prosząc klienta o podanie poniższego polecenia z Centera:
Config# show retention all
Résolution
---------------
Jeśli na przykład masz klipy CAS z ustawioną retencją 7 lat, musisz utworzyć zasobnik z następującymi wartościami retencji:
Okres przechowywania zasobnika: 0 sekund
Minimalny stały okres retencji: 0 sekund
Maksymalny stały okres retencji: Minimalny zmienny okres przechowywania wynoszący 8 lat
: 0 sekund
Maksymalny zmienny okres retencji: 0 sekund
W ten sposób retencja mieści się w ograniczeniach min./max.
Scenariusz 2:
--------------
Poproś klienta o dostarczenie poniższych zasad klasy przechowywania.
|
Następnie należy dodać wszystkie te zasady klasy przechowywania do zasad przechowywania przestrzeni nazw po stronie ECS. Poproś klienta/PS o ponowną próbę migracji po dodaniu zasad przechowywania przestrzeni nazw po stronie ECS.