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

[FEATURE REQ] Support GetMessageSessions #42215

Closed
miqm opened this issue Feb 27, 2024 · 20 comments
Closed

[FEATURE REQ] Support GetMessageSessions #42215

miqm opened this issue Feb 27, 2024 · 20 comments
Assignees
Labels
Client This issue points to a problem in the data-plane of the library. customer-reported Issues that are reported by GitHub users external to the Azure organization. feature-request This issue requires a new behavior in the product in order be resolved. needs-team-attention Workflow: This issue needs attention from Azure service team or SDK team Service Bus

Comments

@miqm
Copy link

miqm commented Feb 27, 2024

Library name

Azure.Messaging.ServiceBus

Please describe the feature.

Hello,

Please reopen #20569. This is fully doable with Azure Service Bus AMQP transport. As per discussion here: MicrosoftDocs/azure-docs#119766 and implementation in Java SDK: https://github.com/Azure/azure-sdk-for-java/blob/6c697512988fbd96a9d8a9bfe84eb96566f4681b/sdk/servicebus/microsoft-azure-servicebus/src/main/java/com/microsoft/azure/servicebus/SessionBrowser.java#L37 setting maximum value for the last-updated-time field returns all sessions in the response.

@github-actions github-actions bot added Client This issue points to a problem in the data-plane of the library. customer-reported Issues that are reported by GitHub users external to the Azure organization. needs-team-triage Workflow: This issue needs the team to triage. question The issue doesn't require a change to the product in order to be resolved. Most issues start as that Service Bus labels Feb 27, 2024
@jsquire jsquire self-assigned this Feb 27, 2024
@jsquire
Copy link
Member

jsquire commented Feb 27, 2024

Hi @miqm. Thank you for reaching out and we regret that you're experiencing difficulties. This is not a feature that we can consider at the present time, as the service API does not behave in an intuitive and consistent way that would address common developer scenarios. The example that you're referencing works only when a developer has explicitly created state for a session, which is a seldom used feature. It also does not filter sessions that have no active messages, making it misleading for the commonly requested use case.

For this to be something that we can add to the client, service changes are needed to correct the behavior. The Service Bus team has indicated that this is not on their roadmap currently. I'm going to close this issue out; should the service offer an API with the expected behaviors, the client will support it.

If you would like to advocate for service support, consider opening a feature request in the Service Bus forum of the Azure feedback site.

@jsquire jsquire added the issue-addressed Workflow: The Azure SDK team believes it to be addressed and ready to close. label Feb 27, 2024
@github-actions github-actions bot removed the needs-team-triage Workflow: This issue needs the team to triage. label Feb 27, 2024
Copy link

Hi @miqm. Thank you for opening this issue and giving us the opportunity to assist. We believe that this has been addressed. If you feel that further discussion is needed, please add a comment with the text "/unresolve" to remove the "issue-addressed" label and continue the conversation.

@jsquire jsquire added feature-request This issue requires a new behavior in the product in order be resolved. and removed question The issue doesn't require a change to the product in order to be resolved. Most issues start as that labels Feb 27, 2024
@miqm
Copy link
Author

miqm commented Feb 27, 2024

The example that you're referencing works only when a developer has explicitly created state for a session, which is a seldom used feature.

@jsquire I raised that concern in MicrosoftDocs/azure-docs#119766 and @yvgopal (Microsoft employee) corrected that providing DateTime.MaxValue returns ALL sessions - with sessions state set and not set. This is a consistent way I think and fits scaling scenarios.

I think that there's some misunderstanding and that feature does exist in Service Bus. Basing on the Java SDK - since quite a long time...

/unresolve

@github-actions github-actions bot added needs-team-attention Workflow: This issue needs attention from Azure service team or SDK team and removed issue-addressed Workflow: The Azure SDK team believes it to be addressed and ready to close. labels Feb 27, 2024
@miqm
Copy link
Author

miqm commented Feb 27, 2024

It also does not filter sessions that have no active messages, making it misleading for the commonly requested use case.

I wouldn't consider this as a blocker. You would get session only if a state is set and as you said - this feature is used seldom.

@jsquire
Copy link
Member

jsquire commented Feb 27, 2024

Thank you for your thoughts but, as mentioned, this is not something that we'll consider adding without changes to the service API. We have reviewed the service API extensively with the Service Bus service team; there is no misunderstanding, and the Java example that you are using has the limitations that I've mentioned above.

@jsquire jsquire added the issue-addressed Workflow: The Azure SDK team believes it to be addressed and ready to close. label Feb 27, 2024
@github-actions github-actions bot removed the needs-team-attention Workflow: This issue needs attention from Azure service team or SDK team label Feb 27, 2024
Copy link

Hi @miqm. Thank you for opening this issue and giving us the opportunity to assist. We believe that this has been addressed. If you feel that further discussion is needed, please add a comment with the text "/unresolve" to remove the "issue-addressed" label and continue the conversation.

@miqm
Copy link
Author

miqm commented Feb 27, 2024

Limitation with filtering or not getting all sessions?

@jsquire
Copy link
Member

jsquire commented Feb 27, 2024

At a minimum, the service API would need to return all sessions regardless of whether or not state was set. It should allow callers to filter by whether or not there are messages in the session.

@miqm
Copy link
Author

miqm commented Feb 27, 2024

At a minimum, the service API would need to return all sessions regardless of whether or not state was set.

This is doable today, correct?

@jsquire
Copy link
Member

jsquire commented Feb 27, 2024

No, it is not. Vijaya's statements are incorrect with respect to the current service behavior. The Azure SDK team has discussed this internally with him and the other members of the Service Bus service team. They have confirmed that it requires session state to have been set in order to return the session and stated that adjusting the behavior is not currently on their roadmap.

@miqm
Copy link
Author

miqm commented Feb 27, 2024

@yvgopal could you comment on this please? I'm a bit confused...

@miqm
Copy link
Author

miqm commented Feb 27, 2024

Also some context: kedacore/keda#1479
Cc: @tomkerkhove

@miqm
Copy link
Author

miqm commented Feb 28, 2024

No, it is not. Vijaya's statements are incorrect with respect to the current service behavior.

@jsquire I tested this on my Service Bus instance and when I provided timestamp value as @yvgopal suggested - in the AMQP response I received list of sessions with both state set (and no messages) and those that exist only due to existence of a message in the queue. So unless there's something non-deterministic going on, it seems to be working.

Copy link

github-actions bot commented Mar 6, 2024

Hi @miqm, since you haven’t asked that we /unresolve the issue, we’ll close this out. If you believe further discussion is needed, please add a comment /unresolve to reopen the issue.

@github-actions github-actions bot closed this as completed Mar 6, 2024
@miqm
Copy link
Author

miqm commented Mar 6, 2024

/unresolve

@github-actions github-actions bot reopened this Mar 6, 2024
@github-actions github-actions bot added needs-team-attention Workflow: This issue needs attention from Azure service team or SDK team and removed issue-addressed Workflow: The Azure SDK team believes it to be addressed and ready to close. labels Mar 6, 2024
@jsquire
Copy link
Member

jsquire commented Mar 6, 2024

I'm going to close this out in favor of #275. While we appreciate the discussion and the anecdotal evidence, the fact remains that the Service Bus team has not signed off on the feature providing the necessary behavior and committed to supporting it as such. Until that takes place, this will not be added to the Azure SDK packages.

@EldertGrootenboer: As the product owner for Service Bus, I'll ask that you reactivate 275 if the service is reconsidering the request or that you reach out if the status has changed since our last conversation.

@jsquire jsquire closed this as not planned Won't fix, can't repro, duplicate, stale Mar 6, 2024
@miqm
Copy link
Author

miqm commented Mar 6, 2024

This is very odd. One team says it does not exist, second is updating official documentation. Please get it straighten.

@miqm
Copy link
Author

miqm commented Mar 17, 2024

Will the #275 be re-opened?

@jsquire
Copy link
Member

jsquire commented Mar 18, 2024

Will the #275 be re-opened?

The fate of 275 depends on the decisions made by @EldertGrootenboer and the Service Bus team.

@github-actions github-actions bot locked and limited conversation to collaborators Jun 16, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Client This issue points to a problem in the data-plane of the library. customer-reported Issues that are reported by GitHub users external to the Azure organization. feature-request This issue requires a new behavior in the product in order be resolved. needs-team-attention Workflow: This issue needs attention from Azure service team or SDK team Service Bus
Projects
None yet
Development

No branches or pull requests

2 participants