Bug #59488
open[RGW][Notification][Kafka]: event name received as "Noncurrent" instead of "NonCurrent"
0%
Description
event name received as "ObjectLifecycle:Expiration:Noncurrent" instead of "s3:ObjectLifecycle:Expiration:NonCurrent"
just a difference in case between "Noncurrent" and "NonCurrent"
Steps to Reproduce:
1. ceph cluster deployed on 6.1 and rgw configured.
2. kafka broker configured and running
3. create a versioned bucket
4. place this json file https://github.com/ceph/ceph/blob/main/examples/boto3/service-2.sdk-extras.json under /usr/local/lib/python3.9/site-packages/botocore/data/s3/2006-03-01 (for ceph extension)
5. enable bucket notification with kafka-ack-level=broker&persistent=true for event "s3:ObjectLifecycle:Expiration:*"
6. set lifecycle policy with expiration action of 20 days (rgw_lc_debug_interval is set to 30)
7. upload 3 versions of the same object and wait for their expiration
8. event record has "eventName":"ObjectLifecycle:Expiration:Noncurrent" instead of
"ObjectLifecycle:Expiration:NonCurrent"
Actual results:
event record has "eventName":"ObjectLifecycle:Expiration:Noncurrent"
event record snippet:
{"Records":[{"eventVersion":"2.2","eventSource":"ceph:s3","awsRegion":"default","eventTime":"2023-04-18T08:11:53.082552Z","eventName":"ObjectLifecycle:Expiration:Noncurrent","userIdentity":{"principalId":"rgw lifecycle"},"requestParameters":{"sourceIPAddress":""},"responseElements":{"x-amz-request-id":"0","x-amz-id-2":"11b77-default-default"},"s3":{"s3SchemaVersion":"1.0","configurationId":"notification-LifecycleExpiration","bucket":{"name":"rodneyc.748-bucky-4460-0","ownerIdentity":{"principalId":"rodneyc.748"},"arn":"arn:aws:s3:default::rodneyc.748-bucky-4460-0","id":"d42cde4d-4bbc-48f5-b9fd-33b7c74d1565.79312.1"},"object":{"key":"key1.rodneyc.748-bucky-4460-0.99","size":29,"eTag":"c7000072f86e5e88542c410fa3d793b1","versionId":"","sequencer":"C9503E64ACB9EB04","metadata":[],"tags":[]}},"eventId":"1681805513.082557.c7000072f86e5e88542c410fa3d793b1","opaqueData":""}]}
Expected results:
"eventName" should be "ObjectLifecycle:Expiration:NonCurrent"