ECS: Klipler Centera'dan ECS ye taşınamıyor - ERROR_RETENTION_INCORRECT
Summary: Klipler Centera'dan ECS'ye taşınamıyor - "ERROR_RETENTION_INCORRECT."
Symptoms
Klipler "ERROR_RETENTION_INCORRECT" ile Centera'dan ECS'ye taşınamıyor.
Örnek yığın izleme:
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
Senaryo 1:
Bir nesnenin alıkoyma süresi kovada belirtilen sınırların dışındaysa nesneyi yazma girişimi başarısız olur.
Saklama politikaları kullanılırken Minimum Fixed Retention Period için Infinite öğesinin seçilmesi, tüm nesnelerdeki tüm saklama değerlerinin sonsuz olması gerektiği anlamına gelir.
Maksimum Sabit Tutma Süresi için sonsuz seçeneğinin seçilmesi, maksimum sınır olmadığı anlamına gelir.
Bir kovaya yazılan her C-Clip'e min/maks saklama kısıtlamaları uygulanır. Bir klip herhangi bir SDK temelli üçüncü parti araçla geçirilirse saklama sınırlar içinde olmalıdır; aksi takdirde hata alınır.
Senaryo 2:
Centera'da tanımlanan saklama sınıfı ilkeleri vardır. Bunu, müşteriden size Centera'dan aşağıdaki komutu vermesini isteyerek doğrulayabilirsiniz:
Config# show retention all
Resolution
Senaryo 1:
Örneğin, üzerinde 7 yıllık saklama süresi ayarlanmış CAS klipleriniz varsa aşağıdaki saklama değerlerine sahip bir grup oluşturmanız gerekir:
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
Bu şekilde, saklama minimum/maksimum kısıtlamalar dahilindedir.
Senaryo 2:
Müşteriden size aşağıdaki saklama sınıfı politikalarını sağlamasını isteyin.
-
Centera için CLI'yı başlatın.
-
Uyumluluk veya izleme rolüne sahip bir kullanıcı olarak bağlanın.
-
Şu komutu yazın:
show retention allÇıktı, şuna benzerdir:
Retention class name Period ------------------------------------------ class 1 5 years class 2 3 months class 3 10 years
Ardından tüm bu saklama sınıfı politikalarını ECS tarafındaki ad alanı saklama politikalarına eklemeniz gerekir. ECS tarafında ad alanı saklama politikalarını ekledikten sonra müşteriden/PS'den geçişi tekrar denemesini isteyin.