navinko opened a new pull request, #10313:
URL: https://github.com/apache/ozone/pull/10313

   ## What changes were proposed in this pull request?
   Used SequenceIdType for sequenceIdToLastIdMap in StateManagerImpl
   
   ## Please describe your PR in detail:
   Refactored sequenceIdToLastIdMap in StateManagerImpl from <String, Long> to 
<SequenceIdType, Long>.
   Updated allocateBatch(), getLastId(), and initialize() to safely convert DB 
key of string type  to SequenceIdType Enums using SequenceIdType.valueOf().
   Also as per the Jira, the @Replicate method signatures were NOT changed to 
maintain RPC compatibility.
   
   Regarding the change related to other in-memory data structure 
-sequenceIdTable, will create a separate PR with SequenceIdType codec by moving 
away from default StringCodec to support serialization and adapt SequenceIdType
   for Table<String, Long>  --> Table<SequenceIdType, Long>
   
   ## What is the link to the Apache JIRA
   https://issues.apache.org/jira/browse/HDDS-15288
   
   ## How was this patch tested?
   Added new test cases under TestSequenceIDGenerator and validated changes.
   Ran locally, docker-compose and validated the flow for reinitialise with scm 
failover
   
   > ozonesecure-ha % docker compose logs -f scm1.org scm2.org 2>&1 | grep -iE 
"SequenceIdGenerator|allocateBatch"
   scm2.org-1  | 2026-05-19 11:07:13,743 [main] INFO ha.SequenceIdGenerator: 
upgrade localId to 117883640217600000
   scm2.org-1  | 2026-05-19 11:07:13,744 [main] INFO ha.SequenceIdGenerator: 
upgrade delTxnId to 0
   scm2.org-1  | 2026-05-19 11:07:13,747 [main] INFO ha.SequenceIdGenerator: 
upgrade containerId to 0
   scm2.org-1  | 2026-05-19 11:07:13,748 [main] INFO ha.SequenceIdGenerator: 
upgrade CertificateId to 2
   scm2.org-1  | 2026-05-19 11:07:13,748 [main] INFO ha.SequenceIdGenerator: 
Init the HA SequenceIdGenerator.
   scm2.org-1  | 2026-05-19 11:07:14,412 
[a0c35110-bb90-45b4-862f-e7d338f1a711@group-DA1743C8D70B-StateMachineUpdater] 
INFO ha.SequenceIdGenerator: reinitialize SequenceIdGenerator.
   scm2.org-1  | 2026-05-19 11:14:28,423 
[a0c35110-bb90-45b4-862f-e7d338f1a711@group-DA1743C8D70B-StateMachineUpdater] 
WARN ha.SequenceIdGenerator: Failed to allocate a batch for localId, expected 
lastId is 0, actual lastId is 117883640217600000.
   scm1.org-1  | 2026-05-19 11:07:06,181 [main] INFO ha.SequenceIdGenerator: 
upgrade localId to 117883640217600000
   scm1.org-1  | 2026-05-19 11:07:06,181 [main] INFO ha.SequenceIdGenerator: 
upgrade delTxnId to 0
   scm1.org-1  | 2026-05-19 11:07:06,183 [main] INFO ha.SequenceIdGenerator: 
upgrade containerId to 0
   scm1.org-1  | 2026-05-19 11:07:06,183 [main] INFO ha.SequenceIdGenerator: 
upgrade CertificateId to 2
   scm1.org-1  | 2026-05-19 11:07:06,184 [main] INFO ha.SequenceIdGenerator: 
Init the HA SequenceIdGenerator.
   scm1.org-1  | 2026-05-19 11:07:06,296 [main] INFO ha.SequenceIdGenerator: 
upgrade CertificateId to 2
   scm1.org-1  | 2026-05-19 11:07:12,154 
[9c364a4e-6060-4490-a237-6a9e96102d15@group-DA1743C8D70B-StateMachineUpdater] 
WARN ha.SequenceIdGenerator: Failed to allocate a batch for CertificateId, 
expected lastId is 0, actual lastId is 2.
   scm1.org-1  | 2026-05-19 11:07:12,157 [IPC Server handler 0 on default port 
9961] INFO ha.SequenceIdGenerator: Allocate a batch for CertificateId, change 
lastId from 2 to 3.
   scm1.org-1  | 2026-05-19 11:07:15,999 [IPC Server handler 0 on default port 
9961] INFO ha.SequenceIdGenerator: Allocate a batch for CertificateId, change 
lastId from 3 to 4.
   scm1.org-1  | 2026-05-19 11:07:16,134 [IPC Server handler 1 on default port 
9961] INFO ha.SequenceIdGenerator: Allocate a batch for CertificateId, change 
lastId from 4 to 5.
   scm1.org-1  | 2026-05-19 11:07:21,456 [IPC Server handler 1 on default port 
9961] INFO ha.SequenceIdGenerator: Allocate a batch for CertificateId, change 
lastId from 5 to 6.
   scm1.org-1  | 2026-05-19 11:07:21,541 [IPC Server handler 0 on default port 
9961] INFO ha.SequenceIdGenerator: Allocate a batch for CertificateId, change 
lastId from 6 to 7.
   scm1.org-1  | 2026-05-19 11:07:21,594 [IPC Server handler 1 on default port 
9961] INFO ha.SequenceIdGenerator: Allocate a batch for CertificateId, change 
lastId from 7 to 8.
   scm1.org-1  | 2026-05-19 11:07:21,632 [IPC Server handler 0 on default port 
9961] INFO ha.SequenceIdGenerator: Allocate a batch for CertificateId, change 
lastId from 8 to 9.
   scm1.org-1  | 2026-05-19 11:07:21,666 [IPC Server handler 1 on default port 
9961] INFO ha.SequenceIdGenerator: Allocate a batch for CertificateId, change 
lastId from 9 to 10.
   scm1.org-1  | 2026-05-19 11:07:21,696 [IPC Server handler 0 on default port 
9961] INFO ha.SequenceIdGenerator: Allocate a batch for CertificateId, change 
lastId from 10 to 11.
   scm1.org-1  | 2026-05-19 11:14:28,398 [IPC Server handler 20 on default port 
9863] INFO ha.SequenceIdGenerator: Allocate a batch for containerId, change 
lastId from 0 to 1000.
   scm1.org-1  | 2026-05-19 11:14:28,411 
[9c364a4e-6060-4490-a237-6a9e96102d15@group-DA1743C8D70B-StateMachineUpdater] 
WARN ha.SequenceIdGenerator: Failed to allocate a batch for localId, expected 
lastId is 0, actual lastId is 117883640217600000.
   scm1.org-1  | 2026-05-19 11:14:28,416 [IPC Server handler 20 on default port 
9863] INFO ha.SequenceIdGenerator: Allocate a batch for localId, change lastId 
from 117883640217600000 to 117883640217601000.
   scm1.org-1  | 2026-05-19 11:19:06,367 [main] INFO ha.SequenceIdGenerator: 
Init the HA SequenceIdGenerator.
   scm1.org-1  | 2026-05-19 11:19:06,486 [main] INFO ha.SequenceIdGenerator: 
upgrade CertificateId to 11
   
   Successful CI build:
   https://github.com/navinko/ozone/actions/runs/26101162654


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to