Skip to content

rc event add --event put registers subscription but events never fire #65

@simon-escapecode

Description

@simon-escapecode

Summary

rc event add --event put registers a bucket notification rule, but uploaded files do not trigger event notifications. The shorthand event name put is stored literally in the S3 PutBucketNotificationConfiguration payload instead of being normalised to the full S3 event string.

Root cause

parse_event_list() in crates/cli/src/commands/event.rs passes the --event value through as-is. When --event put is specified, the literal string "put" is stored in the notification configuration. RustFS matches incoming events like s3:ObjectCreated:Put against the filter, so "put" never matches.

Shorthand names should be normalised to full S3 event strings:

Shorthand S3 event string
put s3:ObjectCreated:*
get s3:ObjectAccessed:*
delete s3:ObjectRemoved:*
replica s3:Replication:*
ilm s3:ObjectTransition:*

Steps to reproduce

rc alias set local http://localhost:9000 admin password
rc mb local/test-bucket
rc event add local/test-bucket arn:rustfs:sqs::primary:mqtt --event put
rc event list local/test-bucket
# Output: [queue] arn:rustfs:sqs::primary:mqtt -> put
#                                                  ^^^ should be s3:ObjectCreated:*

rc cp test.txt local/test-bucket/test.txt
# No MQTT notification arrives

Workaround

Use the full S3 event string instead of the shorthand:

rc event add local/test-bucket arn:rustfs:sqs::primary:mqtt --event "s3:ObjectCreated:*"

Environment

  • rc: v0.1.8
  • RustFS server: 1.0.0-alpha.89

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions