ECS: Kan ikke migrere klip fra Centera til ECS – ERROR_RETENTION_INCORRECT
Summary: Kan ikke migrere klip fra Centera til ECS – "ERROR_RETENTION_INCORRECT".
Symptoms
Klip kan ikke migreres til ECS fra Centera med "ERROR_RETENTION_INCORRECT".
Eksempel på staksporing:
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
Scenarie 1:
Hvis et objekts opbevaringsperiode er uden for de grænser, der er angivet på bucket, mislykkes et forsøg på at skrive objektet.
Når du bruger opbevaringspolitikker, betyder valg af Uendelig for fast opbevaringsperiode som minimum, at alle opbevaringsværdier på alle objekter skal være uendelige.
Hvis du vælger uendelig for maksimal fast opbevaringsperiode, betyder det, at der ikke er nogen maksimumgrænse.
Min./maks. fastholdelsesbegrænsninger anvendes på enhver C-clip, der skrives til en bucket. Hvis et klip migreres af et SDK-baseret tredjepartsværktøj, skal opbevaringen være inden for grænser, ellers udløses der en fejl.
Scenarie 2:
Der er defineret politikker for fastholdelsesklasser på Centera. Du kan bekræfte dette ved at bede kunden om at give dig nedenstående kommando fra Centera:
Config# show retention all
Resolution
Scenarie 1:
Så hvis du f.eks. havde CAS-klip med en tilbageholdelse på 7 år sat på, skulle du oprette en bucket med følgende retentionsværdier:
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
På denne måde er fastholdelsen inden for min/max-begrænsningerne.
Scenarie 2:
Bed kunden om at oplyse nedenstående politikker for tilbageholdelsesklasse til dig.
-
Start the CLI for Centera.
-
Opret forbindelse som bruger med overholdelses- eller overvågningsrollen.
-
Skriv kommandoen:
show retention allResultatet svarer til:
Retention class name Period ------------------------------------------ class 1 5 years class 2 3 months class 3 10 years
Du skal derefter føje alle disse politikker for opbevaringsklasse til politikker for opbevaring af navneområde på ECS-siden. Bed kunden/PS en om at prøve migreringen igen, når du har tilføjet politikker for opbevaring af navneområde på ECS-siden.