ECS. Не удается перенести клипы из Centera в ECS — ERROR_RETENTION_INCORRECT
Summary: Невозможно перенести клипы из Centera в ECS — «ERROR_RETENTION_INCORRECT».
Symptoms
Клипы не переносятся в ECS из Centera с «ERROR_RETENTION_INCORRECT».
Пример трассировки стека:
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
Сценарий 1.
Если срок хранения объекта выходит за границы, указанные в контейнере, попытка записать объект завершается сбоем.
Если в контексте использования политик хранения выбрано значение Бесконечно для параметра Минимальный фиксированный срок хранения, это означает, что все значения срока хранения для всех объектов должны быть бесконечными.
Если для параметра Максимальный фиксированный срок хранения выбрать значение бесконечно, это означает, что максимальный предел отсутствует.
Минимальные/максимальные ограничения по срокам хранения применяются к любому C-Clip, записанному в контейнер. Если клип переносится каким-либо сторонним инструментом на основе SDK, срок хранения должен быть в пределах, в противном случае будет выдана ошибка.
Сценарий 2.
В Centera определены политики классов хранения. Вы можете убедиться в этом, попросив заказчика предоставить вам следующую команду от Centera:
Config# show retention all
Resolution
Сценарий 1.Например
, если у вас есть клипы CAS со сроком хранения 7 лет, вам нужно будет создать контейнер со следующими значениями хранения:
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
Таким образом, срок хранения находится в пределах минимальных/максимальных ограничений.
Сценарий 2.
Попросите заказчика предоставить вам указанные ниже политики класса хранения.
-
Запустите интерфейс командной строки для Centera.
-
Подключитесь в качестве пользователя с ролью комплаенса или мониторинга.
-
Введите команду:
show retention allВыходные данные выглядят следующим образом:
Retention class name Period ------------------------------------------ class 1 5 years class 2 3 months class 3 10 years
Затем необходимо добавить все эти политики классов хранения в политики хранения пространства имен на стороне ECS. Попросите заказчика/поставщика повторить попытку переноса после добавления политик хранения пространства имен на стороне ECS.