ECS: Не можу перенести кліпи з Centera на ECS - ERROR_RETENTION_INCORRECT

Summary: Не можу мігрувати кліпи з Centera в ECS — "ERROR_RETENTION_INCORRECT."

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

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:
Якщо період утримання об'єкта виходить за межі, визначені в бакеті, спроба записати об'єкт зазнає невдачі.

При використанні політик утримання, вибір Infinite для мінімального фіксованого періоду утримання означає, що всі значення збереження на всіх об'єктах мають бути нескінченними.
Вибір нескінченного для максимального фіксованого періоду утримання означає, що максимального обмеження немає.

Обмеження мінімального/максимального утримання застосовуються до будь-якого C-кліпу, записаного у відро. Якщо кліп мігрується будь-яким стороннім інструментом на основі 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:
Попросіть клієнта надати вам наведені нижче правила щодо класу утримання.

  1. Почніть CLI для Centera.

  2. Зв'яжіться як користувач з роллю відповідності або моніторингу.

  3. Введіть команду: show retention all

    Вихід подібний на:

    Retention class name Period
    ------------------------------------------
    class 1       5 years
    class 2         3 months
    class 3         10 years

Потім потрібно додати всі ці політики класів утримання до політик збереження простору імен на стороні ECS. Попросіть клієнта/PS спробувати міграцію ще раз після додавання політик збереження простору імен на стороні ECS.

 

Affected Products

ECS Appliance Hardware Gen1 U-Series

Products

ECS Appliance Hardware Gen1 U-Series, ECS Appliance Software with Encryption, ECS Appliance Software without Encryption
Article Properties
Article Number: 000055152
Article Type: Solution
Last Modified: 29 Jun 2026
Version:  4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.