Skip to content

Servicebus Track2 Consistency review #12415

@KieranBrantnerMagee

Description

@KieranBrantnerMagee

Perform consistency review with broader SDK family. Make any changes as needed.

as of 8/12 consistency review was performed, summarized outcome:

Design topics:

  • Create a roadmap for if post-GA "change property on deadletter" was implemented, to ensure it will fit nicely in our current plan. (no backcompat issues, etc.)
  • create_queue_receiver vs get_queue_receiver (Keeping get; precedent in storage libs for python, as well as our use of context managers rather than the initial method for opening operation)
  • Message vs ServiceBusMessage (for BatchMessage as well)
  • Should get/set session state unify with taking +returning bytes or strings?
  • Remove object-as-name for e.g. createrule, contemplate naming implications (topic_name was proposed but I worry that codes us into a corner) (created as discussion issue for october sprint due to pitfalls found during implementation)

Requiring Investigation:

  • Can EventHubsSharedKeyCredential be shared for mgmt + core client; and be safely yanked pre-GA? (yes it can be, and yes it is being.)
  • What is NamespaceProperties.alias? It does not appear to show up in the portal. (Premium feature; is to be maintained.)
  • Why do .net and js not appear to have an isomorphism of entity_availablility_status (QueueProperties), or for created_at in RuleProperties. Same question for is_anonymous_accessible and support_ordering and status in creation methods. (renamed availablility_status, anonymous/ordering nixed)
  • Should enable_express be removed? Speak with Harsha. (may not be supported) (Conclusion: Is needed, already present)
  • What does enable_partitioning at subscription level mean? (removed)
  • Confirm size_in_bytes settable/meaningful for creating a topic (Java has this as settable, maintaining)

Changes needed:

  • reason -> dead_letter_reason; description -> dead_letter_error_description
  • renew_lock should return locked_until_utc value.
  • entity_name should not be a parameter of ServiceBusClient init
  • ReceiveSettleMode -> ReceiveMode, mode -> receive_mode
  • prefetch -> prefetch_count
  • Remove overrideable retry parameters from all but top-level client init.
  • peek message_count -> max_message_count
  • PeekMessage -> PeekedMessage
  • receive_deferred_messages signature should mirror cancel_scheduled, in terms of union single/many.
  • receive_messages max_batch_size -> max_message_count (set default to 1 assuming same semantic meaning as None)
  • Normalize session method/property naming. (e.g. get_session_state -> get_state). session_id vs Id may merit some discussion however.
  • Fix set_session_state type-string " def set_session_state(self, state: Union[str, bytes, bytearray admonitio]) -> None"
  • "created_time"/"modified_time" -> created_at
  • Remove namespace_type from NamespaceProperties
  • Remove requires_preprocessing from SqlRuleAction and SqlRuleFilter.
  • Make rights parameter take the AccessRights enum to be clear.

Metadata

Metadata

Labels

ClientThis issue points to a problem in the data-plane of the library.Service Bus

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions