ECS: Clips können nicht von Centera zu ECS migriert werden – ERROR_RETENTION_INCORRECT

摘要: Clips können nicht von Centera zu ECS migriert werden – "ERROR_RETENTION_INCORRECT".

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

症状

Clips können nicht von Centera mit "ERROR_RETENTION_INCORRECT" zu ECS migriert werden.

Beispiel für eine Stack-Ablaufverfolgung:

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

 

原因

Szenario 1:
Wenn die Aufbewahrungsfrist eines Objekts außerhalb der für den Bucket festgelegten Grenzen liegt, schlägt der Versuch, das Objekt zu schreiben, fehl.

Wenn Sie Aufbewahrungs-Policies verwenden, bedeutet die Auswahl von Infinite unter Minimum Fixed Retention Period, dass alle Aufbewahrungswerte für alle Objekte unbegrenzt sein müssen.
Die Auswahl von "Infinite" für Maximum Fixed Retention Period bedeutet, dass es keine maximale Grenze gibt.

Die Einschränkungen für die minimale/maximale Aufbewahrung werden auf alle in einen Bucket geschriebene C-Clips angewendet. Wenn ein Clip von einem SDK-basierten Drittanbietertool migriert wird, muss die Aufbewahrung innerhalb der Grenzen liegen, da andernfalls ein Fehler ausgegeben wird.


Szenario 2:
Auf Centera sind Aufbewahrungsklassen-Policies definiert. Sie können dies überprüfen, indem Sie den Kunden bitten, Ihnen den folgenden Befehl von Centera zu geben:

Config# show retention all

 

解决方案

Szenario 1:
Wenn Sie beispielsweise CAS-Clips mit einer Aufbewahrungsfrist von 7 Jahren hätten, müssten Sie einen Bucket mit den folgenden Aufbewahrungswerten erstellen:

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

Auf diese Weise liegt die Aufbewahrung innerhalb der Min-/Max-Beschränkungen.


Szenario 2:
Bitten Sie den Kunden, Ihnen die folgenden Aufbewahrungsklassen-Policies zur Verfügung zu stellen.

  1. Starten Sie die CLI für Centera.

  2. Melden Sie sich als Nutzer mit der Compliance- oder Überwachungsrolle an.

  3. Geben Sie den folgenden Befehl ein: show retention all

    Die Ausgabe ähnelt dem Folgenden:

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

Anschließend müssen Sie alle diese Aufbewahrungsklassen-Policies zu den Namespace-Aufbewahrungs-Policies auf ECS-Seite hinzufügen. Bitten Sie den/die Kundin/PS, die Migration erneut zu versuchen, nachdem Sie die Namespace-Aufbewahrungs-Policies auf der ECS-Seite hinzugefügt haben.

 

受影响的产品

ECS Appliance Hardware Gen1 U-Series

产品

ECS Appliance Hardware Gen1 U-Series, ECS Appliance Software with Encryption, ECS Appliance Software without Encryption
文章属性
文章编号: 000055152
文章类型: Solution
上次修改时间: 29 6月 2026
版本:  4
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。