<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="347713" data-post-id="347713">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="nono.31" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/nono.31/120/31861_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  nono.31
                      <span class="op-star" title="Thread Starter">
                        <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                      </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hi</p>
<p>here is the POC:</p>
<p><a href="https://github.com/mathieurousseau/simple_oban" class="onebox" target="_blank" rel="noopener nofollow ugc">https://github.com/mathieurousseau/simple_oban</a></p>
<p>You will be able to have the  ETS table growing.</p>
<p>The homepage will give you a list of the entries of the <code>SimpleOban.Repo</code> ETS tablle.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="347713" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/oban-caching-ecto-statements-ets-table-memory-leak-oom/67593/12">Post #11</a>
	                </div>
	            </div>
              <div id="likers-container-347713" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="347713"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #11"></div>
  </section>
</div>
    <div class="postbit" id="347773" data-post-id="347773">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="sorentwo" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sorentwo/120/37360_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  sorentwo
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Oban Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>The repo appears to be private. Will you make it public, or invite us (<a class="mention" href="/u/sorenone" rel="nofollow">@sorenone</a> and <a class="mention" href="/u/sorentwo" rel="nofollow">@sorentwo</a>)?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="347773" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/oban-caching-ecto-statements-ets-table-memory-leak-oom/67593/13">Post #12</a>
	                </div>
	            </div>
              <div id="likers-container-347773" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="347773"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #12"></div>
  </section>
</div>
    <div class="postbit" id="347794" data-post-id="347794">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="nono.31" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/nono.31/120/31861_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  nono.31
                      <span class="op-star" title="Thread Starter">
                        <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                      </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>That was private <img src="https://forum.elixirforum.com/images/emoji/apple/frowning.png?v=15" title=":frowning:" class="emoji" alt=":frowning:" loading="lazy" width="20" height="20"></p>
<p>Made it public.</p>
<p>Also on our real app, after 11h we had: 2695 entries of <code>:update_all</code> for a total of 2714 entries.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="347794" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/oban-caching-ecto-statements-ets-table-memory-leak-oom/67593/14">Post #13</a>
	                </div>
	            </div>
              <div id="likers-container-347794" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="347794"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #13"></div>
  </section>
</div>
    <div class="postbit" id="350168" data-post-id="350168">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="nono.31" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/nono.31/120/31861_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  nono.31
                      <span class="op-star" title="Thread Starter">
                        <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                      </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hello.</p>
<p>Do you need some assistance with the sample project?</p>
<p>I know it is holiday season <img src="https://forum.elixirforum.com/images/emoji/apple/christmas_tree.png?v=15" title=":christmas_tree:" class="emoji" alt=":christmas_tree:" loading="lazy" width="20" height="20"></p>
<p>Best,</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="350168" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/oban-caching-ecto-statements-ets-table-memory-leak-oom/67593/15">Post #14</a>
	                </div>
	            </div>
              <div id="likers-container-350168" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="350168"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #14"></div>
  </section>
</div>
    <div class="postbit" id="350327" data-post-id="350327">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="sorentwo" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sorentwo/120/37360_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  sorentwo
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Oban Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="nono.31" data-post="15" data-topic="67593">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/nono.31/48/31861_2.png" class="avatar"> nono.31:</div>
<blockquote>
<p>Do you need some assistance with the sample project?</p>
</blockquote>
</aside>
<p>No assistance is needed. The Ecto cache (what is stored in ETS) is separate from prepared statements, and there’s no way to disable it as far as I can tell. The high cardinality of partitioned queries appears to cause the table growth, and that’s not a trivial fix on the Oban/Pro side.</p>
<p>We plan on overhauling those queries for reduced cardinality, speed, and flexibility in Pro v1.6. A cardinality fix <em>may</em> be possible as a v1.5 patch.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="350327" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/oban-caching-ecto-statements-ets-table-memory-leak-oom/67593/16">Post #15</a>
	                </div>
	            </div>
              <div id="likers-container-350327" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="350327"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-most-liked cat-most-liked" title="One of the top 3 liked posts in this thread!"></div>
  </section>
</div>
    <div class="postbit" id="351610" data-post-id="351610">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="nono.31" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/nono.31/120/31861_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  nono.31
                      <span class="op-star" title="Thread Starter">
                        <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                      </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="sorentwo" data-post="16" data-topic="67593">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sorentwo/48/37360_2.png" class="avatar"> sorentwo:</div>
<blockquote>
<p>No assistance is needed. The Ecto cache (what is stored in ETS) is separate from prepared statements, and there’s no way to disable it as far as I can tell. The high cardinality of partitioned queries appears to cause the table growth, and that’s not a trivial fix on the Oban/Pro side.</p>
<p>We plan on overhauling those queries for reduced cardinality, speed, and flexibility in Pro v1.6. A cardinality fix <em>may</em> be possible as a v1.5 patch.</p>
</blockquote>
</aside>
<p>Thank!!!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="351610" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/oban-caching-ecto-statements-ets-table-memory-leak-oom/67593/17">Post #16</a>
	                </div>
	            </div>
              <div id="likers-container-351610" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="351610"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #16"></div>
  </section>
</div>
    <div class="postbit" id="373949" data-post-id="373949">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="ataideal" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/ataideal/120/39114_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  ataideal
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hi, I just wanted to raise that we faced this same issue on one of our services, where we are getting OOM and container restarts every day, even using Oban Pro v1.5+.Tracking down this issue it started a few months ago when we enabled rate limit on one of our queues, the ratelimit uses 2 arguments where one of them is a fixed map size and the second on is a list of string (which might be the issue here).We notice that oban fetch_jobs query started to generate thousand of different queries because of this ratelimit and since each of these queries are going to Ecto ETS table (prepared statements), the memory eventually blows up.here is one of these many queries generated:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">WITH "subset" AS (SELECT ss0."id" AS "id" FROM (SELECT sso0."id" AS "id", sso0."priority" AS "priority", sso0."scheduled_at" AS "scheduled_at", sso0."worker" AS "worker", sso0."args" AS "args", dense_rank() OVER "partition" AS "rank" FROM "public"."oban_jobs" AS sso0 INNER JOIN (SELECT ssso0."id" AS "id" FROM "public"."oban_jobs" AS ssso0 WHERE ((ssso0."state" = 'available') AND (ssso0."queue" = $1)) ORDER BY ssso0."priority", ssso0."scheduled_at", ssso0."id" LIMIT 5000) AS sss1 ON sso0."id" = sss1."id" WINDOW "partition" AS (PARTITION BY sso0."args"-&gt;&gt;$2, sso0."args"-&gt;&gt;$3 ORDER BY sso0."priority", sso0."scheduled_at", sso0."id")) AS ss0 WHERE (((ss0."rank" &lt;= $4) AND ss0."args" @&gt; $5) OR (((ss0."rank" &lt;= $6) AND ss0."args" @&gt; $7) OR (((ss0."rank" &lt;= $8) AND ss0."args" @&gt; $9) OR (((ss0."rank" &lt;= $10) AND ss0."args" @&gt; $11) OR (((ss0."rank" &lt;= $12) AND ss0."args" @&gt; $13) OR (NOT (ss0."args" @&gt; $14) AND (NOT (ss0."args" @&gt; $15) AND (NOT (ss0."args" @&gt; $16) AND (NOT (ss0."args" @&gt; $17) AND (NOT (ss0."args" @&gt; $18) AND (NOT (ss0."args" @&gt; $19) AND (NOT (ss0."args" @&gt; $20) AND (NOT (ss0."args" @&gt; $21) AND (NOT (ss0."args" @&gt; $22) AND (NOT (ss0."args" @&gt; $23) AND (NOT (ss0."args" @&gt; $24) AND (NOT (ss0."args" @&gt; $25) AND (NOT (ss0."args" @&gt; $26) AND (NOT (ss0."args" @&gt; $27) AND (NOT (ss0."args" @&gt; $28) AND (NOT (ss0."args" @&gt; $29) AND (NOT (ss0."args" @&gt; $30) AND (NOT (ss0."args" @&gt; $31) AND (NOT (ss0."args" @&gt; $32) AND (NOT (ss0."args" @&gt; $33) AND (NOT (ss0."args" @&gt; $34) AND (NOT (ss0."args" @&gt; $35) AND (NOT (ss0."args" @&gt; $36) AND (NOT (ss0."args" @&gt; $37) AND (NOT (ss0."args" @&gt; $38) AND (NOT (ss0."args" @&gt; $39) AND (NOT (ss0."args" @&gt; $40) AND (NOT (ss0."args" @&gt; $41) AND (NOT (ss0."args" @&gt; $42) AND (NOT (ss0."args" @&gt; $43) AND (NOT (ss0."args" @&gt; $44) AND (NOT (ss0."args" @&gt; $45) AND (NOT (ss0."args" @&gt; $46) AND (NOT (ss0."args" @&gt; $47) AND (NOT (ss0."args" @&gt; $48) AND (NOT (ss0."args" @&gt; $49) AND (NOT (ss0."args" @&gt; $50) AND (NOT (ss0."args" @&gt; $51) AND (NOT (ss0."args" @&gt; $52) AND (NOT (ss0."args" @&gt; $53) AND (NOT (ss0."args" @&gt; $54) AND (NOT (ss0."args" @&gt; $55) AND (NOT (ss0."args" @&gt; $56) AND (NOT (ss0."args" @&gt; $57) AND (NOT (ss0."args" @&gt; $58) AND (NOT (ss0."args" @&gt; $59) AND (NOT (ss0."args" @&gt; $60) AND (NOT (ss0."args" @&gt; $61) AND (NOT (ss0."args" @&gt; $62) AND (NOT (ss0."args" @&gt; $63) AND (NOT (ss0."args" @&gt; $64) AND (NOT (ss0."args" @&gt; $65) AND (NOT (ss0."args" @&gt; $66) AND (NOT (ss0."args" @&gt; $67) AND (NOT (ss0."args" @&gt; $68) AND (NOT (ss0."args" @&gt; $69) AND (NOT (ss0."args" @&gt; $70) AND (NOT (ss0."args" @&gt; $71) AND (NOT (ss0."args" @&gt; $72) AND (NOT (ss0."args" @&gt; $73) AND (NOT (ss0."args" @&gt; $74) AND (NOT (ss0."args" @&gt; $75) AND (NOT (ss0."args" @&gt; $76) AND (NOT (ss0."args" @&gt; $77) AND (NOT (ss0."args" @&gt; $78) AND (NOT (ss0."args" @&gt; $79) AND (NOT (ss0."args" @&gt; $80) AND (NOT (ss0."args" @&gt; $81) AND (NOT (ss0."args" @&gt; $82) AND (NOT (ss0."args" @&gt; $83) AND (NOT (ss0."args" @&gt; $84) AND (NOT (ss0."args" @&gt; $85) AND (NOT (ss0."args" @&gt; $86) AND (NOT (ss0."args" @&gt; $87) AND (NOT (ss0."args" @&gt; $88) AND (NOT (ss0."args" @&gt; $89) AND (NOT (ss0."args" @&gt; $90) AND (NOT (ss0."args" @&gt; $91) AND (NOT (ss0."args" @&gt; $92) AND (NOT (ss0."args" @&gt; $93) AND (NOT (ss0."args" @&gt; $94) AND (NOT (ss0."args" @&gt; $95) AND (NOT (ss0."args" @&gt; $96) AND (NOT (ss0."args" @&gt; $97) AND (NOT (ss0."args" @&gt; $98) AND (NOT (ss0."args" @&gt; $99) AND (NOT (ss0."args" @&gt; $100) AND (NOT (ss0."args" @&gt; $101) AND (NOT (ss0."args" @&gt; $102) AND (NOT (ss0."args" @&gt; $103) AND (NOT (ss0."args" @&gt; $104) AND (NOT (ss0."args" @&gt; $105) AND (NOT (ss0."args" @&gt; $106) AND (NOT (ss0."args" @&gt; $107) AND (NOT (ss0."args" @&gt; $108) AND (NOT (ss0."args" @&gt; $109) AND (NOT (ss0."args" @&gt; $110) AND (NOT (ss0."args" @&gt; $111) AND (NOT (ss0."args" @&gt; $112) AND (NOT (ss0."args" @&gt; $113) AND (NOT (ss0."args" @&gt; $114) AND (NOT (ss0."args" @&gt; $115) AND (NOT (ss0."args" @&gt; $116) AND (NOT (ss0."args" @&gt; $117) AND (NOT (ss0."args" @&gt; $118) AND (NOT (ss0."args" @&gt; $119) AND (NOT (ss0."args" @&gt; $120) AND (NOT (ss0."args" @&gt; $121) AND (NOT (ss0."args" @&gt; $122) AND (NOT (ss0."args" @&gt; $123) AND (NOT (ss0."args" @&gt; $124) AND (ss0."rank" &lt;= $125))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) ORDER BY ss0."priority", ss0."scheduled_at", ss0."id" LIMIT $126) UPDATE "public"."oban_jobs" AS o0 SET "state" = $127, "attempted_at" = $128, "attempted_by" = $129, "attempt" = o0."attempt" + $130 FROM "subset" AS f1 WHERE (((o0."id" = f1."id") AND (o0."state" = 'available')) AND (o0."attempt" &lt; o0."max_attempts")) RETURNING o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at"
</code></pre>
<p>So I am wondering if the ratelimit feature was not designed to work with list type arguments or if there is a better way to ratelimit on this case?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="373949" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/oban-caching-ecto-statements-ets-table-memory-leak-oom/67593/18">Post #17</a>
	                </div>
	            </div>
              <div id="likers-container-373949" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="373949"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #17"></div>
  </section>
</div>
    <div class="postbit" id="373951" data-post-id="373951">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="sorentwo" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sorentwo/120/37360_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  sorentwo
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Oban Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="ataideal" data-post="18" data-topic="67593">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/ataideal/48/39114_2.png" class="avatar"> ataideal:</div>
<blockquote>
<p>So I am wondering if the ratelimit feature was not designed to work with list type arguments or if there is a better way to ratelimit on this case?</p>
</blockquote>
</aside>
<p>There were cardinality limitations for partitions prior to Pro v1.6. One of the primary improvements in v1.6 is how it handles these types of partitioned queries.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="373951" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/oban-caching-ecto-statements-ets-table-memory-leak-oom/67593/19">Post #18</a>
	                </div>
	            </div>
              <div id="likers-container-373951" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="373951"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #18"></div>
  </section>
</div>
    <div class="postbit" id="373952" data-post-id="373952">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Schultzer" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Schultzer/120/4339_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Schultzer
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>A simple solution to avoid this in the future would be to use a library that does not cache queries in ETS at all, e.g <a href="https://github.com/elixir-dbvisor/sql" class="inline-onebox" rel="noopener nofollow ugc">GitHub - elixir-dbvisor/sql: SQL provides state-of-the-art, high-performance SQL integration for Elixir, built to handle extreme concurrency with unmatched expressiveness and ergonomic query composition. Write safe, composable, parameterized queries directly, without translating to Ecto or any ORM. · GitHub</a></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="373952" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/oban-caching-ecto-statements-ets-table-memory-leak-oom/67593/20">Post #19</a>
	                </div>
	            </div>
              <div id="likers-container-373952" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="373952"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #19"></div>
  </section>
</div>
    <div class="postbit" id="373958" data-post-id="373958">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="sorentwo" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sorentwo/120/37360_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  sorentwo
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Oban Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="Schultzer" data-post="20" data-topic="67593">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/schultzer/48/4339_2.png" class="avatar"> Schultzer:</div>
<blockquote>
<p>A simple solution to avoid this in the future would be to use a library that does not cache queries in ETS at all</p>
</blockquote>
</aside>
<p>That would avoid part of the problem, but not all of it. There’s a fundamental issue with that query structure because there’s a hard limit on the number of unions (and it doesn’t scale very well). That’s also entirely fixed with v1.6, it’s not just a fix for the caching side of things.</p>
<p>There’s also a benefit to using prepared queries, which require some element of caching to know what’s prepared.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="373958" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/oban-caching-ecto-statements-ets-table-memory-leak-oom/67593/21">Post #20</a>
	                </div>
	            </div>
              <div id="likers-container-373958" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="373958"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #20"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/67593/load_more?page=3">Load more posts</a>
</div></template></turbo-stream>