[ 
https://issues.apache.org/jira/browse/HDDS-13548?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated HDDS-13548:
----------------------------------
    Labels: pull-request-available  (was: )

> OM restart failure due to DB LifecycleConfiguration with expiry date older 
> than now
> -----------------------------------------------------------------------------------
>
>                 Key: HDDS-13548
>                 URL: https://issues.apache.org/jira/browse/HDDS-13548
>             Project: Apache Ozone
>          Issue Type: Sub-task
>            Reporter: Sammi Chen
>            Assignee: ChenXi
>            Priority: Major
>              Labels: pull-request-available
>
> During OM restart, it will fetch all LifecycleConfigurations from DB.  The 
> desalinization of LifecycleConfiguration will the check the expiry date with 
> now(),
> {code:java}
> if (dateInUTC.isBefore(now)) {
>         throw new OMException("Invalid lifecycle configuration: 'Date' must 
> be in the future " + now + "," + dateInUTC,
>             OMException.ResultCodes.INVALID_REQUEST);
> }
> {code}
> For existing LifecycleConfigurations, its expiry date can be older than now() 
> while the LifecycleConfiguration is invalid. 
> {code:bash}
> ```
> java.lang.IllegalStateException: Failed next()
>       at 
> org.apache.hadoop.hdds.utils.db.TypedTable$RawIterator.next(TypedTable.java:690)
>       at 
> org.apache.hadoop.hdds.utils.db.TypedTable$RawIterator.next(TypedTable.java:639)
>       at 
> org.apache.hadoop.hdds.utils.db.TypedTable.<init>(TypedTable.java:124)
>       at org.apache.hadoop.hdds.utils.db.TypedTable.<init>(TypedTable.java:92)
>       at org.apache.hadoop.hdds.utils.db.RDBStore.getTable(RDBStore.java:313)
>       at 
> org.apache.hadoop.ozone.om.OmMetadataManagerImpl.initializeOmTables(OmMetadataManagerImpl.java:773)
>       at 
> org.apache.hadoop.ozone.om.OmMetadataManagerImpl.start(OmMetadataManagerImpl.java:578)
>       at 
> org.apache.hadoop.ozone.om.OmMetadataManagerImpl.<init>(OmMetadataManagerImpl.java:362)
>       at 
> org.apache.hadoop.ozone.om.OzoneManager.instantiateServices(OzoneManager.java:932)
>       at org.apache.hadoop.ozone.om.OzoneManager.<init>(OzoneManager.java:697)
>       at 
> org.apache.hadoop.ozone.om.OzoneManager.createOm(OzoneManager.java:898)
>       at 
> org.apache.hadoop.ozone.om.OzoneManagerStarter$OMStarterHelper.start(OzoneManagerStarter.java:188)
>       at 
> org.apache.hadoop.ozone.om.OzoneManagerStarter.startOm(OzoneManagerStarter.java:85)
>       at 
> org.apache.hadoop.ozone.om.OzoneManagerStarter.call(OzoneManagerStarter.java:73)
>       at 
> org.apache.hadoop.ozone.om.OzoneManagerStarter.call(OzoneManagerStarter.java:1)
>       at picocli.CommandLine.executeUserObject(CommandLine.java:2041)
>       at picocli.CommandLine.access$1500(CommandLine.java:148)
>       at 
> picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461)
>       at picocli.CommandLine$RunLast.handle(CommandLine.java:2453)
>       at picocli.CommandLine$RunLast.handle(CommandLine.java:2415)
>       at 
> picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)
>       at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)
>       at picocli.CommandLine.execute(CommandLine.java:2170)
>       at org.apache.hadoop.hdds.cli.GenericCli.execute(GenericCli.java:89)
>       at org.apache.hadoop.hdds.cli.GenericCli.run(GenericCli.java:80)
>       at 
> org.apache.hadoop.ozone.om.OzoneManagerStarter.main(OzoneManagerStarter.java:57)
> Caused by: INVALID_REQUEST org.apache.hadoop.ozone.om.exceptions.OMException: 
> Invalid lifecycle configuration: 'Date' must be in the future 
> 2025-08-11T17:42:49.751Z,2014-01-19T00:00Z
>       at 
> org.apache.hadoop.ozone.om.helpers.OmLCExpiration.validateExpirationDate(OmLCExpiration.java:129)
>       at 
> org.apache.hadoop.ozone.om.helpers.OmLCExpiration.valid(OmLCExpiration.java:107)
>       at 
> org.apache.hadoop.ozone.om.helpers.OmLCExpiration$Builder.build(OmLCExpiration.java:204)
>       at 
> org.apache.hadoop.ozone.om.helpers.OmLCExpiration.getFromProtobuf(OmLCExpiration.java:174)
>       at 
> org.apache.hadoop.ozone.om.helpers.OmLCRule.getFromProtobuf(OmLCRule.java:300)
>       at 
> org.apache.hadoop.ozone.om.helpers.OmLifecycleConfiguration.getFromProtobuf(OmLifecycleConfiguration.java:206)
>       at 
> org.apache.hadoop.hdds.utils.db.DelegatedCodec.fromCodecBuffer(DelegatedCodec.java:98)
>       at 
> org.apache.hadoop.hdds.utils.db.TypedTable$1.convert(TypedTable.java:607)
>       at 
> org.apache.hadoop.hdds.utils.db.TypedTable$RawIterator.next(TypedTable.java:688)
>       ... 25 more
> ```
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to