<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Volume Autosize Bug in Software Development Kit (SDK) and API Discussions</title>
    <link>https://community.netapp.com/t5/Software-Development-Kit-SDK-and-API-Discussions/Volume-Autosize-Bug/m-p/122185#M2059</link>
    <description>&lt;P&gt;Hi Michael -&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You've described it perfectly. &amp;nbsp;Despite you chaning multiple values in a single call, each is changed individually and each must meet the various checks and rules as they go, as opposed to having a starting state, and ending state, and checking whether the entire ending state is valid then applying the ending state. &amp;nbsp;This latter description is what you want, but it's the former that the DoT uses. &amp;nbsp;You just have to be aware of it and process accordingly. &amp;nbsp;Consider it a "feature".&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;With respect to what gets changed first, hard to say. &amp;nbsp;I've tended to assume alphabetical order of parameter, and I haven't seen or experienced anything to indicate a different order.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Autosizes are fun. &amp;nbsp;Another example would be if you are adding compression to a previously uncompressed volume. &amp;nbsp;If a volume is near it's size limit (despite having an autosize) the space efficiency job can fail based on an estimate of the actual space available and snapshot size needed. &amp;nbsp;So you fake it by increasing size, starting the job, and immediately decreasing volume size. &amp;nbsp;Why could not the autosize limit be taken into account? &amp;nbsp;Would seem natural sure, but it just isn't. &amp;nbsp;So we work around such behaviors.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Bob Greenwald&lt;/P&gt;&lt;P&gt;Senior Systems Engineer | &lt;A href="http://www.cstor.com" target="_blank"&gt;cStor&lt;/A&gt;&lt;/P&gt;&lt;P&gt;NCIE SAN Clustered, Data Protection&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT size="1 2 3 4 5 6 7"&gt;&lt;EM&gt;Kudos and accepted solutions are always appreciated.&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;</description>
    <pubDate>Thu, 11 Aug 2016 03:15:23 GMT</pubDate>
    <dc:creator>bobshouseofcards</dc:creator>
    <dc:date>2016-08-11T03:15:23Z</dc:date>
    <item>
      <title>Volume Autosize Bug</title>
      <link>https://community.netapp.com/t5/Software-Development-Kit-SDK-and-API-Discussions/Volume-Autosize-Bug/m-p/122184#M2058</link>
      <description>&lt;P&gt;I'm actually not entirely sure this is a bug, but it is a bit annoying. &amp;nbsp;I'd like to set both the shrink and grow autosize threshold at the same time but it doesn't seem to be working. &amp;nbsp;Take the following example:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;request&lt;/SPAN&gt;&lt;SPAN class="s2"&gt; = &lt;/SPAN&gt;&lt;SPAN class="s3"&gt;new&lt;/SPAN&gt;&lt;SPAN class="s2"&gt; NaElement(&lt;/SPAN&gt;"volume-autosize-set"&lt;SPAN class="s2"&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p2"&gt;&lt;SPAN class="s1"&gt;request&lt;/SPAN&gt;.addNewChild(&lt;SPAN class="s4"&gt;"volume"&lt;/SPAN&gt;, &lt;SPAN class="s5"&gt;volumeName&lt;/SPAN&gt;);&lt;/P&gt;&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;request&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;.addNewChild(&lt;/SPAN&gt;"mode"&lt;SPAN class="s2"&gt;, &lt;/SPAN&gt;"grow_shrink"&lt;SPAN class="s2"&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p2"&gt;&lt;SPAN class="s1"&gt;request&lt;/SPAN&gt;.addNewChild(&lt;SPAN class="s3"&gt;"shrink-threshold-percent"&lt;/SPAN&gt;, "84");&lt;/P&gt;&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;request&lt;/SPAN&gt;.addNewChild(&lt;SPAN class="s2"&gt;"grow-threshold-percent"&lt;/SPAN&gt;, "92");&lt;/P&gt;&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;request&lt;/SPAN&gt;.addNewChild(&lt;SPAN class="s2"&gt;"maximum-size"&lt;/SPAN&gt;, &lt;SPAN class="s3"&gt;maxVolSizeGB&lt;/SPAN&gt;+&lt;SPAN class="s2"&gt;"g"&lt;/SPAN&gt;);&lt;/P&gt;&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;request&lt;/SPAN&gt;.addNewChild(&lt;SPAN class="s2"&gt;"increment-size"&lt;/SPAN&gt;, &lt;SPAN class="s2"&gt;"50g"&lt;/SPAN&gt;);&lt;/P&gt;&lt;P class="p1"&gt;&amp;nbsp;&lt;/P&gt;&lt;P class="p1"&gt;Now if I run this against a volume that's &amp;lt;20GB in size the defaults are grow at 92% and shrink at 85% so it'll work fine. &amp;nbsp;However, if I run this against a volume &amp;gt;4TB, the defaults are grow at 98% and shrink at 93% and it throws the following error:&lt;/P&gt;&lt;P class="p1"&gt;&amp;nbsp;&lt;/P&gt;&lt;P class="p1"&gt;Reason: Autosize grow threshold must be larger than the shrink threshold. (errno=160)&lt;/P&gt;&lt;P class="p1"&gt;&amp;nbsp;&lt;/P&gt;&lt;P class="p1"&gt;So, even though I'm asking to change both of them at the same time, something internal is asking for the grow threshold to be set first which conflicts with the shrink. &amp;nbsp;My workaround is to set the shrink value first, then make a second call for the grow. &amp;nbsp;Is this expected behavior?&lt;/P&gt;&lt;P class="p1"&gt;&amp;nbsp;&lt;/P&gt;&lt;P class="p1"&gt;I should also note that, indeed changing them at the same time works fine, as long as they don't overlap with the volume defaults.&lt;/P&gt;</description>
      <pubDate>Wed, 04 Jun 2025 19:34:41 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Software-Development-Kit-SDK-and-API-Discussions/Volume-Autosize-Bug/m-p/122184#M2058</guid>
      <dc:creator>michael_england</dc:creator>
      <dc:date>2025-06-04T19:34:41Z</dc:date>
    </item>
    <item>
      <title>Re: Volume Autosize Bug</title>
      <link>https://community.netapp.com/t5/Software-Development-Kit-SDK-and-API-Discussions/Volume-Autosize-Bug/m-p/122185#M2059</link>
      <description>&lt;P&gt;Hi Michael -&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You've described it perfectly. &amp;nbsp;Despite you chaning multiple values in a single call, each is changed individually and each must meet the various checks and rules as they go, as opposed to having a starting state, and ending state, and checking whether the entire ending state is valid then applying the ending state. &amp;nbsp;This latter description is what you want, but it's the former that the DoT uses. &amp;nbsp;You just have to be aware of it and process accordingly. &amp;nbsp;Consider it a "feature".&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;With respect to what gets changed first, hard to say. &amp;nbsp;I've tended to assume alphabetical order of parameter, and I haven't seen or experienced anything to indicate a different order.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Autosizes are fun. &amp;nbsp;Another example would be if you are adding compression to a previously uncompressed volume. &amp;nbsp;If a volume is near it's size limit (despite having an autosize) the space efficiency job can fail based on an estimate of the actual space available and snapshot size needed. &amp;nbsp;So you fake it by increasing size, starting the job, and immediately decreasing volume size. &amp;nbsp;Why could not the autosize limit be taken into account? &amp;nbsp;Would seem natural sure, but it just isn't. &amp;nbsp;So we work around such behaviors.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Bob Greenwald&lt;/P&gt;&lt;P&gt;Senior Systems Engineer | &lt;A href="http://www.cstor.com" target="_blank"&gt;cStor&lt;/A&gt;&lt;/P&gt;&lt;P&gt;NCIE SAN Clustered, Data Protection&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT size="1 2 3 4 5 6 7"&gt;&lt;EM&gt;Kudos and accepted solutions are always appreciated.&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 11 Aug 2016 03:15:23 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Software-Development-Kit-SDK-and-API-Discussions/Volume-Autosize-Bug/m-p/122185#M2059</guid>
      <dc:creator>bobshouseofcards</dc:creator>
      <dc:date>2016-08-11T03:15:23Z</dc:date>
    </item>
    <item>
      <title>Re: Volume Autosize Bug</title>
      <link>https://community.netapp.com/t5/Software-Development-Kit-SDK-and-API-Discussions/Volume-Autosize-Bug/m-p/122235#M2068</link>
      <description>&lt;P&gt;Thanks very much for your prompt response and explaination.&lt;/P&gt;</description>
      <pubDate>Thu, 11 Aug 2016 17:52:36 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Software-Development-Kit-SDK-and-API-Discussions/Volume-Autosize-Bug/m-p/122235#M2068</guid>
      <dc:creator>michael_england</dc:creator>
      <dc:date>2016-08-11T17:52:36Z</dc:date>
    </item>
  </channel>
</rss>

