Andrey Yarovoy created HDDS-16424:
-------------------------------------

             Summary: Restore EDEK cache warm-up integration coverage against a 
real KMS
                 Key: HDDS-16424
                 URL: https://issues.apache.org/jira/browse/HDDS-16424
             Project: Apache Ozone
          Issue Type: Sub-task
            Reporter: Andrey Yarovoy


*Background* {{TestOzoneAtRestEncryption}} (integration-test) used to verify OM 
startup EDEK cache warm-up against {{{}MiniKMS{}}}. During the Jetty 12 EE10 
migration (HDDS-8280), {{MiniKMS}} was removed from the integration-test 
classpath because hadoop-kms embeds Jetty 9, which cannot coexist with the 
Jetty 12 runtime. The suite now runs against a local jceks 
{{{}JavaKeyStoreProvider{}}}, which is a no-op for EDEK warm-up and exposes no 
KMS queue to observe.

*Current coverage (post-migration)* Warm-up is now asserted two ways without a 
real KMS:
 * {{testWarmupEDEKCacheOnStartup}} — swaps a Mockito spy over the live 
provider and re-triggers the warm-up path directly (zero initial delay), 
asserting the exact key name reaches {{{}warmUpEncryptedKeys{}}}.
 * {{testWarmupEDEKCacheOnOmRestart}} — restarts the OM to drive the genuine 
startup trigger ({{{}OzoneManagerStateMachine#notifyLeaderChanged{}}} → 
{{{}initializeEdekCache{}}}) and asserts warm-up from the {{EDEKCacheLoader}} 
"Successfully warmed up" log line.

*Gap this JIRA tracks* Neither test drives a real KMS, so the actual 
{{KeyProviderCryptoExtension.warmUpEncryptedKeys}} round-trip against a KMS 
(and the queue-size/prefetch behavior it exercises) is no longer covered in 
integration tests. Restore that coverage once a Jetty-12-compatible KMS test 
fixture is available — e.g. a MiniKMS build that does not embed Jetty 9, an 
out-of-process KMS, or a testcontainers-based KMS.

*Acceptance*
 * EDEK warm-up verified end-to-end against a real KMS provider in an 
integration test.



--
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