ECS: Det går inte att migrera klipp från Centera till ECS – ERROR_RETENTION_INCORRECT
Résumé: ECS: Det går inte att migrera klipp från Centera till ECS – ERROR_RETENTION_INCORRECT
Symptômes
Exempel på stackspårning:
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
Scenario 1:
---------------
Om ett objekts kvarhållningsperiod ligger utanför de gränser som anges i bucketen misslyckas ett försök att skriva objektet.
När du använder kvarhållningsprinciper innebär valet Oändlig för minsta fasta kvarhållningsperiod att alla kvarhållningsvärden för alla objekt måste vara oändliga.
Om du väljer oändlig för maximal fast kvarhållningsperiod innebär det att det inte finns någon maxgräns.
Min/max-kvarhållningsbegränsningar tillämpas på alla C-klämmor som skrivs till en bucket. Om ett klipp migreras av ett SDK-baserat verktyg från tredje part bör kvarhållandet vara inom gränserna, annars uppstår ett fel.
Scenario 2:
--------------
Det finns definierade principer för kvarhållningsklass på Centera. Du kan verifiera detta genom att be kunden att ge dig nedanstående kommando från Centera:
Config# show retention all
Résolution
---------------
Om du till exempel har CAS-klipp med kvarhållning på 7 år måste du skapa en bucket med följande kvarhållningsvärden:
Kvarhållningsperiod för bucket: 0 sekunder
Minsta fasta kvarhållandeperiod: 0 sekunder
maximal fast kvarhållandeperiod: 8 års
minsta variabla kvarhållandeperiod: 0 sekunder
Maximal variabel kvarhållningsperiod: 0 sekunder
På så sätt ligger kvarhållningen inom min/max-begränsningarna.
Scenario 2:
--------------
Be kunden att ge dig nedanstående principer för kvarhållningsklass.
|
Sedan måste du lägga till alla dessa kvarhållningsklassprinciper i namnområdeskvarhållningsprinciper på ECS-sidan. Be kunden/PS att försöka migrera igen efter att ha lagt till kvarhållningsprinciperna för namnområdet på ECS-sidan.