0

When it comes to partitioning in an Azure Service Bus Topic, there are two properties: EnablePartitioning and EnableSubscriptionPartitioning.

It is very clear to me what EnablePartitioning property does. Based on my understanding of this property, essentially when this property is set to true, the topic in question will be partitioned across multiple message brokers.

What I am not able to find is any concrete information on EnableSubscriptionPartitioning property. The documentation I looked at simply describes this property as:

Value that indicates whether partitioning is enabled or disabled.

Furthermore when I create a topic with this property set to true (and enable partitioning property set to false) a topic is created for me with 118784 MB in size (MaxSizeInMegabytes property). Here's the response XML I get when I fetch topic's properties.

<entry xml:base="https://namespace.servicebus.windows.net/$Resources/topics?api-version=2016-07">
  <id>https://namespace.servicebus.windows.net/gauravtesttopic?api-version=2016-07</id>
  <title type="text">gauravtesttopic</title>
  <published>2017-08-18T02:00:12Z</published>
  <updated>2017-08-18T02:00:18Z</updated>
  <author><name>namespace</name></author>
  <link rel="self" href="../gauravtesttopic?api-version=2016-07"/>
  <content type="application/xml">
    <TopicDescription xmlns="http://schemas.microsoft.com/netservices/2010/10/servicebus/connect" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
      <DefaultMessageTimeToLive>P10675199DT2H48M5.4775807S</DefaultMessageTimeToLive>
      <MaxSizeInMegabytes>118784</MaxSizeInMegabytes>
      <RequiresDuplicateDetection>false</RequiresDuplicateDetection>
      <DuplicateDetectionHistoryTimeWindow>PT10M</DuplicateDetectionHistoryTimeWindow>
      <EnableBatchedOperations>true</EnableBatchedOperations>
      <SizeInBytes>0</SizeInBytes>
      <FilteringMessagesBeforePublishing>false</FilteringMessagesBeforePublishing>
      <IsAnonymousAccessible>false</IsAnonymousAccessible>
      <AuthorizationRules></AuthorizationRules>
      <Status>Active</Status>
      <CreatedAt>2017-08-18T02:00:11.5270915Z</CreatedAt>
      <UpdatedAt>2017-08-18T02:00:18.087Z</UpdatedAt>
      <AccessedAt>0001-01-01T00:00:00Z</AccessedAt>
      <SupportOrdering>true</SupportOrdering>
      <CountDetails xmlns:d2p1="http://schemas.microsoft.com/netservices/2011/06/servicebus">
        <d2p1:ActiveMessageCount>0</d2p1:ActiveMessageCount>
        <d2p1:DeadLetterMessageCount>0</d2p1:DeadLetterMessageCount>
        <d2p1:ScheduledMessageCount>0</d2p1:ScheduledMessageCount>
        <d2p1:TransferMessageCount>0</d2p1:TransferMessageCount>
        <d2p1:TransferDeadLetterMessageCount>0</d2p1:TransferDeadLetterMessageCount>
      </CountDetails>
      <SubscriptionCount>0</SubscriptionCount>
      <AutoDeleteOnIdle>P10675199DT2H48M5.4775807S</AutoDeleteOnIdle>
      <EnablePartitioning>false</EnablePartitioning>
      <IsExpress>false</IsExpress>
      <EntityAvailabilityStatus>Available</EntityAvailabilityStatus>
      <EnableSubscriptionPartitioning>true</EnableSubscriptionPartitioning>
      <EnableExpress>false</EnableExpress>
    </TopicDescription>
  </content>
</entry>

The problem I run with this is when I try to update the topic, I get an error message from the service complaining about invalid size. Because the topic is not partitioned, the size should be one of the following: 1GB, 2GB, 3GB, 4GB or 5GB.

Any insights into this would be highly appreciated.

Gaurav Mantri
  • 128,066
  • 12
  • 206
  • 241
  • You can check the dcoumentation here https://msdn.microsoft.com/en-us/library/azure/hh780749.aspx. There is upper limit of 5 gb basically multiple of 1024 – Ramankingdom Aug 18 '17 at 03:41
  • Thanks! While the link you mentioned does talk about 1-5GB size, it doesn't talk about this property. Plus why a topic is created with 116GB size is not mentioned there. – Gaurav Mantri Aug 18 '17 at 03:45
  • Max SIze can be 80 Gb in case partition is enabled. Might be some bug found :) – Ramankingdom Aug 18 '17 at 05:09

0 Answers0