Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JetStream FilterSubjects is null #419

Open
codymullins opened this issue Feb 28, 2024 · 4 comments
Open

JetStream FilterSubjects is null #419

codymullins opened this issue Feb 28, 2024 · 4 comments

Comments

@codymullins
Copy link
Contributor

Observed behavior

On INatsJSConsumer, the FilterSubjects property is null even though FilterSubjects is specified when creating the stream.

Screenshot 2024-02-28 at 11 44 32 AM  image



Expected behavior

The FilterSubjects property should specify the subjects being filtered. It appears to be filtering it correctly despite this property not being visible, but I have not yet confirmed fully.

Server and client version

nats-server: Version: 2.10.11
nats-client: 2.1.1

Host environment

Mac ARM, Sonoma

Steps to reproduce

No response

@codymullins
Copy link
Contributor Author

I just noticed, the DeliveryPolicy seems incorrect too!

@mtmk
Copy link
Collaborator

mtmk commented Feb 28, 2024

thanks @codymullins 💯 this looks like a bug. I think we're not updating the info as expected.

edit: so the problem is consumer isn't actually created until fetch or consumed is called, then the Info property is updated. this is because ordered consumers use ephemeral in-memory consumers. we create an empty consumer info as the ordered consumer is created only solution I can think of is to update the info fields from options passed in.

@codymullins
Copy link
Contributor Author

update the info fields from options passed in

This probably makes sense, but where are the options passed in stored until then? What updates the Info property, do you happen to have a link to the spot in code handy?

@mtmk
Copy link
Collaborator

mtmk commented Feb 28, 2024

update the info fields from options passed in

This probably makes sense, but where are the options passed in stored until then? What updates the Info property, do you happen to have a link to the spot in code handy?

options are saved in a field: https://github.com/nats-io/nats.net.v2/blob/main/src/NATS.Client.JetStream/NatsJSOrderedConsumer.cs#L38

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants